#ifndef _CAN_USER_H #define _CAN_USER_H #include "r_rl78_can_drv.h" typedef union{ unsigned int Msg_Word[4]; unsigned char Msg_Byte[8]; struct{ unsigned char MSW_PsdBtnReq:2;//byte1 unsigned char MSW_RotReq:2; unsigned char MSW_TogReq:4; unsigned char MSW_BtnFltSts:1;//byte2 unsigned char Reserve_1:7; unsigned char MSW_RotStep:8;//byte3 unsigned char Reserve_3:8;//byte4 unsigned char Reserve_4:8;//byte5 unsigned char Reserve_5:8;//byte6 unsigned char Reserve_6:8;//byte7 unsigned char Reserve_7:8;//byte8 }Msg_Part; }Can_Msg_Type_212; extern can_frame_t RxCanMessage; extern unsigned char BusOff_flag; extern unsigned char BusOff_IGN_cycle_count; extern unsigned int BusOff_Detect_delay_count; extern unsigned char Engine_Temperature,Engine_Temperature_temp; extern unsigned int Vehicle_Speed,Vehicle_Speed_temp; extern unsigned char Engine_Temperature_already,Vehicle_Speed_already; extern uint16_t air_req_timer; extern unsigned char CAN_SEND_COMPLETE; extern unsigned char Can_2F_SET_run; extern unsigned char DiagnosticSession_Present;//1,2,3 extern unsigned char Tx_Rx_Enable;//0:none 1:Tx 2:Rx 3:Tx Rx extern unsigned char Nw28sTxRxStatus;//0:none 1:Tx 2:Rx 3:Tx Rx extern unsigned char App28sTxRxStatus;//0:none 1:Tx 2:Rx 3:Tx Rx #define DCM28S_MASK_TX_DISABLE 0X01 #define DCM28S_MASK_RX_DISABLE 0X02 void TxServe(void); void CAN_TX_MESSAGE_INIT(void); void Copy_Array_to_Array(unsigned char *dest, unsigned char *src,unsigned char count); /*************************VF12***********************************/ typedef union{ unsigned int Msg_Word[4]; unsigned char Msg_Byte[8]; struct{ unsigned char :8; //1 0-7 unsigned char :8; //2 8-15 unsigned char :8; //3 16-23 unsigned char :8; //4 24-31 unsigned char :3; //5 32-34 unsigned char Backlightadjust:5;//5 35-39 unsigned char :8; //6 40-47 unsigned char :8; //7 48-55 unsigned char :8; //8 56-63 }Msg_Bit; }Can_Msg_Type_26D; typedef union{ unsigned int Msg_Word[4]; unsigned char Msg_Byte[8]; struct{ unsigned char :8;//1 unsigned char VCU_VehSpd1:3;//2 unsigned char :5; unsigned char VCU_VehSpd2:8;//3 unsigned char :6;//4 unsigned char VCU_VehSpd3:2; unsigned char :8;//5 unsigned char :8;//6 unsigned char :8;//7 unsigned char :8;//8 }Msg_Bit; }Can_Msg_Type_403; typedef union{ unsigned int Msg_Word[4]; unsigned char Msg_Byte[8]; struct{ //BYTE 1 unsigned char reverse10:4; unsigned char SwitchButton_NearOrFarLight:1; //(P82)远近光切换按钮 unsigned char reverse11:1; unsigned char FogLampSwitch:1; //(P125)雾灯开关 unsigned char HeadLampSwitch:1; //(P81)自动感应大灯开关 //BYTE 2 unsigned char FAxle_2_4WD_DifLock:1; //(P80)前桥2/4WD、差速锁开关 unsigned char reverse20:3; unsigned char Trumpet:1; //(P63)喇叭 unsigned char reverse21:3; //BYTE 3 unsigned char LeftSteering:1;//(P30)左转向 unsigned char reverse30:7;// //BYTE 4 unsigned char WarningAgainstDanger:1;//(P17)应急灯开关 unsigned char TurnOnTheHeater:1;//(P34)座椅加热 unsigned char reverse40:2;// unsigned char MODEL_SEL:1;//(P83)MODE unsigned char reverse41:3;// //BYTE 5/6/7 unsigned char reverse5:8;// unsigned char reverse6:8;// unsigned char reverse7:8;// //BYTE 8 unsigned char checksum:8;// }Msg_Bit; }Can_Msg_Type_220; typedef union{ unsigned int Msg_Word[4]; unsigned char Msg_Byte[8]; struct{ //BYTE 1 bit 0 unsigned char reverse10:3; //喇叭开关 unsigned char TCS_TractionControl:1; //左转向开关 unsigned char reverse11:1; //(P30)预留15 unsigned char reverse12:1; //(P63)预留16 unsigned char reverse13:2; // //BYTE 2 bit 8 unsigned char reverse20:2; // unsigned char HandleHeating:1; //(P83)手把加热 unsigned char reverse21:3; // unsigned char DifferentialLock:1; //(P125)后桥差速锁开关 unsigned char reverse22:1; // //BYTE 3 bit 16 unsigned char reverse3:8;// //BYTE 4 bit 24 unsigned char reverse40:6;// unsigned char RightSteering:1;//(P34)右转向 unsigned char reverse41:1;// //BYTE 5 bit 32 unsigned char reverse50:4;// unsigned char EngineIgnitionStopControl:1;//(P81)熄火 unsigned char reverse1:3;// //BYTE 6 bit 40 unsigned char CrankingMotor:1;//(P80)启动 unsigned char DIST_SET:1;//(P17)SET unsigned char reverse60:6;// //BYTE 7 bit 48 unsigned char reverse7:8;// //BYTE 8 unsigned char checksum:8;//5 }Msg_Bit; }Can_Msg_Type_101; extern unsigned int CAN_LostCount; extern Can_Msg_Type_101 CAN_101; extern Can_Msg_Type_220 CAN_220; extern void Can_init_id(can_frame_t *TxMessage,unsigned int canid); void TxTestMsg(void); void ClearTxCounter(void); #endif