Report
4 years, 3 months ago.

PPS1 interrupt with EA LPC4088 QuickStart and GPS Receiver boards

I'm using the EA GPS Receiver Board with the EA LPC4088 QuickStart Board (QSB) and EA LPC4088 Experiment Base Board (EBB). I am very pleased with the GPS serial NMEA results but would like to perform precision timing by driving an interrupt with the PPS1 signal. PPS1 is wired to P4_20, which does not support interrupts. I am considering the following strategies:

One possibility is installing a jumper from the GPS board (J4 pin 11 has the PPS1 signal) to the Experiment Base Board (J4 pin 22) to reach the LPC4088 P2_10, which is EINT0 input. This will bridge the QSB user switch, unfortunately making that useless.

As an alternative to avoid losing the switch, another possibility is jumping from GPS board to the QSB USB host connector (J3 pin 2) which connects to P0_30, which is USB_D-1 but can be configured as the EINT1 input. I'm not using the USB host interface and don't mind losing it's functionality.

Am I missing anything here? How do I reconfigure P0_30 in MBED as EINT1 rather than USB_D-1? Thanks for any thoughts or advice!

Question relating to:

first you can download the LPC408x manual from NXP there : http://www.google.fr/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&ved=0CCIQFjAA&url=http%3A%2F%2Fwww.nxp.com%2Fdocuments%2Fuser_manual%2FUM10562.pdf&ei=UQhiVeyWMsL6ULLngOAH&usg=AFQjCNExX_QAwSriCkkcYKiTjHCTdu4Snw&sig2=UuvYnqLlGZLjrJnKkAnBYw&bvm=bv.93990622,d.d24

and then you can find at the page #104 that you need to set the register with the value of 2 to select the EINT1 function for the P0_30.

also in page #140.

hope it helps you.

try with :

LPC_IOCON->P0_30 &= ~0x07;   // reset the register values
LPC_IOCON->P0_30 |= 0x02;      // set it to 2 to enable EInt0.
posted by Raph Francois 24 May 2015

Thanks very much! I didn't know how to programmatically configure IOCON in MBED and your code example makes that clear.

posted by Thom Bronez 24 May 2015
Comment on this question

1 Answer

4 years, 3 months ago.

Can't you simply use InterruptIn for your interrupt? Since port 0 is supported by InterruptIn, you should be able to simply use that.

As Erik wrote, you can use InterruptIn with the lpc4088. You just have to use one of the pins that works with InterruptIn. The pins you can use are : p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p23,p33,p34.

posted by Raph Francois 25 May 2015

My issue is finding a pin that doesn't use other functionality I want. EINT0 is tied to a button I am using.

But I only looked at external interrupt pins, not knowing others were available. Based on Raph's list and the EBB schematic, for example, p8 is free as long as I don't use the EBB SD card in SPI mode. So now I have multiple options, thanks!

posted by Thom Bronez 25 May 2015