位定义可用共用体union来实现,union的长度由union内最大的长度来决定,它们在内存中是共用的
在具体编程时,可这样做:将 typedef 写在头文件中,然后在 .c 文件中定义 volatile MYFLAG myflag,在头文件中声明 extern volatile MYFLAG myflag,使用时,可用myflag.bitFlag.buttonAccept来表示某一位,如需全部清零或置1,只需对byFlag赋值即可,因为它们是共用内存的。
typedef union { uint8_t byFlag; struct BIT_FLAG { uint8_t buttonAccept:1; uint8_t buttonLongAccept:1; }bitFlag; }MYFLAG;