Hi everyone
On using the Adeneo BSP for AM335x I get the following when trying to use the GPIO interrupt:-
1. On detection of a falling edge, a GPIO interrupt fires.
2. The interrupt service routine (ISR) then masks the interrupt. This is to stop further interrupts on this pin. (the pin now has data on it but not interested in this and shouldn't interfere)
3. At the end of the ISR the interrupt is unmasked as the data will now be finished and not on the pin.
So far so good except when unmasking the interrupt, the interrupt fires again immediately. This interrupt is not wanted.
It seems to me that with the interrupt masked, any falling edge on the GPIO is still latched into the interrupt circuitry. When the interrupt is unmasked it fires straight away.
Anyone else seen this effect? We could get around it by putting in an extra piece of hardware (an AND gate) so that only the required falling edge reaches the pin. Whilst this should work I was wondering if there are any software fixes?
(I've tried clearing the IRQSTATUS_0 and IRQSTATUS_1 bits for this pin but it didn't seem to work)
Regards
Terry