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?