Hi,
I have a requirement where I need to turn on/off GPIO interrupts during certain events in my application. Requirement is to monitor both Falling/Rising edges when this interrupt is enabled.
Each time GPIO interrupt is enabled in IO0IntEnR/IO0InENF register, I get one Rising/Falling edge interrupt trigger even though there is no transition in the input after which interrupt works as expected.
Any pointers on what could be the reason for this behavior?
Regards, Sam
Most likely you disabled only the interrupt itself, but not its source. So edges that arrived while interrupts were off may still be pending handling by the interrupt.
You may be better off leaving the interrupt enable flags alone, and disabling the actual edge detector instead.
Clear pending interrupts before enabling interrupts.
View all questions in Keil forum