#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 LB:1; //喇叭开关 unsigned char ZZ:1; //左转向开关 unsigned char YZ:1; //右转向开关 unsigned char ZXFW:1; //转向复位开关 unsigned char JS:1; //警示开关 unsigned char YJ:1; //远近光开关 unsigned char CC:1; //超车开关 unsigned char DD:1; //大灯开关 //BYTE 2 unsigned char DFS:1; //挡风玻璃调节开关(升) unsigned char DFJ:1; //挡风玻璃调节开关(降) unsigned char MS:1; //仪表确认开关(模式选择) unsigned char YBFH:1; //仪表返回开关 unsigned char YBS:1; //仪表调节开关(上) unsigned char YBX:1; //仪表调节开关(下) unsigned char QD:1; //启动开关 unsigned char XH:1; //熄火开关 //BYTE 3 unsigned char WBJR:1;//握把加热开关 unsigned char ZYJR:1;//座椅加热开关 unsigned char YD:1;//夜灯开关 unsigned char TCS:1;//TCS unsigned char reverse1:4;// //BYTE 4/5/6 unsigned char reverse2:8;// unsigned char reverse3:8;// unsigned char reverse4:8;// //BYTE 7 unsigned char rolling:4;//报文计数器 unsigned char reverse5:4;// //BYTE 8 unsigned char checksum:8;//5 }Msg_Bit; }Can_Msg_Type_50A; extern Can_Msg_Type_50A CAN_50A; extern Can_Msg_Type_403 CAN_403; extern Can_Msg_Type_26D CAN_26D; extern unsigned int CAN_LostCount; extern void Can_init_id(can_frame_t *TxMessage,unsigned int canid); void TxTestMsg(void); void ClearTxCounter(void); #endif