From: Rick Armstrong <rick@ra...> - 2012-09-06 22:41:11
In the Robovero source and in the CMSIS library sample code, there are
examples showing how to set up an interrupt handler for the EINTx pins.
There's already an entry in the Vector Table section in startup.c:
IntHandler, /* 33 Real-time clock */
IntHandler, /* 34 External Interrupt 0 */
IntHandler, /* 35 External Interrupt 1 */
IntHandler, /* 36 External Interrupt 2 */
IntHandler, /* 37 External Interrupt 3 */
The LPC17xx data sheet (section 7.7.2) says that "Any pin on Port 0 and
Port 2 (total of 42 pins) regardless of the selected function, can be
programmed to generate an interrupt on a rising edge, a falling edge, or
On the Robovero, the EINTx pins are all used up, so I'd like to use
another pin say, pin 2.3 ("P2_3" on the header). I can figure out how to
enable the interrupt for pin 2.3, but how do I specify the interrupt
handler? I think I'm missing something fundamental here.
Thanks in advance,
From: Rick Armstrong <rick@ra...> - 2012-09-07 00:30:12
Ok, answered my own question (turns out that the LPC17xx User Manual is
excellent reading :)
>From the Manual:
"Note: EINT3 channel is shared with GPIO interrupts."
So, if you enable interrupts for any of the GPIO pins, your EINT3 handler
checks the Interrupt Active Bit Register to get the source of the interrupt
(see Table 60 in the manual for bit definitions).
View this message in context: http://gumstix.8.n6.nabble.com/Robovero-Setting-up-an-ISR-for-P2-3-tp4965323p4965325.html
Sent from the Gumstix mailing list archive at Nabble.com.
Get latest updates about Open Source Projects, Conferences and News.