嵌入式 C语言 位操作 宏命令
位操作宏
#define _BV(n) (1<<n) //1< n
#define BIT(n) _BV(n) //1< n
#define BIT_SET(v,n) do { v |= _BV(n); } while (0) //第n位置1
#define BIT_CLR(v,n) do { v &= ~_BV(n); } while (0) //第n位置0
#define BIT_TOGGLE(v,n) do { v ^= _BV(n); } while (0) //第n位取反
#define BIT_GET(v,n) (v & _BV(n)) //第n位保留
#define offset(type, member) (unsigned int)(&(((type *)0)->member)) //0到member的大小