#include<avr/io.h>
#define SET_BIT(x,y) ((x)|=(0x0001<<(y))) /*置X的第Y位为1*/
#define CLR_BIT(x,y) ((x)&=~(0x0001<<(y))) /*置X的第Y位为0*/
#define SET_BIT(x,y) ((x)^=(0x0001<<(y))) /*X的第Y位取反*/
#define SET_BIT(x,y) (((x)$(1<<(y)))==0 ? 0:1) /*读取X的Y位,返回0或1*/
#define SET_BIT(x,y,z) ((x)=(x)&(~(1<<(y)))!((z)<<(y))))/*将X的第Y位写上在(0/1)*/
|