Page 1 of 1

Interrupts / ISR behavior

Posted: Sat Feb 19, 2022 12:33 pm
by Tanguy
If an interrupt is raised while an ISR is running, will it call another ISR as soon as the one currently running return? i.e. are they stacking? Or will it be ignored?

In my code I get an edge-triggered interrupt that sometimes is not cleared properly. In fact maybe it's cleared but the next one is raised before the ISR exits causing the flag to be permanently set?

IRAM_ATTR void myISR(void *arg){
REG_SET_BIT(INT_CLR_REGISTER, MY_INTERRUPT);
// Here the interrupt is triggered without calling another ISR because already inside one?
}

If anyone has some insight on the expected behavior of interrupts / clearance / ISR stacking please share.