Browse Source

Merge remote-tracking branch 'origin/MB'

Arnaud Vergnet 3 years ago
parent
commit
be4e10b063
6 changed files with 216 additions and 165 deletions
  1. 33
    0
      MyDrivers/GPIO.c
  2. 19
    0
      MyDrivers/GPIO.h
  3. 39
    39
      MyDrivers/Timer.c
  4. 39
    39
      MyDrivers/Timer.h
  5. 68
    69
      Services/Chrono.c
  6. 18
    18
      Services/Chrono.h

+ 33
- 0
MyDrivers/GPIO.c View File

@@ -1,2 +1,35 @@
1 1
 #include "GPIO.h"
2
+#include "stm32f1xx_ll_gpio.h"
2 3
 
4
+void GPIO_conf(GPIO_TypeDef * GPIOx, uint32_t PINx, uint32_t mode, uint32_t outputType, uint32_t pullMode){
5
+	
6
+	LL_GPIO_InitTypeDef init;
7
+	
8
+	//Activation de l'horloge
9
+	if (GPIOx == GPIOA) LL_APB2_GRP1_EnableClock(LL_APB2_GRP1_PERIPH_GPIOA);
10
+	else if (GPIOx == GPIOB) LL_APB2_GRP1_EnableClock(LL_APB2_GRP1_PERIPH_GPIOB);
11
+	else if (GPIOx == GPIOC) LL_APB2_GRP1_EnableClock(LL_APB2_GRP1_PERIPH_GPIOC);
12
+	else if (GPIOx == GPIOD) LL_APB2_GRP1_EnableClock(LL_APB2_GRP1_PERIPH_GPIOD);
13
+	
14
+	//Configuration du PIN
15
+	LL_GPIO_StructInit(&init);
16
+	init.Pin = PINx;
17
+	init.Mode = mode;
18
+	//init.Speed = ;
19
+	init.OutputType = outputType;
20
+	init.Pull = pullMode;
21
+	LL_GPIO_Init(GPIOx, &init);
22
+}
23
+
24
+void GPIO_setPin(GPIO_TypeDef * GPIOx, uint32_t PINx, int output){
25
+	
26
+	if (output) LL_GPIO_SetOutputPin(GPIOx, PINx);
27
+	else LL_GPIO_ResetOutputPin(GPIOx,PINx);
28
+	
29
+};
30
+
31
+int GPIO_readPin(GPIO_TypeDef * GPIOx, uint32_t PINx){
32
+	
33
+	return LL_GPIO_IsOutputPinSet(GPIOx, PINx);
34
+	
35
+}

+ 19
- 0
MyDrivers/GPIO.h View File

@@ -1,4 +1,23 @@
1 1
 #ifndef GPIO_H
2 2
 #define GPIO_H
3 3
 
4
+#include "stm32f103xb.h"
5
+#include "stm32f1xx_ll_gpio.h"
6
+#include "stm32f1xx_ll_bus.h"
7
+
8
+
9
+/**
10
+	* @brief  Configure le GPIO considéré
11
+	* @note   
12
+	* @param  GPIO_TypeDef * GPIOx indique le GPIO à configurer : GPIOA, GPIOB, GPIOC ou GPIOD
13
+	uint32_t PINx indique le PIN à configurer, sous la forme LL_GPIO_PIN_x
14
+	Pour une liste des modes disponibles, consulter la librairie LL
15
+	* @retval None
16
+	*/
17
+void GPIO_conf(GPIO_TypeDef * GPIOx, uint32_t PINx, uint32_t mode, uint32_t outputType, uint32_t pullMode);
18
+
19
+void GPIO_setPin(GPIO_TypeDef * GPIOx, uint32_t PINx, int output);
20
+
21
+int GPIO_readPin(GPIO_TypeDef * GPIOx, uint32_t PINx);
22
+
4 23
 #endif

+ 39
- 39
MyDrivers/Timer.c View File

@@ -4,11 +4,11 @@
4 4
 
5 5
 
6 6
 /****************************************************************************
7
-  *																	INTERRUPTIONS
7
+	*																	INTERRUPTIONS
8 8
 	***************************************************************************/
9 9
 
10 10
 
11
-// variable pointeur de fonction permettant de mémoriser le callback à appeler depuis
11
+// variable pointeur de fonction permettant de m�moriser le callback � appeler depuis
12 12
 // le handler d'IT
