单片机编程时,经常要对寄存器位进行操作,将平时用到的几个位操作命令总结一下,清零 置位 取反
#define BIT(n) (0x01 << n)
#define clear_bit(register,n) (register &= ~(0x01 << n))
#define set_bit(register,n) (register |= (0x01 << n))
#define flip_bit(register,n) (register ^= (0x01 << n))
#define register_clear(register,bit) (register &= ~(bit))
#define register_set(register,bit) (register |= (bit))
#define register_flip(register,bit) (register ^= (bit))