Simple mbed library with macros
Dependents: SimpleTimer SimpleUART SimpleTimer Stoppuhr1
mbed_globals.h@5:b3aa0a49e21f, 2010-11-13 (annotated)
- Committer:
- Alkorin
- Date:
- Sat Nov 13 11:20:42 2010 +0000
- Revision:
- 5:b3aa0a49e21f
- Parent:
- 4:afddc4848b6c
- Child:
- 6:9e1310782abf
Almost working UART
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Alkorin | 5:b3aa0a49e21f | 1 | #ifndef __MBED_GLOBALS_H__ |
Alkorin | 5:b3aa0a49e21f | 2 | #define __MBED_GLOBALS_H__ |
Alkorin | 5:b3aa0a49e21f | 3 | |
Alkorin | 5:b3aa0a49e21f | 4 | #include <LPC17xx.h> |
Alkorin | 5:b3aa0a49e21f | 5 | |
Alkorin | 5:b3aa0a49e21f | 6 | /* GLOBALS MACRO */ |
Alkorin | 5:b3aa0a49e21f | 7 | #define GET_REGISTER8(reg) *(volatile uint8_t *)(reg) |
Alkorin | 5:b3aa0a49e21f | 8 | #define GET_REGISTER16(reg) *(volatile uint16_t *)(reg) |
Alkorin | 5:b3aa0a49e21f | 9 | #define GET_REGISTER32(reg) *(volatile uint32_t *)(reg) |
Alkorin | 5:b3aa0a49e21f | 10 | |
Alkorin | 5:b3aa0a49e21f | 11 | #define SET_REGISTER8(reg, val) *(uint8_t *)(reg)=(val) |
Alkorin | 5:b3aa0a49e21f | 12 | #define SET_REGISTER16(reg, val) *(uint16_t *)(reg)=(val) |
Alkorin | 5:b3aa0a49e21f | 13 | #define SET_REGISTER32(reg, val) *(uint32_t *)(reg)=(val) |
Alkorin | 5:b3aa0a49e21f | 14 | |
Alkorin | 5:b3aa0a49e21f | 15 | // See 34.3.2.5 p740 |
Alkorin | 5:b3aa0a49e21f | 16 | #define BIT_BANDING_ADDRESS(reg, bit) (((reg) & 0xF0000000) | (0x02000000) | (((reg) & 0x000FFFFF) << 5) | ((bit) << 2)) |
Alkorin | 5:b3aa0a49e21f | 17 | #define GET_BIT_VALUE(reg, bit) GET_REGISTER32(BIT_BANDING_ADDRESS(((uint32_t)®), bit)) |
Alkorin | 5:b3aa0a49e21f | 18 | #define SET_BIT_VALUE(reg, bit, value) SET_REGISTER32(BIT_BANDING_ADDRESS(((uint32_t)®), bit), (value)) |
Alkorin | 5:b3aa0a49e21f | 19 | |
Alkorin | 5:b3aa0a49e21f | 20 | // Macro tools |
Alkorin | 5:b3aa0a49e21f | 21 | #define TOKENPASTE(x, y) x ## y |
Alkorin | 5:b3aa0a49e21f | 22 | #define TOKENPASTE2(x, y) TOKENPASTE(x, y) |
Alkorin | 5:b3aa0a49e21f | 23 | #define TOKENPASTE3(x, y, z) TOKENPASTE(TOKENPASTE(x, y), z) |
Alkorin | 5:b3aa0a49e21f | 24 | |
Alkorin | 0:aa3c3d1a5918 | 25 | #endif |