21
21
/* Includes
22
22
* ------------------------------------------------------------------*/
23
23
#include "stm32f0xx_it.h"
24
-
25
24
#include "main.h"
26
- /* Private includes
27
- * ----------------------------------------------------------*/
28
- /* USER CODE BEGIN Includes */
25
+ #include "comparator.h"
29
26
#include "ADC.h"
30
- #include "common.h"
31
27
#include "targets.h"
32
- /* USER CODE END Includes */
33
-
34
- /* Private typedef
35
- * -----------------------------------------------------------*/
36
- /* USER CODE BEGIN TD */
37
-
38
- /* USER CODE END TD */
39
-
40
- /* Private define
41
- * ------------------------------------------------------------*/
42
- /* USER CODE BEGIN PD */
43
-
44
- /* USER CODE END PD */
45
-
46
- /* Private macro
47
- * -------------------------------------------------------------*/
48
- /* USER CODE BEGIN PM */
28
+ #include "common.h"
49
29
50
- /* USER CODE END PM */
51
30
52
- /* Private variables
53
- * ---------------------------------------------------------*/
54
- /* USER CODE BEGIN PV */
55
31
extern void sendDshotDma (void );
56
32
extern void receiveDshotDma (void );
57
33
extern void transfercomplete (void );
@@ -60,31 +36,9 @@ extern void PeriodElapsedCallback();
60
36
extern void tenKhzRoutine ();
61
37
extern char servoPwm ;
62
38
63
- // extern uint32_t gcr[];
64
- // extern uint8_t gcr_size;
65
39
int update_interupt = 0 ;
66
40
uint8_t update_count = 0 ;
67
41
uint16_t interrupt_time = 0 ;
68
- /* USER CODE END PV */
69
-
70
- /* Private function prototypes
71
- * -----------------------------------------------*/
72
- /* USER CODE BEGIN PFP */
73
-
74
- /* USER CODE END PFP */
75
-
76
- /* Private user code
77
- * ---------------------------------------------------------*/
78
- /* USER CODE BEGIN 0 */
79
-
80
- /* USER CODE END 0 */
81
-
82
- /* External variables
83
- * --------------------------------------------------------*/
84
-
85
- /* USER CODE BEGIN EV */
86
-
87
- /* USER CODE END EV */
88
42
89
43
/******************************************************************************/
90
44
/* Cortex-M0 Processor Interruption and Exception Handlers */
@@ -168,44 +122,14 @@ void SysTick_Handler(void)
168
122
*/
169
123
void DMA1_Channel2_3_IRQHandler (void )
170
124
{
171
- /* USER CODE BEGIN DMA1_Channel2_3_IRQn 0 */
172
- /* USER CODE BEGIN DMA1_Channel5_IRQn 0 */
173
- if (LL_DMA_IsActiveFlag_HT3 (DMA1 )) {
174
- if (servoPwm ) {
175
- LL_TIM_IC_SetPolarity (IC_TIMER_REGISTER , IC_TIMER_CHANNEL ,
176
- LL_TIM_IC_POLARITY_FALLING );
177
- LL_DMA_ClearFlag_HT3 (DMA1 );
178
- }
179
- }
180
125
if (LL_DMA_IsActiveFlag_TC3 (DMA1 ) == 1 ) {
181
126
LL_DMA_ClearFlag_GI3 (DMA1 );
182
-
183
127
LL_DMA_DisableChannel (DMA1 , LL_DMA_CHANNEL_3 );
184
128
transfercomplete ();
185
129
input_ready = 1 ;
186
130
} else if (LL_DMA_IsActiveFlag_TE3 (DMA1 ) == 1 ) {
187
131
LL_DMA_ClearFlag_GI3 (DMA1 );
188
132
}
189
- /* USER CODE END DMA1_Channel2_3_IRQn 0 */
190
- if (LL_DMA_IsActiveFlag_TC2 (DMA1 ) == 1 ) {
191
- /* Clear flag DMA global interrupt */
192
- /* (global interrupt flag: half transfer and transfer complete flags) */
193
- LL_DMA_ClearFlag_GI2 (DMA1 );
194
- ADC_DMA_Callback ();
195
- /* Call interruption treatment function */
196
- // AdcDmaTransferComplete_Callback();
197
- }
198
-
199
- /* Check whether DMA transfer error caused the DMA interruption */
200
- if (LL_DMA_IsActiveFlag_TE2 (DMA1 ) == 1 ) {
201
- /* Clear flag DMA transfer error */
202
- LL_DMA_ClearFlag_TE2 (DMA1 );
203
-
204
- /* Call interruption treatment function */
205
- }
206
- /* USER CODE BEGIN DMA1_Channel2_3_IRQn 1 */
207
-
208
- /* USER CODE END DMA1_Channel2_3_IRQn 1 */
209
133
}
210
134
211
135
/**
@@ -333,43 +257,18 @@ void TIM16_IRQHandler(void)
333
257
#endif
334
258
}
335
259
336
- // void EXTI0_1_IRQHandler(void){
337
- // if (LL_EXTI_IsActiveFlag_0_31(PHASE_B_LL_EXTI_LINE) != RESET){
338
- // LL_EXTI_ClearFlag_0_31(PHASE_B_LL_EXTI_LINE);
339
- //
340
- // interruptRoutine();
341
- //
342
- // }
343
- // if (LL_EXTI_IsActiveFlag_0_31(PHASE_A_LL_EXTI_LINE) != RESET)
344
- // {
345
- // LL_EXTI_ClearFlag_0_31(PHASE_A_LL_EXTI_LINE);
346
- //
347
- // interruptRoutine();
348
- //
349
- // }
350
- // }
351
260
352
261
void EXTI4_15_IRQHandler (void )
353
262
{
354
- if (LL_EXTI_IsActiveFlag_0_31 (PHASE_C_LL_EXTI_LINE ) != RESET ) {
355
- LL_EXTI_ClearFlag_0_31 (PHASE_C_LL_EXTI_LINE );
356
-
263
+ EXTI -> PR = current_EXTI_LINE ;
357
264
interruptRoutine ();
358
- }
359
265
}
360
266
361
267
// #ifdef BLUE_BOARD
362
268
void EXTI0_1_IRQHandler (void )
363
- { // interrupt_time = UTILITY_TIMER->CNT;
364
- if (LL_EXTI_IsActiveFlag_0_31 (LL_EXTI_LINE_0 ) != RESET ) {
365
- LL_EXTI_ClearFlag_0_31 (LL_EXTI_LINE_0 );
269
+ {
270
+ EXTI -> PR = current_EXTI_LINE ;
366
271
interruptRoutine ();
367
- }
368
- if (LL_EXTI_IsActiveFlag_0_31 (LL_EXTI_LINE_1 ) != RESET ) {
369
- LL_EXTI_ClearFlag_0_31 (LL_EXTI_LINE_1 );
370
- interruptRoutine ();
371
- }
372
- //
373
272
}
374
273
375
274
void EXTI2_3_IRQHandler (void )
@@ -383,20 +282,11 @@ void EXTI2_3_IRQHandler(void)
383
282
// #endif
384
283
void DMA1_Channel1_IRQHandler (void )
385
284
{
386
- if (LL_DMA_IsActiveFlag_HT1 (DMA1 )) {
387
- if (servoPwm ) {
388
- LL_TIM_IC_SetPolarity (IC_TIMER_REGISTER , IC_TIMER_CHANNEL ,
389
- LL_TIM_IC_POLARITY_FALLING );
390
- LL_DMA_ClearFlag_HT1 (DMA1 );
391
- }
392
- }
393
285
if (LL_DMA_IsActiveFlag_TC1 (DMA1 ) == 1 ) {
394
- LL_DMA_ClearFlag_GI1 (DMA1 );
395
-
396
- LL_DMA_DisableChannel (DMA1 , LL_DMA_CHANNEL_1 );
397
-
398
- transfercomplete ();
399
- input_ready = 1 ;
286
+ LL_DMA_ClearFlag_GI1 (DMA1 );
287
+ LL_DMA_DisableChannel (DMA1 , LL_DMA_CHANNEL_1 );
288
+ transfercomplete ();
289
+ // input_ready = 1;
400
290
} else if (LL_DMA_IsActiveFlag_TE1 (DMA1 ) == 1 ) {
401
291
LL_DMA_ClearFlag_GI1 (DMA1 );
402
292
}
0 commit comments