联合体如下:
union SFLAG
{
struct
{
uint8_t b0 : 1;
uint8_t b1 : 1;
uint8_t b2 : 1;
uint8_t b3 : 1;
uint8_t b4 : 1;
uint8_t b5 : 1;
uint8_t b6 : 1;
uint8_t b7 : 1;
uint8_t b8 : 1;
uint8_t b9 : 1;
uint8_t b10 : 1;
uint8_t b11 : 1;
uint8_t b12 : 1;
uint8_t b13 : 1;
uint8_t b14 : 1;
uint8_t b15 : 1;
} bits;
uint16_t bytes;
};
union SFLAG Sflag = {0};
现在想设置b0 位的值,该如何写代码,试用
Sflag.bytes &=0x01;
怎么不对呢???
请高手帮助解决,谢谢!!
|