The LPC1114FN28 is an ARM Cortex-M0 based, low-cost 32-bit MCU, designed for 8/16-bit microcontroller applications, offering performance, low power, simple instruction set and memory addressing together with reduced code size …

LPC1114 GPIO IRQ's

28 Nov 2015

I tested all the LPC1114 GPIO pins for

1. Low going edge triggers an IRQ or not 2. Did the selected pin cause any compiler errors 3. Measured the pull-up current in each case

I tested all of the pins on two separate mbed LPC1114 modules to confirm the results.

Here is the test code (note: I just incremented the PB's each time to check the input. For pin 11, I changed the LED indicator to pin 10 and made pin 11 and input)

#include "mbed.h"
// this uses IRQ's to check for PB's going low

DigitalOut LEDS1(dp11);

InterruptIn PB1(dp1);
InterruptIn PB2(dp2);
InterruptIn PB3(dp4);
InterruptIn PB4(dp5);
InterruptIn PB5(dp6);


void PB1isr(void)
{
    LEDS1 != LEDS1;
}
void PB2isr(void)
{
    LEDS1 =! LEDS1;
}
void PB3isr(void)
{
    LEDS1 =! LEDS1;
}
void PB4isr(void)
{
    LEDS1 =! LEDS1;
}
void PB5isr(void)
{
    LEDS1 =! LEDS1;
}

int main()
{
    PB1.mode(PullUp);
    PB2.mode(PullUp);
    PB3.mode(PullUp);
    PB4.mode(PullUp);
    PB5.mode(PullUp);

    PB1.fall(&PB1isr);
    PB2.fall(&PB2isr);
    PB3.fall(&PB3isr);
    PB4.fall(&PB4isr);
    PB5.fall(&PB5isr);


    LEDS1 = 1;
    wait (3);
    LEDS1 = 0;
    wait(3);

    do {

        wait_ms(250);

        __WFI();

        wait_ms(250);

    } while(1);
}

Here are the results

/media/uploads/andrewcrussell/lpc1114_gpio_irq-s.jpg