1 总结下 结构体位域的使用
比如
则 struct _COM2
{
u8 Len : 1;//低位
u8 EoN : 2;
u8 Stop:1;
u8 Bps:4;//高位
}
union COM
{
u18 data;
struct _COM2 COM2;
};
测试可用:
#include "stdio.h" struct _yyy { int qq8:4; int qq7:4; int qq6:4; int qq5:4; int qq4:4; int qq3:4; int qq2:4; int qq1:4; }; union _aa { int xxx; struct _yyy yyy; }; int main(void) { union _aa aa; aa.xxx = 0x12345678; printf("%d ", aa.yyy.qq1); printf("%d ", aa.yyy.qq2); printf("%d ", aa.yyy.qq3); while(1); }