diff options
Diffstat (limited to 'firmware/drivers/led.c')
-rw-r--r-- | firmware/drivers/led.c | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/firmware/drivers/led.c b/firmware/drivers/led.c index fe8d6f5..293d627 100644 --- a/firmware/drivers/led.c +++ b/firmware/drivers/led.c @@ -28,28 +28,32 @@ #include <LPC17xx.h> -int led_state = 0; +static int led_state = 0; -void LED_Init() +void led_init() { - LPC_SC->PCONP |= ( 1 << 15 ); // power up GPIO + // See table 46, pg. 63 + uint32_t *pconp = (uint32_t*)0x400FC0C4; + *pconp |= (0b1 << 15); // power up GPIO + + // See table 104, pg. 124 LPC_GPIO1->FIODIR |= 1 << 29; // puts P1.29 into output mode. } -void LED_on() +void led_on() { led_state = 1; LPC_GPIO1->FIOPIN |= 1 << 29; // make P1.29 high } -void LED_off() +void led_off() { led_state = 0; LPC_GPIO1->FIOPIN &= ~( 1 << 29 ); // make P1.29 low } -void LED_toggle() +void led_toggle() { - if(led_state) LED_off(); - else LED_on(); + if(led_state) led_off(); + else led_on(); } |