编辑代码

#include <stdio.h>
int main () 
{
   /*报警标志*/
    int AlarmSwitch_Status = 0;                // 报警开关状态
    int EarlyWarning_Status = 0;               // 预警状态
    int LocateModule_Status = 0;               // 定位模块状态
    int LocateAntenna_Status = 0;              // 定位天线状态
    int LocateAntenna_ShortCircuit_Status = 0; // 定位天线短路状态
    int MainPower_SupplyVoltage_Status = 0;    // 主电源欠压状态
    int MainPoweroff_Status = 0;               // 主电源掉电状态
    int ISU_LCDDisplay_Status = 0;             // ISU液晶显示状态
    int TTSModule_Status = 0;                  // 语音合成模块状态
    int Camera_Status = 0;                     // 摄像头状态
    int Taximeter_Status = 0;                  // 计价器状态
    int ServerEvaluator_Status = 0;            // 服务评价器状态
    int LED_ADScreen_Status = 0;               // LED广告屏状态
    int LCDScreen_Status = 0;                  // 液晶显示屏状态
    int SecurityModule_Status = 0;             // 安全访问模块状态
    int LED_DomeLight_Status = 0;              // LED顶灯状态
    int OverSpeed_Status = 0;                  // 超速状态
    int ContinuousDrive_Overtime_Status = 0;   // 连续驾驶超时状态
    int DriveOvertimeDay_Status = 0;           // 当天累计驾驶超时状态
    int OvertimePark_Status = 0;               // 超时停车状态
    int AccessAreas_Status = 0;                // 进出区域/路线状态
    int SectionTravel_Status = 0;              // 路段行驶时间不足/过长状态
    int BritainsTerritorial_Status = 0;        // 禁行路段行驶状态
    int SpeedSensor_Status = 0;                // 车速传感器故障状态
    int IllrgalIgnition_Status = 0;            // 车辆非法点火状态
    int IllrgalDisplacement_Status = 0;        // 车辆非法位移状态
    int ISUStorage_Status = 0;                 // ISU存储异常状态
    int RecordDev_Status = 0;                  // 录音设备故障状态
    int Meter_RTClock_Status = 0;              // 计价器实时时钟超过规定的误差范围

    int len = 0;
    unsigned char a[4];

    a[0]=(AlarmSwitch_Status<<7)|(EarlyWarning_Status<<6)|(LocateModule_Status<<5)|(LocateAntenna_Status<<4)|(LocateAntenna_ShortCircuit_Status<<3)|(MainPower_SupplyVoltage_Status<<2)|(MainPoweroff_Status <<1)|(ISU_LCDDisplay_Status); 
    a[1]=(TTSModule_Status<<7)|(Camera_Status<<6)|(Taximeter_Status<<5)|(ServerEvaluator_Status<<4)|(LED_ADScreen_Status<<3)|(LCDScreen_Status<<2)|(SecurityModule_Status<<1)|(LED_DomeLight_Status);
    a[2]=(OverSpeed_Status<<7)|(ContinuousDrive_Overtime_Status<<6)|(DriveOvertimeDay_Status<<5)|(OvertimePark_Status<<4)|(AccessAreas_Status<<3)|(SectionTravel_Status<<2)|(BritainsTerritorial_Status<<1)|(SpeedSensor_Status);
    a[3]=(IllrgalIgnition_Status<<7)|(IllrgalDisplacement_Status<<6)|(ISUStorage_Status<<5)|(RecordDev_Status<<4)|(RecordDev_Status)|(Meter_RTClock_Status);
    
   


    printf("%02x %02x %02x %02x",a[0],a[1],a[2],a[3]);

}