cpu/stm32/gpio_exti: EXTI->PR is of type RW_w1 so don't RMW the pending status flags

pr/gpio
DipSwitch 8 years ago
parent 78136ff25f
commit d72cdcaad2

@ -207,7 +207,7 @@ void isr_exti(void)
uint32_t pending_isr = (EXTI->PR & EXTI->IMR);
for (int i = 0; i < EXTI_NUMOF; i++) {
if (pending_isr & (1 << i)) {
EXTI->PR |= (1 << i); /* clear by writing a 1 */
EXTI->PR = (1 << i); /* clear by writing a 1 */
exti_chan[i].cb(exti_chan[i].arg);
}
}

@ -204,7 +204,7 @@ void isr_exti(void)
uint32_t pending_isr = (EXTI->PR & EXTI->IMR);
for (unsigned i = 0; i < GPIO_ISR_CHAN_NUMOF; i++) {
if (pending_isr & (1 << i)) {
EXTI->PR |= (1 << i); /* clear by writing a 1 */
EXTI->PR = (1 << i); /* clear by writing a 1 */
exti_chan[i].cb(exti_chan[i].arg);
}
}

@ -208,7 +208,7 @@ void isr_exti(void)
uint32_t pending_isr = (EXTI->PR & EXTI->IMR);
for (int i = 0; i < GPIO_ISR_CHAN_NUMOF; i++) {
if (pending_isr & (1 << i)) {
EXTI->PR |= (1 << i); /* clear by writing a 1 */
EXTI->PR = (1 << i); /* clear by writing a 1 */
exti_chan[i].cb(exti_chan[i].arg);
}
}

Loading…
Cancel
Save