Simple mbed library with macros

Dependents:   SimpleTimer SimpleUART SimpleTimer Stoppuhr1

Revision:
6:9e1310782abf
Parent:
5:b3aa0a49e21f
Child:
8:f8b47457fdcf
--- 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)&reg), bit))
-#define SET_BIT_VALUE(reg, bit, value) SET_REGISTER32(BIT_BANDING_ADDRESS(((uint32_t)&reg), 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