13 13
 void (*it_callback_TIM1)(void); 
14 14
 void (*it_callback_TIM2)(void); 
@@ -47,10 +47,10 @@ void TIM4_IRQHandler(void)
47 47
 
48 48
 /**
49 49
 	* @brief  Autorise les interruptions
50
-  * @note   
51
-	* @param  TIM_TypeDef Timer : indique le timer à utiliser par le chronomètre, TIM1, TIM2, TIM3 ou TIM4
52
-  * @retval None
53
-  */
50
+	* @note   
51
+	* @param  TIM_TypeDef Timer : indique le timer � utiliser par le chronom�tre, TIM1, TIM2, TIM3 ou TIM4
52
+	* @retval None
53
+	*/
54 54
 void Timer_IT_enable(TIM_TypeDef * timer)
55 55
 {
56 56
 	LL_TIM_EnableIT_UPDATE(timer);
@@ -59,23 +59,23 @@ void Timer_IT_enable(TIM_TypeDef * timer)
59 59
 
60 60
 /**
61 61
 	* @brief  Interdit les interruptions
62
-  * @note   
63
-	* @param  TIM_TypeDef Timer : indique le timer à utiliser par le chronomètre, TIM1, TIM2, TIM3 ou TIM4
64
-  * @retval None
65
-  */
62
+	* @note   
63
+	* @param  TIM_TypeDef Timer : indique le timer � utiliser par le chronom�tre, TIM1, TIM2, TIM3 ou TIM4
64
+	* @retval None
65
+	*/
66 66
 void Timer_IT_disable(TIM_TypeDef * timer)
67 67
 {
68 68
 	LL_TIM_DisableIT_UPDATE(timer); 
69 69
 }
70 70
 
71 71
 /**
72
-	* @brief  Configure le Timer considéré en interruption sur débordement.
73
-  * @note   A ce stade, les interruptions ne sont pas validés (voir  MyTimer_IT_Enable )
74
-	* @param  TIM_TypeDef Timer : indique le timer à utiliser par le chronomètre, TIM1, TIM2, TIM3 ou TIM4
75
-	* 				void (*IT_function) (void) : nom (adresse) de la fonction à lancer sur interruption
76
-	*         int Prio : priorité associée à l'interruption
77
-  * @retval None
78
-  */
72
+	* @brief  Configure le Timer consid�r� en interruption sur d�bordement.
73
+	* @note   A ce stade, les interruptions ne sont pas valid�s (voir  MyTimer_IT_Enable )
74
+	* @param  TIM_TypeDef Timer : indique le timer � utiliser par le chronom�tre, TIM1, TIM2, TIM3 ou TIM4
75
+	* 				void (*IT_function) (void) : nom (adresse) de la fonction � lancer sur interruption
76
+	*         int Prio : priorit� associ�e � l'interruption
77
+	* @retval None
78
+	*/
79 79
 void Timer_IT_conf(TIM_TypeDef * timer, void (*it_callback) (void), int prio)
80 80
 {
81 81
 	// affectation de la fonction
@@ -85,7 +85,7 @@ void Timer_IT_conf(TIM_TypeDef * timer, void (*it_callback) (void), int prio)
85 85
 	else  it_callback_TIM4 = it_callback;
86 86
 
87 87
 	
88
-	// Blocage IT (il faudra la débloquer voir fct suivante)
88
+	// Blocage IT (il faudra la d�bloquer voir fct suivante)
89 89
 	LL_TIM_DisableIT_UPDATE(timer);
90 90
 	
91 91
 	// validation du canal NVIC
@@ -103,39 +103,39 @@ void Timer_IT_conf(TIM_TypeDef * timer, void (*it_callback) (void), int prio)
103 103
 }
104 104
 
105 105
 /****************************************************************************
106
-  *																	TIMER
106
+	*																	TIMER
107 107
 	***************************************************************************/
108 108
 
109 109
 /**
110
-	* @brief  Démarre le timer considéré et active les interruptions
111
-  * @note   
112
-	* @param  TIM_TypeDef Timer : indique le timer à utiliser par le chronomètre, TIM1, TIM2, TIM3 ou TIM4
113
-  * @retval None
114
-  */
110
+	* @brief  D�marre le timer consid�r� et active les interruptions
111
+	* @note   
112
+	* @param  TIM_TypeDef Timer : indique le timer � utiliser par le chronom�tre, TIM1, TIM2, TIM3 ou TIM4
113
+	* @retval None
114
+	*/
115 115
 void Timer_start(TIM_TypeDef * timer)
116 116
 {
117 117
 	LL_TIM_EnableCounter(timer);
118 118
 }
119 119
 
120 120
 /**
121
-	* @brief  Arrêt le timer considéré  et désactive les interruptions
122
-  * @note   
123
-	* @param  TIM_TypeDef Timer : indique le timer à utiliser par le chronomètre, TIM1, TIM2, TIM3 ou TIM4
124
-  * @retval None
125
-  */
121
+	* @brief  Arr�t le timer consid�r�  et d�sactive les interruptions
122
+	* @note   
123
+	* @param  TIM_TypeDef Timer : indique le timer � utiliser par le chronom�tre, TIM1, TIM2, TIM3 ou TIM4
124
+	* @retval None
125
+	*/
126 126
 void Timer_stop(TIM_TypeDef * timer)
127 127
 {
128 128
 	LL_TIM_DisableCounter(timer);
129 129
 }
130 130
 
131 131
 /**
132
-	* @brief  Active l'horloge et règle l'ARR et le PSC du timer visé.
133
-  * @note   Fonction à lancer avant toute autre. Le timer n'est pas encore lancé (voir Timer_start)
134
-	* @param  TIM_TypeDef Timer : indique le timer à utiliser par le chronomètre, TIM1, TIM2, TIM3 ou TIM4
135
-	* 				int Arr   : valeur à placer dans ARR
136
-	*					int Psc   : valeur à placer dans PSC
137
-  * @retval None
138
-  */
132
+	* @brief  Active l'horloge et r�gle l'ARR et le PSC du timer vis�.
133
+	* @note   Fonction � lancer avant toute autre. Le timer n'est pas encore lanc� (voir Timer_start)
134
+	* @param  TIM_TypeDef Timer : indique le timer � utiliser par le chronom�tre, TIM1, TIM2, TIM3 ou TIM4
135
+	* 				int Arr   : valeur � placer dans ARR
136
+	*					int Psc   : valeur � placer dans PSC
137
+	* @retval None
138
+	*/
139 139
 void Timer_conf(TIM_TypeDef * timer, int arr, int psc)
140 140
 {
141 141
 	LL_TIM_InitTypeDef init_struct;
@@ -163,12 +163,12 @@ void Timer_conf(TIM_TypeDef * timer, int arr, int psc)
163 163
 }
164 164
 
165 165
 /****************************************************************************
166
-  *																	PWM INPUT
166
+	*																	PWM INPUT
167 167
 	***************************************************************************/
168 168
 
169 169
 
170 170
 /****************************************************************************
171
-  *																	PWM OUTPUT
171
+	*																	PWM OUTPUT
172 172
 	***************************************************************************/
173 173
 
174 174
 int getArrFromFreq(float freq)
@@ -218,7 +218,7 @@ float Timer_pwmo_getDutyCycle(TIM_TypeDef * timer, int channel)
218 218
 }
