I’m trying to subscribe to rising edges on 8 GPIOs. I have found this online about the beaglebone (not black):
A maximum of 66 GPIO pins are accessible from the expansion header. All of these pins are 3.3V and can be configured as inputs or outputs. Any GPIO can be used as an interrupt and is limited to two interrupts per GPIO Bank for a maximum of eight pins as interrupts.
Is the same true for the BBB? I’ve not tried all the ports, but I’ve only been able to get 3 interrupts working so far. Furthermore, how are the pins banked? The reference manual is silent on this subject. I found a table on page 70-72, which groups the GPIOs under "Mode 7: as belonging to 0,1,2, or 3 – is this what is meant by different banks?
What are the limitations on interrupts for the BBB? Why is this nowhere mentioned (that I could find??)? Thanks!
Close, the BBB has 69 and it is 3.3V. You can get all the BBB information on the Wiki, including the SRM.
Interrupts are covered in the TRM for the processor. Pin muxing is also covered there. Banks mean pin mux modes.
The SRM does not reprint the datasheets and technical manual for the all the parts inside it. Sort of like a waste of time.
http://www.ti.com/product/am3358 for the TRM
Thanks for the reply.
So - is what I quoted earlier true with the BBB? That there can only be 2 interrupts per bank?
But on this page: http://beagleboard.org/Support/bone101, it says each GPIO pin can be used as an interrupt, in GPIO mode. “GPIO mode,” I’m guessing, is mode7? Do I just set all pins to mode7, and I can have as many interrupts as I want?
Right now, I’ve only found 3 pins that work as interrupts. The others do nothing when I signal them.
Sorry, I don’t really understand the TRM…it’s quite intimidating and confusing to me.
Thanks for your patience.
Every GPIO pin on the processor can be an interrupt. One per pin.
I understand the TRM can be daunting. But, that tells you what is what. Look in the pin muxing section and make sure every pin that you want to use is an interrupt is set to a GPIO and an input. If it isn’t both of these, it will not be able to act as an interrupt.