Hi Everyone.
We need to trigger some actions in our code based on a GPIO (configured as an input) toggling and sending an interrupt to the MCU. We have followed the documentation on how to configure the interrupts to trigger when the MCU detects a rising edge on a GPIO pin. However, the system is sending multiple/thousands of interrupts whenever the GPIO is high (as opposed to sending just a single one when the GPIO transitions from low to high).
We ran a couple tests:
1. We set the interrupts to happen on a rising edge. We then sent the GPIO a constant 1 (3.3V). We expected there to be no interrupts sent since the input has no rising edges (flat 1 signal), but instead we are receiving constant interrupts that never stop. We are using GPIO23.
2. We sent the GPIO a low frequency square wave. After we sent 50 rising edges into the 4020, we received over 2000 interrupts. We confirmed on a logic analyzer that we indeed only sent 50 rising edges.
Has anyone seen this issue before? Any ideas for what to try?
Thank you.
Instead of rising edge, can you try to set trigger type as dual-edge (QAPI_GPIOINT_TRIGGER_EDGE_DUAL_E) and try this? If you face any issues, please raise a case on https://createpoint.qti.qualcomm.com/ since you folks are already enabled in the createpoint system.
Thank you for your reply Manjula. Still waiting for the project to be properly setup in createpoint, so we can't file cases yet.
Is there an issue with using only rising edge?