// 虽然知道:1 代表一比特位, 但是不知道到底这么对应,从高到低,还是从底到高. 特测试.
typedef union
{struct
{
unsigned char GRP1_OVERFLOW :1;
unsigned char GRP1_LOCK :1;
unsigned char GRP1_STATUS_L :1;
unsigned char GRP1_STATUS_H :1;
unsigned char GRP2_OVERFLOW :1;
unsigned char GRP2_LOCK :1;
unsigned char GRP2_STATUS_L :1;
unsigned char GRP2_STATUS_H :1;
}PART;//此8位成员就是 asi的8位
uint8 asi;
}S_ASI_FPGA;
void main()
{
uint8 S_ASI_FPGA aa;
aa.asi = 0;
aa.PART.GRP1_OVERFLOW=1;
if(aa.asi==0x80)
LCD_write_string(0,0,"Initialize OK "); // case 0
else if(aa.asi==0x01)
LCD_write_string(0,0,"Initialize ERR "); // case 1
else
LCD_write_string(0,0,"Initialize ERR && "); // case 2
}
结果是 case 1
当选择 aa.PART.GRP2_STATUS_H =1是 case 0;
由此可见是从 低位开始使用的