Simple mbed library with macros
Dependents: SimpleTimer SimpleUART SimpleTimer Stoppuhr1
Diff: mbed_globals.h
- Revision:
- 6:9e1310782abf
- Parent:
- 5:b3aa0a49e21f
- Child:
- 8:f8b47457fdcf
diff -r b3aa0a49e21f -r 9e1310782abf mbed_globals.h --- a/mbed_globals.h Sat Nov 13 11:20:42 2010 +0000 +++ b/mbed_globals.h Sat Nov 13 14:47:51 2010 +0000 @@ -14,8 +14,9 @@ // See 34.3.2.5 p740 #define BIT_BANDING_ADDRESS(reg, bit) (((reg) & 0xF0000000) | (0x02000000) | (((reg) & 0x000FFFFF) << 5) | ((bit) << 2)) -#define GET_BIT_VALUE(reg, bit) GET_REGISTER32(BIT_BANDING_ADDRESS(((uint32_t)®), bit)) -#define SET_BIT_VALUE(reg, bit, value) SET_REGISTER32(BIT_BANDING_ADDRESS(((uint32_t)®), bit), (value)) +#define GET_BIT_ADDRESS(reg, bit) BIT_BANDING_ADDRESS(((uint32_t)&(reg)), (bit)) +#define GET_BIT_VALUE(reg, bit) GET_REGISTER32(GET_BIT_ADDRESS((reg), (bit))) +#define SET_BIT_VALUE(reg, bit, value) SET_REGISTER32(GET_BIT_ADDRESS((reg), (bit)), (value)) // Macro tools #define TOKENPASTE(x, y) x ## y