今天映到个问题,DATA保存数据老是中间会空出一些空间来,8位数据指针对不上数据。
#define SHOW_LEN 56
#define SHOW_ADDR 0x220
typedef union
{
u8 data[SHOW_LEN];
__packed struct
{
//开始按钮灯
u16 StartButtonLed_OnTime :16; //0-1 开启时间
u16 StartButtonLed_OffTime :16; //2-3 关闭时间
u8 StartButtonLed_Times :8; // 4周期
//大灯按钮灯
u16 BigButtonLed_OnTime :16; // 5-6开启时间
u16 BigButtonLed_OffTime :16; // 7-8关闭时间
u8 BigButtonLed_Times :8; // 9周期
//自动驾驶按钮灯
u16 AutoButtonLed_OnTime :16; // a-b开启时间
u16 AutoButtonLed_OffTime :16; // c-d关闭时间
u8 AutoButtonLed_Times :8; // e周期
//喇叭
u16 Laba_OnTime :16; // 开启时间
u16 Laba_OffTime :16; // 关闭时间
u8 Laba_Times :8; // 周期
//状态灯
u16 StateLed_OnTime :16; // 开启时间
u16 StateLed_OffTime :16; // 关闭时间
u8 StateLed_Times :8; // 周期
u8 StateLed_State :8; // 状态 0空车, 1有客
//左大灯
u16 BigLedLeft_OnTime :16; // 开启时间
u16 BigLedLeft_OffTime :16; // 关闭时间
u8 BigLedLeft_Times :8; // 周期
u8 BigLedLeft_TMode :8; // 模式 0 近光灯(圈)闪烁 远光灯关闭
// 1 近光灯(圈)呼吸 远光灯关闭
// 2 近光灯(圈)关闭 远光灯闪烁
// 3 近光灯(圈)关闭 远光灯呼吸
// 4 近光灯(圈)闪烁 远光灯闪烁
// 5 近光灯(圈)闪烁 远光灯呼吸
// 6 近光灯(圈)呼吸 远光灯闪烁
// 7 近光灯(圈)呼吸 远光灯呼吸
//右大灯
u16 BigLedRight_OnTime :16; // 开启时间
u16 BigLedRight_OffTime :16; // 关闭时间
u8 BigLedRight_Times :8; // 周期
u8 BigLedRight_TMode :8; // 模式 同上 BigLedLeft_TMode
//左转向灯
u16 TurnLedLeft_OnTime :16; // 开启时间
u16 TurnLedLeft_OffTime :16; // 关闭时间
u8 TurnLedLeft_Times :8; // 周期
u8 TurnLedLeft_TMode :8; // 模式 0 黄灯转向效果(白灯已关闭)
// 1 白灯效果(黄灯已关闭)
// 2 黄转白灯效果(白灯未关闭)
//右转向灯
u16 TurnLedRight_OnTime :16; // 开启时间
u16 TurnLedRight_OffTime :16; // 关闭时间
u8 TurnLedRight_Times :8; // 周期
u8 TurnLedRight_TMode :8; // 模式 0 黄灯转向效果(白灯已关闭)
// 1 白灯效果(黄灯已关闭)
// 2 黄转白灯效果(白灯未关闭)
//刹车灯
u16 BrakeLed_OnTime :16; // 开启时间
u16 BrakeLed_OffTime :16; // 关闭时间
u8 BrakeLed_Times :8; // 周期
//平板
u8 Pingban_OnOff :8; // 平板电源开关 0关闭 1开启
} bit;
}SHOW_ENUM;