diff options
Diffstat (limited to 'usart/include/common.h')
-rw-r--r-- | usart/include/common.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/usart/include/common.h b/usart/include/common.h index d88d82d..9d5c7cd 100644 --- a/usart/include/common.h +++ b/usart/include/common.h @@ -1,6 +1,8 @@ #ifndef COMMON__H #define COMMON__H +#include <stdint.h> + /* Define __IO to be volatile if it's not already. */ #ifndef __IO #define __IO volatile @@ -15,4 +17,14 @@ #define PACKED __attribute__((packed)) #define BIT(n) (1 << (n)) +#define RESERVED_CONCAT_IMPL(x, y) x ## y +#define RESERVED_MACRO_CONCAT(x, y) RESERVED_CONCAT_IMPL(x, y) +#define RESERVED(n) \ + bits_t RESERVED_MACRO_CONCAT(_r, __COUNTER__) :n + +#define RESERVE(type) \ + __IO type RESERVED_MACRO_CONCAT(_r, __COUNTER__) + +typedef uint32_t bits_t; + #endif /* COMMON_H */ |