From 66c5f91a870105aa1f70388d834fffe1bac9947c Mon Sep 17 00:00:00 2001 From: Taylor Vesely Date: Tue, 27 Mar 2012 16:42:36 -0600 Subject: Implemented gpio_clear() for LPC17xx. --- examples/lpc17xx/blueboard-lpc1768-h/miniblink/miniblink.c | 8 ++++---- include/libopencm3/lpc17xx/gpio.h | 1 + lib/lpc17xx/gpio.c | 5 +++++ 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/examples/lpc17xx/blueboard-lpc1768-h/miniblink/miniblink.c b/examples/lpc17xx/blueboard-lpc1768-h/miniblink/miniblink.c index c351581..33d413b 100644 --- a/examples/lpc17xx/blueboard-lpc1768-h/miniblink/miniblink.c +++ b/examples/lpc17xx/blueboard-lpc1768-h/miniblink/miniblink.c @@ -33,17 +33,17 @@ int main(void) /* Blink LED0 (P3_0) on the board. */ while (1) { /* Manually: */ - //GPIO1_SET = (1 << 29); /* LED off */ + //GPIO1_SET = (1 << 29); /* LED on */ //for (i = 0; i < 800000; i++) /* Wait a bit. */ // __asm__("nop"); - //GPIO1_CLR = (1 << 29); /* LED on */ + //GPIO1_CLR = (1 << 29); /* LED off */ //for (i = 0; i < 800000; i++) /* Wait a bit. */ // __asm__("nop"); - gpio_set(GPIO1, GPIOPIN29); /* LED off */ + gpio_set(GPIO1, GPIOPIN29); /* LED on */ for (i = 0; i < 800000; i++) /* Wait a bit. */ __asm__("nop"); - GPIO1_CLR = (1 << 29); /* LED on */ + gpio_clear(GPIO1, GPIOPIN29); /* LED off */ for (i = 0; i < 800000; i++) /* Wait a bit. */ __asm__("nop"); } diff --git a/include/libopencm3/lpc17xx/gpio.h b/include/libopencm3/lpc17xx/gpio.h index 567cd2c..7b07ac5 100644 --- a/include/libopencm3/lpc17xx/gpio.h +++ b/include/libopencm3/lpc17xx/gpio.h @@ -133,5 +133,6 @@ #define GPIO_IS MMIO32(GPIOINTERRPUT_BASE + 0x80) void gpio_set(u32 gpioport, u32 gpios); +void gpio_clear(u32 gpioport, u32 gpios); #endif diff --git a/lib/lpc17xx/gpio.c b/lib/lpc17xx/gpio.c index 8913082..6c44081 100644 --- a/lib/lpc17xx/gpio.c +++ b/lib/lpc17xx/gpio.c @@ -23,3 +23,8 @@ void gpio_set(u32 gpioport, u32 gpios) { GPIO_SET(gpioport) = gpios; } + +void gpio_clear(u32 gpioport, u32 gpios) +{ + GPIO_CLR(gpioport) = gpios; +} -- cgit v1.2.3