48 #define NULL ((void*) 0) 107 typedef unsigned char b8;
109 typedef unsigned char u8;
110 typedef signed char s8;
111 typedef unsigned short int u16;
112 typedef signed short int s16;
115 typedef unsigned long int u32;
116 typedef signed long int s32;
117 typedef unsigned long long int u64;
118 typedef signed long long int s64;
122 typedef volatile unsigned char vb8;
123 typedef volatile char vc8;
124 typedef volatile unsigned char vu8;
125 typedef volatile signed char vs8;
126 typedef volatile unsigned short int vu16;
127 typedef volatile signed short int vs16;
130 typedef volatile unsigned long int vu32;
131 typedef volatile signed long int vs32;
132 typedef volatile unsigned long long int vu64;
133 typedef volatile signed long long int vs64;
145 #define bitm( p ) ((u32)1<<(p)) 146 #define bitp( r, p, v ) { \ 148 r |= (((v) & bitm(0)) << (p)); \ 150 #define bits( r, p ) r |= bitm( p ) 151 #define bitr( r, p ) r &= ~bitm( p ) 152 #define bitc( r, p ) r ^= bitm( p ) 153 #define bitg( r, p ) ((r&bitm( p )) >> (p)) 154 #define bitt( r, p, v ) ((r&bitm( p )) == ((v)<<(p))) 156 #define bitsm( p, s ) ((((u64)1<<(s))-1) << (p)) 157 #define bitsp( r, p, s, v ) { \ 158 r &= ~bitsm( p, s ); \ 159 r |= (((v) & bitsm(0,s)) << (p)); \ 161 #define bitss( r, p, s ) r |= bitsm( p, s ) 162 #define bitsr( r, p, s ) r &= ~bitsm( p, s ) 163 #define bitsc( r, p, s ) r ^= bitsm( p, s ) 164 #define bitsg( r, p, s ) ((r&bitsm( p, s )) >> (p)) 165 #define bitst( r, p, s, v ) ((r&bitsm( p, s )) == ((v)<<(p))) 178 #define _BIT( n ) (1 << (n)) 187 #define _SBF( f, v ) ((v) << (f)) 205 #define _BITMASK( field_width ) (_BIT(field_width) - 1) 212 #define NELEMENTS( array ) (sizeof (array) / sizeof (array[0])) 220 #define MAX( a, b ) (((a) > (b)) ? (a) : (b)) 225 #define MIN( a, b ) (((a) < (b)) ? (a) : (b)) 232 #define SYS_RESET() NVIC_SystemReset() 234 #define NOP() __NOP() 235 #define WFI() __WFI() 236 #define WFE() __WFE() 237 #define DI() __disable_irq() // reset value is "interrupt enable". 238 #define EI() __enable_irq() // reset value is "interrupt enable". 240 #define APB_NOP {unsigned long tmp = CIDR;} 247 #define STATIC static 250 #define EXTERN extern 254 #define INLINE __inline 256 #define INLINE inline
unsigned long long int u64
volatile signed long long int vs64
volatile signed long int vs32
volatile unsigned long long int vu64
volatile unsigned char vu8
enum FlagStatus IntStatus
volatile unsigned long int vu32
volatile signed short int vs16
volatile unsigned char vb8
volatile unsigned short int vu16