Noob here, I'm just starting out with the LPC2368 using the Keil
compiler
software. I've come from using Atmel chips and the way of defining
interrupts on
pins was somewhat easier...
I was wondering if anyone out there could give a short tutorial on how to
define
one of the GPIO pins, say P2.15 as a falling edge interrupt?
I've been beating my head against a wall trying to get it to work. The
manual
says it will work that way and I can't figure it out. Also, any examples on
the
internet are for P2.10 the pushbutton switch which can be defined as EINT0. I
got that example to work fine, but I want to know how to make a GPIO pin
interrupt on event.
Like I said I'm a noob to this chip so please be kind...
Thanks in advance!
LPC2368 GPIO Interrupts
Started by ●March 23, 2009
Reply by ●March 23, 20092009-03-23
Hi:
THe LPC2368 User Manual indicates the registers to enable the GPIO Interrupts (see Section 5.6 GPIO Interrupt Registers). Set the register that you need for your application (Port 2, pin 15)
Note that the GPIO Interrupt share the VIC Interrupt Vector with the EINT3. Therefore, you have to setup the EINT3 Vector as well. In the Interrupt Service Routine for EINT3, you have to read the GPIO registers to know which port and which pin interrupted (IOIntStatus first and then IOIntStatF for Port 2, and check for pin 15 status).
Regards,
Alex.
PS. Do not post more that one thread with the same message. Be patient when waiting for responses.
--- In l..., "da_fatkid" wrote:
>
> Noob here, I'm just starting out with the LPC2368 using the Keil compiler
> software. I've come from using Atmel chips and the way of defining interrupts on
> pins was somewhat easier...
>
> I was wondering if anyone out there could give a short tutorial on how to define
> one of the GPIO pins, say P2.15 as a falling edge interrupt?
>
> I've been beating my head against a wall trying to get it to work. The manual
> says it will work that way and I can't figure it out. Also, any examples on the
> internet are for P2.10 the pushbutton switch which can be defined as EINT0. I
> got that example to work fine, but I want to know how to make a GPIO pin
> interrupt on event.
>
> Like I said I'm a noob to this chip so please be kind...
>
> Thanks in advance!
>
THe LPC2368 User Manual indicates the registers to enable the GPIO Interrupts (see Section 5.6 GPIO Interrupt Registers). Set the register that you need for your application (Port 2, pin 15)
Note that the GPIO Interrupt share the VIC Interrupt Vector with the EINT3. Therefore, you have to setup the EINT3 Vector as well. In the Interrupt Service Routine for EINT3, you have to read the GPIO registers to know which port and which pin interrupted (IOIntStatus first and then IOIntStatF for Port 2, and check for pin 15 status).
Regards,
Alex.
PS. Do not post more that one thread with the same message. Be patient when waiting for responses.
--- In l..., "da_fatkid" wrote:
>
> Noob here, I'm just starting out with the LPC2368 using the Keil compiler
> software. I've come from using Atmel chips and the way of defining interrupts on
> pins was somewhat easier...
>
> I was wondering if anyone out there could give a short tutorial on how to define
> one of the GPIO pins, say P2.15 as a falling edge interrupt?
>
> I've been beating my head against a wall trying to get it to work. The manual
> says it will work that way and I can't figure it out. Also, any examples on the
> internet are for P2.10 the pushbutton switch which can be defined as EINT0. I
> got that example to work fine, but I want to know how to make a GPIO pin
> interrupt on event.
>
> Like I said I'm a noob to this chip so please be kind...
>
> Thanks in advance!
>
Reply by ●March 23, 20092009-03-23
Oh I've read the manual several times, but what I am looking for is an
example for the situation I described.
With projects I've worked on in the past there was always specific pins mapped to their respective interrupts. All you had to do was tell the compiler which interrupt pin you wanted and their function. Simple, straight-forward.
The way the manual describes how to do this is sounds like you have to do some internal "wiring" to get almost ANY GPIO pin on ports 0, and 2 to act as an external interrupt, but it does not show in enough detail on how to do this for me.
This is why I posted the call for help. I've read the manual but I cannot make any sense of it on this issue. I've been around the web but can't find even just a code snippet that would describe the situation. I'm just asking for some help on understanding what the manual is trying to say...
--- In l..., "Alex Ribero" wrote:
>
> Hi:
>
> THe LPC2368 User Manual indicates the registers to enable the GPIO Interrupts (see Section 5.6 GPIO Interrupt Registers). Set the register that you need for your application (Port 2, pin 15)
>
> Note that the GPIO Interrupt share the VIC Interrupt Vector with the EINT3. Therefore, you have to setup the EINT3 Vector as well. In the Interrupt Service Routine for EINT3, you have to read the GPIO registers to know which port and which pin interrupted (IOIntStatus first and then IOIntStatF for Port 2, and check for pin 15 status).
>
> Regards,
>
> Alex.
> PS. Do not post more that one thread with the same message. Be patient when waiting for responses.
> --- In l..., "da_fatkid" wrote:
> >
> > Noob here, I'm just starting out with the LPC2368 using the Keil compiler
> > software. I've come from using Atmel chips and the way of defining interrupts on
> > pins was somewhat easier...
> >
> > I was wondering if anyone out there could give a short tutorial on how to define
> > one of the GPIO pins, say P2.15 as a falling edge interrupt?
> >
> > I've been beating my head against a wall trying to get it to work. The manual
> > says it will work that way and I can't figure it out. Also, any examples on the
> > internet are for P2.10 the pushbutton switch which can be defined as EINT0. I
> > got that example to work fine, but I want to know how to make a GPIO pin
> > interrupt on event.
> >
> > Like I said I'm a noob to this chip so please be kind...
> >
> > Thanks in advance!
>
With projects I've worked on in the past there was always specific pins mapped to their respective interrupts. All you had to do was tell the compiler which interrupt pin you wanted and their function. Simple, straight-forward.
The way the manual describes how to do this is sounds like you have to do some internal "wiring" to get almost ANY GPIO pin on ports 0, and 2 to act as an external interrupt, but it does not show in enough detail on how to do this for me.
This is why I posted the call for help. I've read the manual but I cannot make any sense of it on this issue. I've been around the web but can't find even just a code snippet that would describe the situation. I'm just asking for some help on understanding what the manual is trying to say...
--- In l..., "Alex Ribero" wrote:
>
> Hi:
>
> THe LPC2368 User Manual indicates the registers to enable the GPIO Interrupts (see Section 5.6 GPIO Interrupt Registers). Set the register that you need for your application (Port 2, pin 15)
>
> Note that the GPIO Interrupt share the VIC Interrupt Vector with the EINT3. Therefore, you have to setup the EINT3 Vector as well. In the Interrupt Service Routine for EINT3, you have to read the GPIO registers to know which port and which pin interrupted (IOIntStatus first and then IOIntStatF for Port 2, and check for pin 15 status).
>
> Regards,
>
> Alex.
> PS. Do not post more that one thread with the same message. Be patient when waiting for responses.
> --- In l..., "da_fatkid" wrote:
> >
> > Noob here, I'm just starting out with the LPC2368 using the Keil compiler
> > software. I've come from using Atmel chips and the way of defining interrupts on
> > pins was somewhat easier...
> >
> > I was wondering if anyone out there could give a short tutorial on how to define
> > one of the GPIO pins, say P2.15 as a falling edge interrupt?
> >
> > I've been beating my head against a wall trying to get it to work. The manual
> > says it will work that way and I can't figure it out. Also, any examples on the
> > internet are for P2.10 the pushbutton switch which can be defined as EINT0. I
> > got that example to work fine, but I want to know how to make a GPIO pin
> > interrupt on event.
> >
> > Like I said I'm a noob to this chip so please be kind...
> >
> > Thanks in advance!
>