Hey,
I am trying to set up an application that generates interrupts on a total of 11 buttons. Setup is pretty straigt forward, for which I use the following functions for each of the pins:
gpio_pin_configure_dt();
gpio_pin_interrupt_configure_dt();
However, as is documented in the API reference for GPIOTE, the maximum number of interrupts is 8. Thus, it starts giving back errors when the number of interrupts configured is greater than 8.
In past topics I have read that there is multiple ways to setup interrupts. This way described above is by making use of a high_accuracy mode on individual pins. But that there is a way to opt out of that and generate some sort of 'Port Event', in which an interrupt is generated on multiple pins that have sense enabled?
If I understand correctly, on each individual pin there is a configuration setting [6.8.2.10 PIN_CNF[n] (n=0..31)] where E can be set to 2 or 3, sensing high or low levels (what does 1 do?). Then changing setting [DETECTMODE] allows to change between detecting pin changes or changes in the [LATCH] register, whatever pins have been latched with value '1'. Where is the api for this operation mode documented?
I am develiping in Zephyr with Nordic Connect SDK v1.9.1 on the nrf52833DK.
Cheers