219 219
 
220 220
 /****************************************************************************
221
-  *																ENCODER
221
+	*																ENCODER
222 222
 	***************************************************************************/
223 223
 
224 224
 void Timer_encoder_conf(TIM_TypeDef * timer)

+ 39
- 39
MyDrivers/Timer.h View File

@@ -11,7 +11,7 @@ enum CounterDirection {
11 11
 
12 12
 
13 13
 /****************************************************************************
14
-  *																	INTERRUPTIONS
14
+	*																	INTERRUPTIONS
15 15
 	***************************************************************************/
16 16
 
17 17
 void Timer_IT_enable(TIM_TypeDef * timer);
@@ -22,41 +22,41 @@ void Timer_IT_conf(TIM_TypeDef * timer, void (*it_callback) (void), int prio);
22 22
 
23 23
 
24 24
 /****************************************************************************
25
-  *																	TIMER
25
+	*																	TIMER
26 26
 	***************************************************************************/
27 27
 
28 28
 
29 29
 /**
30
-	* @brief  Active l'horloge et règle l'ARR et le PSC du timer visé
31
-  * @note   Fonction à lancer avant toute autre. Le timer n'est pas encore lancé (voir MyTimerStart)
32
-	* @param  TIM_TypeDef Timer : indique le timer à utiliser par le chronomètre, TIM1, TIM2, TIM3 ou TIM4
33
-	* 				int Arr   : valeur à placer dans ARR
34
-	*					int Psc   : valeur à placer dans PSC
35
-  * @retval None
36
-  */
30
+	* @brief  Active l'horloge et r�gle l'ARR et le PSC du timer vis�
31
+	* @note   Fonction � lancer avant toute autre. Le timer n'est pas encore lanc� (voir MyTimerStart)
32
+	* @param  TIM_TypeDef Timer : indique le timer � utiliser par le chronom�tre, TIM1, TIM2, TIM3 ou TIM4
33
+	* 				int Arr   : valeur � placer dans ARR
34
+	*					int Psc   : valeur � placer dans PSC
35
+	* @retval None
36
+	*/
37 37
 void Timer_conf(TIM_TypeDef * timer, int arr, int psc);
38 38
 
39 39
 
40 40
 /**
41
-	* @brief  Démarre le timer considéré
42
-  * @note   
43
-	* @param  TIM_TypeDef Timer : indique le timer à utiliser par le chronomètre, TIM1, TIM2, TIM3 ou TIM4
44
-  * @retval None
45
-  */
41
+	* @brief  D�marre le timer consid�r�
42
+	* @note   
43
+	* @param  TIM_TypeDef Timer : indique le timer � utiliser par le chronom�tre, TIM1, TIM2, TIM3 ou TIM4
44
+	* @retval None
45
+	*/
46 46
 void Timer_start(TIM_TypeDef * timer);
47 47
 
48 48
 
49 49
 /**
50
-	* @brief  Arrêt le timer considéré
51
-  * @note   
52
-	* @param  TIM_TypeDef Timer : indique le timer à utiliser par le chronomètre, TIM1, TIM2, TIM3 ou TIM4
53
-  * @retval None
54
-  */
50
+	* @brief  Arr�t le timer consid�r�
51
+	* @note   
52
+	* @param  TIM_TypeDef Timer : indique le timer � utiliser par le chronom�tre, TIM1, TIM2, TIM3 ou TIM4
53
+	* @retval None
54
+	*/
55 55
 void Timer_stop(TIM_TypeDef * timer);
56 56
 
57 57
 
58 58
 /****************************************************************************
59
-  *																PWM INPUT
59
+	*																PWM INPUT
60 60
 	***************************************************************************/
61 61
 
62 62
 void PWMi_conf(TIM_TypeDef * timer, int channel);
@@ -64,25 +64,25 @@ void PWMi_conf(TIM_TypeDef * timer, int channel);
64 64
 int PWMi_getDutyCycle(TIM_TypeDef * timer, int channel);
65 65
 
66 66
 /****************************************************************************
67
-  *																PWM OUTPUT
67
+	*																PWM OUTPUT
68 68
 	***************************************************************************/
69 69
 
70 70
 /**
71
-	* @brief  Configure le timer en mode PWM output à la fréquence donnée
71
+	* @brief  Configure le timer en mode PWM output � la fr�quence donn�e
72 72
   * @note   
73
-	* @param  TIM_TypeDef Timer : indique le timer à utiliser : TIM1, TIM2, TIM3 ou TIM4
74
-	*					int channel 			: Le channel utilisé par la PWM
75
-	*					float freq  			: Fréquence en Hz (entre 2Hz et pas trop grand svp)
73
+	* @param  TIM_TypeDef Timer : indique le timer � utiliser : TIM1, TIM2, TIM3 ou TIM4
74
+	*					int channel 			: Le channel utilis� par la PWM
75
+	*					float freq  			: Fr�quence en Hz (entre 2Hz et pas trop grand svp)
76 76
 	*					float dutyCycle 	: Valeur entre 0 et 1
77 77
   * @retval None
78 78
   */
79 79
 void Timer_pwmo_conf(TIM_TypeDef * timer, int channel, float freq, float dutyCycle);
80 80
 
81 81
 /**
82
-	* @brief  Modifie la fréquence des PWMs associées au timer donné
82
+	* @brief  Modifie la fr�quence des PWMs associ�es au timer donn�
83 83
   * @note   
84
-	* @param  TIM_TypeDef Timer : indique le timer à utiliser : TIM1, TIM2, TIM3 ou TIM4
85
-	*					float freq  			: Fréquence en Hz (entre 2Hz et pas trop grand svp)
84
+	* @param  TIM_TypeDef Timer : indique le timer � utiliser : TIM1, TIM2, TIM3 ou TIM4
85
+	*					float freq  			: Fr�quence en Hz (entre 2Hz et pas trop grand svp)
86 86
   * @retval None
87 87
   */
88 88
 void Timer_pwmo_setFreq(TIM_TypeDef * timer, float freq);
@@ -90,46 +90,46 @@ void Timer_pwmo_setFreq(TIM_TypeDef * timer, float freq);
90 90
 /**
91 91
 	* @brief  Modifie le duty cycle de la PWM
92 92
   * @note   
93
-	* @param  TIM_TypeDef Timer : indique le timer à utiliser : TIM1, TIM2, TIM3 ou TIM4
94
-	*					int channel 			: Le channel utilisé par la PWM
93
+	* @param  TIM_TypeDef Timer : indique le timer � utiliser : TIM1, TIM2, TIM3 ou TIM4
94
+	*					int channel 			: Le channel utilis� par la PWM
95 95
 	*					float dutyCycle 	: Valeur entre 0 et 1
96 96
   * @retval None
97 97
   */
98 98
 void Timer_pwmo_setDutyCycle(TIM_TypeDef * timer, int channel, float dutyCycle);
99 99
 
100 100
 /**
101
-	* @brief  Récupère le duty cycle de la PWM
101
+	* @brief  R�cup�re le duty cycle de la PWM
102 102
   * @note   
103
-	* @param  TIM_TypeDef Timer : indique le timer à utiliser : TIM1, TIM2, TIM3 ou TIM4
104
-	*					int channel 			: Le channel utilisé par la PWM
103
+	* @param  TIM_TypeDef Timer : indique le timer � utiliser : TIM1, TIM2, TIM3 ou TIM4
104
+	*					int channel 			: Le channel utilis� par la PWM
105 105
   * @retval float dutyCycle
106 106
   */
107 107
 float Timer_pwmo_getDutyCycle(TIM_TypeDef * timer, int channel);
108 108
 
109 109
 /****************************************************************************
110
-  *																ENCODER
110
+	*																ENCODER
111 111
 	***************************************************************************/
112 112
 
113 113
 /**
114 114
 	* @brief  Configure le timer en mode encoder
115 115
   * @note   
116
-	* @param  TIM_TypeDef Timer : indique le timer à utiliser : TIM1, TIM2, TIM3 ou TIM4
116
+	* @param  TIM_TypeDef Timer : indique le timer � utiliser : TIM1, TIM2, TIM3 ou TIM4
117 117
   * @retval None
118 118
   */
119 119
 void Timer_encoder_conf(TIM_TypeDef * timer);
120 120
 
121 121
 /**
122
-	* @brief  Récupère l'angle, en degrès
122
+	* @brief  R�cup�re l'angle, en degr�s
123 123
   * @note   
124
-	* @param  TIM_TypeDef Timer : indique le timer à utiliser : TIM1, TIM2, TIM3 ou TIM4
124
+	* @param  TIM_TypeDef Timer : indique le timer � utiliser : TIM1, TIM2, TIM3 ou TIM4
125 125
   * @retval None
126 126
   */
127 127
 int Timer_encoder_getAngle(TIM_TypeDef * timer);
128 128
 
129 129
 /**
130
-	* @brief  Récupère la direction
130
+	* @brief  R�cup�re la direction
131 131
   * @note   
132
-	* @param  TIM_TypeDef Timer : indique le timer à utiliser : TIM1, TIM2, TIM3 ou TIM4
132
+	* @param  TIM_TypeDef Timer : indique le timer � utiliser : TIM1, TIM2, TIM3 ou TIM4
133 133
   * @retval None
134 134
   */
135 135
 enum CounterDirection Timer_encoder_getDirection(TIM_TypeDef * timer);

+ 68
- 69
Services/Chrono.c View File

@@ -21,110 +21,109 @@ static TIM_TypeDef * Chrono_Timer=TIM1; // init par d
21 21
 void Chrono_Task_10ms(void);
22 22
 
23 23
 /**
24
-	* @brief  Configure le chronomètre. 
25
-  * @note   A lancer avant toute autre fonction.
26
-	* @param  Timer : indique le timer à utiliser par le chronomètre, TIM1, TIM2, TIM3 ou TIM4
27
-  * @retval None
28
-  */
24
+* @brief  Configure le chronomètre. 
25
+* @note   A lancer avant toute autre fonction.
26
+* @param  Timer : indique le timer à utiliser par le chronomètre, TIM1, TIM2, TIM3 ou TIM4
27
+* @retval None
28
+*/
29 29
 void Chrono_Conf(TIM_TypeDef * Timer)
30 30
 {
31
-	// Reset Time
32
-	Chrono_Time.Hund = 0;
33
-	Chrono_Time.Sec = 0;
34
-	Chrono_Time.Min = 0;
35
-	
36
-	// Fixation du Timer
37
-	Chrono_Timer = Timer;
38
-
39
-	// Réglage Timer pour un débordement à 10ms
40
-	Timer_conf(Chrono_Timer, 999, 719);
41
-	
42
-	// Réglage des interruptions
43
-	Timer_IT_conf(Chrono_Timer, Chrono_Task_10ms, 3);
44
-	Timer_IT_enable(Chrono_Timer);
31
+// Reset Time
32
+Chrono_Time.Hund = 0;
33
+Chrono_Time.Sec = 0;
34
+Chrono_Time.Min = 0;
35
+
36
+// Fixation du Timer
37
+Chrono_Timer = Timer;
38
+
39
+// Réglage Timer pour un débordement à 10ms
40
+Timer_conf(Chrono_Timer, 999, 719);
41
+
42
+// Réglage des interruptions
43
+Timer_IT_conf(Chrono_Timer, Chrono_Task_10ms, 3);
44
+Timer_IT_enable(Chrono_Timer);
45 45
 }
46 46
 
47 47
 
48 48
 /**
49
-	* @brief  Démarre le chronomètre. 
50
-  * @note   si la durée dépasse 59mn 59sec 99 Hund, elle est remise à zéro et repart
51
-	* @param  Aucun
52
-  * @retval Aucun
53
-  */
49
+* @brief  Démarre le chronomètre. 
50
+* @note   si la durée dépasse 59mn 59sec 99 Hund, elle est remise à zéro et repart
51
+* @param  Aucun
52
+* @retval Aucun
53
+*/
54 54
 void Chrono_Start(void)
55 55
 {
56
-	Timer_start(Chrono_Timer);
56
+Timer_start(Chrono_Timer);
57 57
 }
58 58
 
59 59
 
60 60
 /**
61
-	* @brief  Arrête le chronomètre. 
62
-  * @note   
63
-	* @param  Aucun
64
-  * @retval Aucun
65
-  */
61
+* @brief  Arrête le chronomètre. 
62
+* @note   
63
+* @param  Aucun
64
+* @retval Aucun
65
+*/
66 66
 void Chrono_Stop(void)
67 67
 {
68
-	Timer_stop(Chrono_Timer);
68
+Timer_stop(Chrono_Timer);
69 69
 }
70 70
 
71 71
 
72 72
 /**
73
-	* @brief  Remet le chronomètre à 0 
74
-  * @note   
75
-	* @param  Aucun
76
-  * @retval Aucun
77
-  */
73
+* @brief  Remet le chronomètre à 0 
74
+* @note   
75
+* @param  Aucun
76
+* @retval Aucun
77
+*/
78 78
 void Chrono_Reset(void)
79 79
 {
80
-  // Arrêt Chrono
81
-	Timer_stop(Chrono_Timer);
80
+// Arrêt Chrono
81
+Timer_stop(Chrono_Timer);
82 82
 
83
-	// Reset Time
84
-	Chrono_Time.Hund=0;
85
-	Chrono_Time.Sec=0;
86
-	Chrono_Time.Min=0;
83
+// Reset Time
84
+Chrono_Time.Hund=0;
85
+Chrono_Time.Sec=0;
86
+Chrono_Time.Min=0;
87 87
 }
88 88
 
89 89
 
90 90
 /**
91
-	* @brief  Renvoie l'adresse de la variable Time privée gérée dans le module Chrono.c
92
-  * @note   
93
-	* @param  Aucun
94
-  * @retval adresse de la variable Time
95
-  */
91
+* @brief  Renvoie l'adresse de la variable Time privée gérée dans le module Chrono.c
92
+* @note   
93
+* @param  Aucun
94
+* @retval adresse de la variable Time
95
+*/
96 96
 Time * Chrono_Read(void)
97 97
 {
98
-	return &Chrono_Time;
98
+return &Chrono_Time;
99 99
 }
100 100
 
101 101
 
102 102
 
103 103
 
104 104
 /**
105
-	* @brief  incrémente la variable privée Chron_Time modulo 60mn 
106
-  * @note   
107
-	* @param  Aucun
108
-  * @retval Aucun
109
-  */
105
+* @brief  incrémente la variable privée Chron_Time modulo 60mn 
106
+* @note   
107
+* @param  Aucun
108
+* @retval Aucun
109
+*/
110 110
 void Chrono_Task_10ms(void)
111 111
 { 
112
-	Chrono_Time.Hund++;
113
-	if (Chrono_Time.Hund==100)
114
-	{
115
-		Chrono_Time.Sec++;
116
-		Chrono_Time.Hund=0;
117
-	}
118
-	if (Chrono_Time.Sec==60)
119
-	{
120
-		Chrono_Time.Min++;
121
-		Chrono_Time.Sec=0;
122
-	}
123
-	if (Chrono_Time.Min==60)
124
-	{
125
-		Chrono_Time.Hund=0;
126
-	}
127
-	
112
+Chrono_Time.Hund++;
113
+if (Chrono_Time.Hund==100)
114
+{
115
+Chrono_Time.Sec++;
116
+Chrono_Time.Hund=0;
117
+}
118
+if (Chrono_Time.Sec==60)
119
+{
120
+Chrono_Time.Min++;
121
+Chrono_Time.Sec=0;
122
+}
123
+if (Chrono_Time.Min==60)
124
+{
125
+Chrono_Time.Hund=0;
128 126
 }
129 127
 
128
+}
130 129
 

+ 18
- 18
Services/Chrono.h View File

@@ -30,10 +30,10 @@ Les fonctions qui g
30 30
 
31 31
 /**
32 32
 	* @brief  polle les 3 entrées et gènère les actions à faire
33
-  * @note   Fct à lancer en tâche de fond (non bloquante)
33
+	* @note   Fct à lancer en tâche de fond (non bloquante)
34 34
 	* @param  None 
35
-  * @retval None
36
-  */
35
+	* @retval None
36
+	*/
37 37
 		
38 38
 void Chrono_Background(void);
39 39
 
@@ -55,10 +55,10 @@ typedef struct {
55 55
 
56 56
 /**
57 57
 	* @brief  Configure le chronomètre. 
58
-  * @note   A lancer avant toute autre fonction.
58
+	* @note   A lancer avant toute autre fonction.
59 59
 	* @param  TIM_TypeDef Timer : indique le timer à utiliser par le chronomètre, TIM1, TIM2, TIM3 ou TIM4
60
-  * @retval None
61
-  */
60
+	* @retval None
61
+	*/
62 62
 void Chrono_Conf(TIM_TypeDef * Timer);
63 63
 
64 64
 
@@ -68,37 +68,37 @@ void Chrono_Conf(TIM_TypeDef * Timer);
68 68
 
69 69
 /**
70 70
 	* @brief  Démarre le chronomètre. 
71
-  * @note   si la durée dépasse 59mn 59sec 99 cent, elle est remise à zéro et repart
71
+	* @note   si la durée dépasse 59mn 59sec 99 cent, elle est remise à zéro et repart
72 72
 	* @param  Aucun
73
-  * @retval Aucun
74
-  */
73
+	* @retval Aucun
74
+	*/
75 75
 void Chrono_Start(void);
76 76
 
77 77
 
78 78
 /**
79 79
 	* @brief  Arrête le chronomètre. 
80
-  * @note   
80
+	* @note   
81 81
 	* @param  Aucun
82
-  * @retval Aucun
83
-  */
82
+	* @retval Aucun
83
+	*/
84 84
 void Chrono_Stop(void);
85 85
 
86 86
 
87 87
 /**
88 88
 	* @brief  Remet le chronomètre à 0 
89
-  * @note   
89
+	* @note   
90 90
 	* @param  Aucun
91
-  * @retval Aucun
92
-  */
91
+	* @retval Aucun
92
+	*/
93 93
 void Chrono_Reset(void);
94 94
 
95 95
 
96 96
 /**
97 97
 	* @brief  Renvoie l'adresse de la variable Time privée gérée dans le module Chrono.c
98
-  * @note   
98
+	* @note   
99 99
 	* @param  Aucun
100
-  * @retval adresse de la variable Time
101
-  */
100
+	* @retval adresse de la variable Time
101
+	*/
102 102
 Time * Chrono_Read(void);
103 103
 
104 104
 

Loading…
Cancel
Save