Simple mbed library with macros
Dependents: SimpleTimer SimpleUART SimpleTimer Stoppuhr1
Diff: leds.h
- Revision:
- 2:e6b2d22fbf75
- Parent:
- 0:aa3c3d1a5918
- Child:
- 4:afddc4848b6c
diff -r 1033948951f0 -r e6b2d22fbf75 leds.h --- a/leds.h Mon Nov 08 10:32:34 2010 +0000 +++ b/leds.h Mon Nov 08 12:22:35 2010 +0000 @@ -1,25 +1,27 @@ #ifndef __LEDS_H__ #define __LEDS_H__ -/* LEDS GPIO Registers */ +#include "mbed_globals.h" + +/** Registers **/ // GPIO1 Mask register, FIOMASK page 122 -#define LEDS_GPIO_MASK *(uint32_t *)(0x2009C030) +#define LEDS_GPIO_MASK (LPC_GPIO1_BASE + 0x10) // GPIO1 Pin register, FIOPIN page 122 -#define LEDS_GPIO_PIN *(uint32_t *)(0x2009C034) +#define LEDS_GPIO_PIN (LPC_GPIO1_BASE + 0x14) // GPIO1 Direction, FIO1DIR page 122 -#define LEDS_GPIO_DIR *(uint32_t *)(0x2009C020) +#define LEDS_GPIO_DIR (LPC_GPIO1_BASE + 0x00) -/* LEDS GPIO Pins */ +/** Bits **/ #define LED1 (1 << 18) #define LED2 (1 << 20) #define LED3 (1 << 21) #define LED4 (1 << 23) #define LEDS_MASK (LED1 | LED2 | LED3 | LED4) -#define LEDS_SET(value) LEDS_GPIO_MASK = ~LEDS_MASK; \ - LEDS_GPIO_PIN = value; +/** Macros **/ +#define LEDS_INIT() GET_REGISTER32(LEDS_GPIO_DIR) |= LEDS_MASK; -#define LEDS_INIT() LEDS_GPIO_DIR |= LEDS_MASK; - +#define LEDS_SET(value) SET_REGISTER32(LEDS_GPIO_MASK, (~LEDS_MASK)); \ + SET_REGISTER32(LEDS_GPIO_PIN, (value)); #endif \ No newline at end of file