/*定义结构体*/
struct strbit
{
BYTE b0:1;
BYTE b1:1;
BYTE b2:1;
BYTE b3:1;
BYTE b4:1;
BYTE b5:1;
BYTE b6:1;
BYTE b7:1;
};
union char_bit {
BYTE charf;
struct strbit bitf;
};
union char_int {
BYTE dhar[2];
UINT dint;
};
/*定义变量*/
union char_bit CAN_Key0,CAN_Key1,CAN_Key2;
switch(KeyVal)
{ /*位赋值方式*/
case K1_SCAN: CAN_Key0.bitf.b7 = 1; break;
case K1_SEEK1: CAN_Key0.bitf.b6 = 1; break;
case K1_SEEK2: CAN_Key0.bitf.b5 = 1; break;
case K1_EQ: CAN_Key0.bitf.b2 = 1; break;
case K1_BAND: CAN_Key0.bitf.b1 = 1; break;
case K1_MODE: CAN_Key0.bitf.b0 = 1; break;
case K3_EJECT: CAN_Key1.bitf.b7 = 1; break;
case K2_M6: CAN_Key1.bitf.b6 = 1; break;
case K2_M5: CAN_Key1.bitf.b5 = 1; break;
case K2_M4: CAN_Key1.bitf.b4 = 1; break;
case K2_M3: CAN_Key1.bitf.b3 = 1; break;
case K2_M2: CAN_Key1.bitf.b2 = 1; break;
case K2_M1: CAN_Key1.bitf.b1 = 1; break;
case K3_MUTE: CAN_Key1.bitf.b0 = 1; break;
case K3_POWER: CAN_Key2.bitf.b0 = 1; break;
/*整体赋值方式*/
default :
CAN_Key0.charf=0;
CAN_Key1.charf=0;
CAN_Key2.charf=0;
break;
}
union的用法
最新推荐文章于 2024-01-11 11:18:24 发布