Hallo, mein EXIT0 auf PA0 wird stets doppelt ausgeführt. Woran kann das liegen?
1 | EXTI->IMR |= EXTI_IMR_MR0; //Interrupt |
2 | EXTI->FTSR |= EXTI_FTSR_TR0; //fallende Flanke |
3 | EXTI->PR |= EXTI_PR_PR0; //Pending löschen |
4 | NVIC->ICPR[EXTI0_IRQn / 32] |= 1 << (EXTI0_IRQn % 32); |
5 | NVIC->ISER[EXTI0_IRQn / 32] |= 1 << (EXTI0_IRQn % 32); |
6 | NVIC->IP[EXTI0_IRQn / 4] |= (1 << 4) << (8 * (EXTI0_IRQn % 4)); |
7 | |
8 | void EXTI0_IRQHandler() { |
9 | EXTI->PR |= EXTI_PR_PR0; //pending löschen |
10 | |
11 | if (gpfIsr) { |
12 | gpfIsr(); |
13 | }
|
14 | }
|