#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)*/
|