Merge pull request #16272 from jue89/fix/stm32_gpio_irq
cpu/stm32/gpio: fix IRQ handler
This commit is contained in:
commit
e04dd4dcce
@ -348,11 +348,14 @@ void isr_exti(void)
|
|||||||
|
|
||||||
uint32_t pending_isr = pending_rising_isr | pending_falling_isr;
|
uint32_t pending_isr = pending_rising_isr | pending_falling_isr;
|
||||||
#else
|
#else
|
||||||
/* only generate interrupts against lines which have their IMR set */
|
/* read all pending interrupts wired to isr_exti */
|
||||||
uint32_t pending_isr = (EXTI_REG_PR & EXTI_REG_IMR & EXTI_MASK);
|
uint32_t pending_isr = (EXTI_REG_PR & EXTI_MASK);
|
||||||
|
|
||||||
/* clear by writing a 1 */
|
/* clear by writing a 1 */
|
||||||
EXTI_REG_PR = pending_isr;
|
EXTI_REG_PR = pending_isr;
|
||||||
|
|
||||||
|
/* only generate soft interrupts against lines which have their IMR set */
|
||||||
|
pending_isr &= EXTI_REG_IMR;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* iterate over all set bits */
|
/* iterate over all set bits */
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user