Commit 398d78bb authored by baizhengyuan's avatar baizhengyuan

feat: 初版can外发

parent 5f23038d
......@@ -59,8 +59,8 @@ void Sys_Run_Mode_Pseudo_Real_Time_Tasks(void)
------------------------------------------------------------------------------*/
void Sys_Run_Mode_2ms_Tasks_Group(void)
{
// Can_Write_Fun(2); //报文外发
// COM_RX_Process( );
Can_Write_Fun(2); //报文外发
COM_RX_Process( );
RTE_ADC_Services( );
Get_static_Current();
}
......@@ -342,7 +342,7 @@ void Sys_Run_Mode_100ms_Tasks_Group(void)
}
Display_PageNum();
can_submit();
// Freln_Duty_HZ_Service();
if(RS485_send_time<0xFFFFFFFF)
......@@ -560,3 +560,812 @@ void Sys_Enter_Sleep_Mode(void)
{
// Sys_Sleep_Init( );
}
void init_CAN_Frame(CAN_Frame_st_t* msg, uint32_t can_id, uint8_t can_len, uint8_t can_frame_ide, const uint8_t* data)
{
for (uint32_t i = 0; i < can_len; i++) {
msg->unCANData.u8CANData[i] = 0;
}
msg->u32CANID = can_id;
msg->u8CANLEN = can_len;
msg->u8CANFrameIDE = can_frame_ide;
for (uint32_t i = 0; i < can_len; i++) {
msg->unCANData.u8CANData[i] = data[i];
}
}
void can_mid(CAN_Frame_st_t Msg)
{
CAN_Frame_st_t m_msg;
init_CAN_Frame(&m_msg, Msg.u32CANID, Msg.u8CANLEN, Msg.u8CANFrameIDE, Msg.unCANData.u8CANData);
RSCAN0_CH4_Set_FIFO0_Data(&m_msg);
}
void can_submit(void)
{
//车速
CAN_Frame_st_t m_msg1;// 车速 母线电流
uint8_t data1[8] = {0, 0, 0, 0, 0, 0, 0, 0};//0x0C20FFD2
//氛围灯
CAN_Frame_st_t m_msg2;// 氛围灯 报警器报警状态 整车状态 自动大灯功能设置
uint8_t data2[8] = {0, 0, 0, 0, 0, 0, 0, 0};//0x0C10FFD3
CAN_Frame_st_t m_msg3;// 氛围灯 整车操作状态反馈
uint8_t data3[8] = {0, 0, 0, 0, 0, 0, 0, 0};//0x0C22FFD2
//时间
CAN_Frame_st_t m_msg4;// 时间显示
uint8_t data4[8] = {0, 0, 0, 0, 0, 0, 0, 0};//0x0C50FFD0
//功率
CAN_Frame_st_t m_msg5;// 总电池电压
uint8_t data5[8] = {0, 0, 0, 0, 0, 0, 0, 0};//0x0C10FFD1
//故障灯
CAN_Frame_st_t m_msg6;
uint8_t data6[8] = {0, 0, 0, 0, 0, 0, 0, 0};//0x0C50FFD2
//TCS灯开启 T动力灯
CAN_Frame_st_t m_msg7;// 自定义能量回收功能设置反馈
uint8_t data7[8] = {0, 0, 0, 0, 0, 0, 0, 0};//0x0C5AFFD2
//ready 边撑指示灯 巡航灯 跛行模式灯 氛围灯红
CAN_Frame_st_t m_msg8;// 刹车开关信号反馈
uint8_t data8[8] = {0, 0, 0, 0, 0, 0, 0, 0};//0x0C23FFD2
//电池
CAN_Frame_st_t m_msg9;// 主电池电量百分比(SOC)
uint8_t data9[8] = {0, 0, 0, 0, 0, 0, 0, 0};//0x0C11FFD1
CAN_Frame_st_t m_msg10;// 副电池电量百分比(SOC)
uint8_t data10[8] = {0, 0, 0, 0, 0, 0, 0, 0};//0x0C11FFD7
//消除报警
CAN_Frame_st_t m_msg11;// 与ALM通信丢失 蓝牙图标
uint8_t data11[8] = {0, 0, 0, 0, 0, 0, 0, 0};//0x0C23FFD3
CAN_Frame_st_t m_msg12;// 与IOT通信丢失 GMS GPS 图标
uint8_t data12[8] = {0, 0, 0, 0, 0, 0, 0, 0};//0x0C23FFD0
// 与BMS通信丢失 总电池电量 0x0C11FFD1
// 与控制器通讯丢失 整车状态 0x0C22FFD2
//自动大灯功能设置 xxxxxxxxxxxxxx
CAN_Frame_st_t m_msg13;// 自动大灯功能设置
uint8_t data13[8] = {0, 0, 0, 0, 0, 0, 0, 0};//0x0C10FFD3
//陡坡缓降灯
CAN_Frame_st_t m_msg14;// 陡坡缓降
uint8_t data14[8] = {0, 0, 0, 0, 0, 0, 0, 0};//0x0C25FFD2
//坐桶开启
CAN_Frame_st_t m_msg15;
uint8_t data15[8] = {0, 0, 0, 0, 0, 0, 0, 0};//0x0C27FFD3
//ABS
CAN_Frame_st_t m_msg16;//ABS功能设置反馈
uint8_t data16[8] = {0, 0, 0, 0, 0, 0, 0, 0};//0x0C50FFDC
CAN_Frame_st_t m_msg17;//ABS故障 激活 可回复
uint8_t data17[8] = {0, 0, 0, 0, 0, 0, 0, 0};//0x0CC0FFDC
switch (MENU_CHECK_STEP)
{
case 0:
data1[2] = 0;
data1[3] = 0;//母线电流
data1[6] = (10000 >> 8) & 0xFF;
data1[7] = 10000 & 0xFF;
init_CAN_Frame(&m_msg1, 0x0C20FFD2, 8, 1, data1); // 车速 00
data2[0] = 0;
data2[5] = 1;
init_CAN_Frame(&m_msg2, 0x0C10FFD3, 8, 1, data2); // 报警器报警状态 整车状态
data3[1] = 0;
init_CAN_Frame(&m_msg3, 0x0C22FFD2, 8, 1, data3); // 整车操作状态反馈
data4[0] = 0;
data4[1] = 1;
data4[2] = 1;
data4[3] = 0;
data4[4] = 0;
data4[5] = 0;
data4[6] = 0;
data4[7] = 0;
init_CAN_Frame(&m_msg4, 0x0C50FFD0, 8, 1, data4); // 时间显示
data8[0] = 1 << 6;
data8[1] = 1 << 4;
init_CAN_Frame(&m_msg8, 0x0C23FFD2, 8, 1, data8); // ready 刹车开关信号反馈
data9[4] = 2;
init_CAN_Frame(&m_msg9, 0x0C11FFD1, 8, 1, data9); // 总电池电量
data5[4] = 0;
data5[5] = 0;
init_CAN_Frame(&m_msg5, 0x0C10FFD1, 8, 1, data5); // 总电池电压
init_CAN_Frame(&m_msg11, 0x0C23FFD3, 8, 1, data11); // 解除报警 蓝牙
init_CAN_Frame(&m_msg12, 0x0C23FFD0, 8, 1, data12); // 解除报警 gps gms
init_CAN_Frame(&m_msg13, 0x0C10FFD3, 8, 1, data13); // 自动大灯功能设置
init_CAN_Frame(&m_msg14, 0x0C25FFD2, 8, 1, data14); // 陡坡缓降
init_CAN_Frame(&m_msg15, 0x0C27FFD3, 8, 1, data15); // 坐桶开启
init_CAN_Frame(&m_msg6, 0x0C50FFD2, 8, 1, data6); // 整车故障灯
data7[0] = 1 << 5;
init_CAN_Frame(&m_msg7, 0x0C5AFFD2, 8, 1, data7); // TCS 能量
//ABS
data16[0] = 1 << 2;
init_CAN_Frame(&m_msg16, 0x0C50FFDC, 8, 1, data16); // ABS功能设置反馈
data17[7] = 1 << 4;
init_CAN_Frame(&m_msg17, 0x0CC0FFDC, 8, 1, data17); // ABS故障 激活 可回复
break;
case 1://步骤1
data1[2] = 0 & 0xFF;
data1[3] = (0 >> 8) & 0xFF;//母线电流
data1[7] = (10000 >> 8) & 0xFF;
data1[6] = 10000 & 0xFF;
init_CAN_Frame(&m_msg1, 0x0C20FFD2, 8, 1, data1); // 车速 00
data2[0] = 3;
init_CAN_Frame(&m_msg2, 0x0C10FFD3, 8, 1, data2); // 报警器报警状态 整车状态 free
data3[1] = 4 << 2;
init_CAN_Frame(&m_msg3, 0x0C22FFD2, 8, 1, data3); // 整车操作状态反馈
data4[0] = 0;
data4[1] = 1;
data4[2] = 1;
data4[3] = 0;
data4[4] = 0;
data4[5] = 0;
data4[6] = 0;
data4[7] = 0;
init_CAN_Frame(&m_msg4, 0x0C50FFD0, 8, 1, data4); // 时间显示00 00
init_CAN_Frame(&m_msg8, 0x0C23FFD2, 8, 1, data8); // ready 刹车开关信号反馈
data9[4] = 2;
init_CAN_Frame(&m_msg9, 0x0C11FFD1, 8, 1, data9); // 总电池电量
data5[4] = 1500 & 0xFF;
data5[5] = (1500 >> 8) & 0xFF;
init_CAN_Frame(&m_msg5, 0x0C10FFD1, 8, 1, data5); // 总电池电压
init_CAN_Frame(&m_msg11, 0x0C23FFD3, 8, 1, data11); // 解除报警 蓝牙
init_CAN_Frame(&m_msg12, 0x0C23FFD0, 8, 1, data12); // 解除报警 gps gms
init_CAN_Frame(&m_msg13, 0x0C10FFD3, 8, 1, data13); // 自动大灯功能设置
init_CAN_Frame(&m_msg14, 0x0C25FFD2, 8, 1, data14); // 陡坡缓降
init_CAN_Frame(&m_msg15, 0x0C27FFD3, 8, 1, data15); // 坐桶开启
init_CAN_Frame(&m_msg6, 0x0C50FFD2, 8, 1, data6); // 整车故障灯
data7[0] = 1 << 5;
init_CAN_Frame(&m_msg7, 0x0C5AFFD2, 8, 1, data7); // TCS
//ABS
data16[0] = 1 << 2;
init_CAN_Frame(&m_msg16, 0x0C50FFDC, 8, 1, data16); // ABS功能设置反馈
data17[7] = 1 << 4;
init_CAN_Frame(&m_msg17, 0x0CC0FFDC, 8, 1, data17); // ABS故障 激活 可回复
break;
case 2:
data1[2] = 5100 & 0xFF;
data1[3] = (5100 >> 8) & 0xFF;//母线电流
data1[7] = (10133 >> 8) & 0xFF;
data1[6] = 10133 & 0xFF;
init_CAN_Frame(&m_msg1, 0x0C20FFD2, 8, 1, data1); // 车速 11
data2[0] = 3;
init_CAN_Frame(&m_msg2, 0x0C10FFD3, 8, 1, data2); // 报警器报警状态 整车状态 sport
data3[1] = 3 << 2;
init_CAN_Frame(&m_msg3, 0x0C22FFD2, 8, 1, data3); // 驾驶模式 挡位反馈
data4[0] = 0;
data4[1] = 1;
data4[2] = 1;
data4[3] = 11;
data4[4] = 11;
data4[5] = 0;
data4[6] = 0;
data4[7] = 0;
init_CAN_Frame(&m_msg4, 0x0C50FFD0, 8, 1, data4); // 时间显示 11 11
init_CAN_Frame(&m_msg8, 0x0C23FFD2, 8, 1, data8); // ready 刹车开关信号反馈
data9[4] = 30;
init_CAN_Frame(&m_msg9, 0x0C11FFD1, 8, 1, data9); // 总电池电量
data5[4] = 750 & 0xFF;
data5[5] = (750 >> 8) & 0xFF;
init_CAN_Frame(&m_msg5, 0x0C10FFD1, 8, 1, data5); // 总电池电压
init_CAN_Frame(&m_msg11, 0x0C23FFD3, 8, 1, data11); // 解除报警 蓝牙
init_CAN_Frame(&m_msg12, 0x0C23FFD0, 8, 1, data12); // 解除报警 gps gms
init_CAN_Frame(&m_msg13, 0x0C10FFD3, 8, 1, data13); // 自动大灯功能设置
init_CAN_Frame(&m_msg14, 0x0C25FFD2, 8, 1, data14); // 陡坡缓降
init_CAN_Frame(&m_msg15, 0x0C27FFD3, 8, 1, data15); // 坐桶开启
init_CAN_Frame(&m_msg6, 0x0C50FFD2, 8, 1, data6); // 整车故障灯
data7[0] = 1 << 5;
init_CAN_Frame(&m_msg7, 0x0C5AFFD2, 8, 1, data7); // TCS
//ABS
data16[0] = 1 << 2;
init_CAN_Frame(&m_msg16, 0x0C50FFDC, 8, 1, data16); // ABS功能设置反馈
data17[7] = 1 << 4;
init_CAN_Frame(&m_msg17, 0x0CC0FFDC, 8, 1, data17); // ABS故障 激活 可回复
break;
case 3:
data1[2] = 5100 & 0xFF;
data1[3] = (5100 >> 8) & 0xFF;//母线电流
data1[7] = (10266 >> 8) & 0xFF;
data1[6] = 10266 & 0xFF;
init_CAN_Frame(&m_msg1, 0x0C20FFD2, 8, 1, data1); // 车速 22
data2[0] = 3;
data2[1] = 1 << 4;
init_CAN_Frame(&m_msg2, 0x0C10FFD3, 8, 1, data2); // 驾驶模式 整车状态 ttfar
data3[1] = 1 << 2;
init_CAN_Frame(&m_msg3, 0x0C22FFD2, 8, 1, data3); // 驾驶模式 挡位反馈
data4[0] = 0;
data4[1] = 1;
data4[2] = 1;
data4[3] = 22;
data4[4] = 22;
data4[5] = 0;
data4[6] = 0;
data4[7] = 0;
init_CAN_Frame(&m_msg4, 0x0C50FFD0, 8, 1, data4); // 时间显示
init_CAN_Frame(&m_msg8, 0x0C23FFD2, 8, 1, data8); // ready 刹车开关信号反馈
data9[4] = 44;
init_CAN_Frame(&m_msg9, 0x0C11FFD1, 8, 1, data9); // 总电池电量
data5[4] = 1500 & 0xFF;
data5[5] = (1500 >> 8) & 0xFF;
init_CAN_Frame(&m_msg5, 0x0C10FFD1, 8, 1, data5); // 总电池电压
init_CAN_Frame(&m_msg11, 0x0C23FFD3, 8, 1, data11); // 解除报警 蓝牙
init_CAN_Frame(&m_msg12, 0x0C23FFD0, 8, 1, data12); // 解除报警 gps gms
data13[1] = 1 << 4;
init_CAN_Frame(&m_msg13, 0x0C10FFD3, 8, 1, data13); // 自动大灯功能设置
init_CAN_Frame(&m_msg14, 0x0C25FFD2, 8, 1, data14); // 陡坡缓降
init_CAN_Frame(&m_msg15, 0x0C27FFD3, 8, 1, data15); // 坐桶开启
init_CAN_Frame(&m_msg6, 0x0C50FFD2, 8, 1, data6); // 整车故障灯
data7[0] = 1 << 5;
init_CAN_Frame(&m_msg7, 0x0C5AFFD2, 8, 1, data7); // TCS
//ABS
data16[0] = 1 << 2;
init_CAN_Frame(&m_msg16, 0x0C50FFDC, 8, 1, data16); // ABS功能设置反馈
data17[7] = 1 << 4;
init_CAN_Frame(&m_msg17, 0x0CC0FFDC, 8, 1, data17); // ABS故障 激活 可回复
break;
case 4:
data1[2] = 5100 & 0xFF;
data1[3] = (5100 >> 8) & 0xFF;//母线电流
data1[7] = (10399 >> 8) & 0xFF;
data1[6] = 10399 & 0xFF;
init_CAN_Frame(&m_msg1, 0x0C20FFD2, 8, 1, data1); // 车速 33
data2[0] = 3;
init_CAN_Frame(&m_msg2, 0x0C10FFD3, 8, 1, data2); // 驾驶模式 整车状态
//data3[1] = 0 << 2;
init_CAN_Frame(&m_msg3, 0x0C22FFD2, 8, 1, data3); // 驾驶模式 挡位反馈
data4[0] = 0;
data4[1] = 1;
data4[2] = 1;
data4[3] = 13;
data4[4] = 33;
data4[5] = 0;
data4[6] = 0;
data4[7] = 0;
init_CAN_Frame(&m_msg4, 0x0C50FFD0, 8, 1, data4); // 时间显示
data8[0] = 1 << 6 | 2 << 4;
data8[1] = 1 << 4;
init_CAN_Frame(&m_msg8, 0x0C23FFD2, 8, 1, data8); // ready 刹车开关信号反馈 巡航灯 氛围灯红
data9[4] = 66;
init_CAN_Frame(&m_msg9, 0x0C11FFD1, 8, 1, data9); // 总电池电量
// data5[4] = 150 & 0xFF;
// data5[5] = (150 >> 8) & 0xFF;
init_CAN_Frame(&m_msg5, 0x0C10FFD1, 8, 1, data5); // 总电池电压
init_CAN_Frame(&m_msg11, 0x0C23FFD3, 8, 1, data11); // 解除报警 蓝牙
init_CAN_Frame(&m_msg12, 0x0C23FFD0, 8, 1, data12); // 解除报警 gps gms
init_CAN_Frame(&m_msg13, 0x0C10FFD3, 8, 1, data13); // 自动大灯功能设置
init_CAN_Frame(&m_msg14, 0x0C25FFD2, 8, 1, data14); // 陡坡缓降
init_CAN_Frame(&m_msg15, 0x0C27FFD3, 8, 1, data15); // 坐桶开启
init_CAN_Frame(&m_msg6, 0x0C50FFD2, 8, 1, data6); // 整车故障灯
data7[0] = 1 << 5 | 1 << 2;
init_CAN_Frame(&m_msg7, 0x0C5AFFD2, 8, 1, data7); // TCS T动力
//ABS
data16[0] = 1 << 2;
init_CAN_Frame(&m_msg16, 0x0C50FFDC, 8, 1, data16); // ABS功能设置反馈
data17[7] = 1 << 4;
init_CAN_Frame(&m_msg17, 0x0CC0FFDC, 8, 1, data17); // ABS故障 激活 可回复
break;
case 5:
data1[2] = 4900 & 0xFF;
data1[3] = (4900 >> 8) & 0xFF;//母线电流
data1[7] = (10532 >> 8) & 0xFF;
data1[6] = 10532 & 0xFF;
init_CAN_Frame(&m_msg1, 0x0C20FFD2, 8, 1, data1); // 车速 44
data2[0] = 3;
init_CAN_Frame(&m_msg2, 0x0C10FFD3, 8, 1, data2); // 驾驶模式 整车状态
data3[0] = 1 << 3;
data3[1] = 0 << 2;
init_CAN_Frame(&m_msg3, 0x0C22FFD2, 8, 1, data3); // 驾驶模式 挡位反馈
data4[0] = 0;
data4[1] = 1;
data4[2] = 1;
data4[3] = 14;
data4[4] = 44;
data4[5] = 0;
data4[6] = 0;
data4[7] = 0;
init_CAN_Frame(&m_msg4, 0x0C50FFD0, 8, 1, data4); // 时间显示
init_CAN_Frame(&m_msg8, 0x0C23FFD2, 8, 1, data8); // ready 刹车开关信号反馈
data9[4] = 88;
init_CAN_Frame(&m_msg9, 0x0C11FFD1, 8, 1, data9); // 总电池电量
data5[4] = 150 & 0xFF;
data5[5] = (150 >> 8) & 0xFF;
init_CAN_Frame(&m_msg5, 0x0C10FFD1, 8, 1, data5); // 总电池电压
init_CAN_Frame(&m_msg11, 0x0C23FFD3, 8, 1, data11); // 解除报警 蓝牙
init_CAN_Frame(&m_msg12, 0x0C23FFD0, 8, 1, data12); // 解除报警 gps gms
init_CAN_Frame(&m_msg13, 0x0C10FFD3, 8, 1, data13); // 自动大灯功能设置
init_CAN_Frame(&m_msg14, 0x0C25FFD2, 8, 1, data14); // 陡坡缓降
data15[0] = 1 << 3;
init_CAN_Frame(&m_msg15, 0x0C27FFD3, 8, 1, data15); // 坐桶开启
init_CAN_Frame(&m_msg6, 0x0C50FFD2, 8, 1, data6); // 整车故障灯
data7[0] = 1 << 3;
data7[1] = 1;
init_CAN_Frame(&m_msg7, 0x0C5AFFD2, 8, 1, data7); // TCS
//ABS
data16[0] = 1 << 2;
init_CAN_Frame(&m_msg16, 0x0C50FFDC, 8, 1, data16); // ABS功能设置反馈
data17[7] = 1 << 4;
init_CAN_Frame(&m_msg17, 0x0CC0FFDC, 8, 1, data17); // ABS故障 激活 可回复
break;
case 6:
data1[2] = 4900 & 0xFF;
data1[3] = (4900 >> 8) & 0xFF;//母线电流
data1[7] = (10665 >> 8) & 0xFF;
data1[6] = 10665 & 0xFF;
init_CAN_Frame(&m_msg1, 0x0C20FFD2, 8, 1, data1); // 车速 55
data2[0] = 3;
init_CAN_Frame(&m_msg2, 0x0C10FFD3, 8, 1, data2); // 驾驶模式 整车状态
data3[0] = 1 << 3;
data3[1] = 0 << 2;
init_CAN_Frame(&m_msg3, 0x0C22FFD2, 8, 1, data3); // 驾驶模式 挡位反馈
data4[0] = 0;
data4[1] = 1;
data4[2] = 1;
data4[3] = 15;
data4[4] = 55;
data4[5] = 0;
data4[6] = 0;
data4[7] = 0;
init_CAN_Frame(&m_msg4, 0x0C50FFD0, 8, 1, data4); // 时间显示
init_CAN_Frame(&m_msg8, 0x0C23FFD2, 8, 1, data8); // ready 刹车开关信号反馈
data9[4] = 110;
init_CAN_Frame(&m_msg9, 0x0C11FFD1, 8, 1, data9); // 总电池电量
data5[4] = 750 & 0xFF;
data5[5] = (750 >> 8) & 0xFF;
init_CAN_Frame(&m_msg5, 0x0C10FFD1, 8, 1, data5); // 总电池电压
init_CAN_Frame(&m_msg11, 0x0C23FFD3, 8, 1, data11); // 解除报警 蓝牙
init_CAN_Frame(&m_msg12, 0x0C23FFD0, 8, 1, data12); // 解除报警 gps gms
init_CAN_Frame(&m_msg13, 0x0C10FFD3, 8, 1, data13); // 自动大灯功能设置
data14[1] = 1 << 3;
init_CAN_Frame(&m_msg14, 0x0C25FFD2, 8, 1, data14); // 陡坡缓降
init_CAN_Frame(&m_msg15, 0x0C27FFD3, 8, 1, data15); // 坐桶开启
init_CAN_Frame(&m_msg6, 0x0C50FFD2, 8, 1, data6); // 整车故障灯
data7[0] = (1 << 5) | (1 << 3);
init_CAN_Frame(&m_msg7, 0x0C5AFFD2, 8, 1, data7); // TCS
//ABS
data16[0] = 1 << 2;
init_CAN_Frame(&m_msg16, 0x0C50FFDC, 8, 1, data16); // ABS功能设置反馈
data17[7] = 1 << 4;
init_CAN_Frame(&m_msg17, 0x0CC0FFDC, 8, 1, data17); // ABS故障 激活 可回复
break;
case 7:
data1[2] = 4900 & 0xFF;
data1[3] = (4900 >> 8) & 0xFF;//母线电流
data1[7] = (10798 >> 8) & 0xFF;
data1[6] = 10798 & 0xFF;
init_CAN_Frame(&m_msg1, 0x0C20FFD2, 8, 1, data1); // 车速 66
data2[0] = 3;
init_CAN_Frame(&m_msg2, 0x0C10FFD3, 8, 1, data2); // 驾驶模式 整车状态
data3[0] = 1 << 3;
data3[1] = 0 << 2;
init_CAN_Frame(&m_msg3, 0x0C22FFD2, 8, 1, data3); // 驾驶模式 挡位反馈
data4[0] = 0;
data4[1] = 1;
data4[2] = 1;
data4[3] = 16;
data4[4] = 6;
data4[5] = 0;
data4[6] = 0;
data4[7] = 0;
init_CAN_Frame(&m_msg4, 0x0C50FFD0, 8, 1, data4); // 时间显示
data8[0] = 1 << 2;
init_CAN_Frame(&m_msg8, 0x0C23FFD2, 8, 1, data8); // ready 刹车开关信号反馈
data9[4] = 132;
init_CAN_Frame(&m_msg9, 0x0C11FFD1, 8, 1, data9); // 总电池电量
data5[4] = 1500 & 0xFF;
data5[5] = (1500 >> 8) & 0xFF;
init_CAN_Frame(&m_msg5, 0x0C10FFD1, 8, 1, data5); // 总电池电压
init_CAN_Frame(&m_msg11, 0x0C23FFD3, 8, 1, data11); // 解除报警 蓝牙
init_CAN_Frame(&m_msg12, 0x0C23FFD0, 8, 1, data12); // 解除报警 gps gms
init_CAN_Frame(&m_msg13, 0x0C10FFD3, 8, 1, data13); // 自动大灯功能设置
init_CAN_Frame(&m_msg14, 0x0C25FFD2, 8, 1, data14); // 陡坡缓降
init_CAN_Frame(&m_msg15, 0x0C27FFD3, 8, 1, data15); // 坐桶开启
init_CAN_Frame(&m_msg6, 0x0C50FFD2, 8, 1, data6); // 整车故障灯
data7[0] = (1 << 5) | (1 << 3);
init_CAN_Frame(&m_msg7, 0x0C5AFFD2, 8, 1, data7); // TCS
//ABS
data16[0] = 1 << 2;
init_CAN_Frame(&m_msg16, 0x0C50FFDC, 8, 1, data16); // ABS功能设置反馈
data17[7] = 1 << 4 | 1;
init_CAN_Frame(&m_msg17, 0x0CC0FFDC, 8, 1, data17); // ABS故障 激活 可回复
break;
case 8:
data1[7] = (10931 >> 8) & 0xFF;
data1[6] = 10931 & 0xFF;
init_CAN_Frame(&m_msg1, 0x0C20FFD2, 8, 1, data1); // 车速 77
data2[0] = 3;
init_CAN_Frame(&m_msg2, 0x0C10FFD3, 8, 1, data2); // 驾驶模式 整车状态
//data3[1] = 0 << 2;
init_CAN_Frame(&m_msg3, 0x0C22FFD2, 8, 1, data3); // 驾驶模式 挡位反馈
data4[0] = 0;
data4[1] = 1;
data4[2] = 1;
data4[3] = 17;
data4[4] = 7;
data4[5] = 0;
data4[6] = 0;
data4[7] = 0;
init_CAN_Frame(&m_msg4, 0x0C50FFD0, 8, 1, data4); // 时间显示
data8[0] = 1 << 6 | 2 << 4;
init_CAN_Frame(&m_msg8, 0x0C23FFD2, 8, 1, data8); // ready 刹车开关信号反馈 氛围灯红
data9[4] = 154;
init_CAN_Frame(&m_msg9, 0x0C11FFD1, 8, 1, data9); // 总电池电量
init_CAN_Frame(&m_msg5, 0x0C10FFD1, 8, 1, data5); // 总电池电压
init_CAN_Frame(&m_msg11, 0x0C23FFD3, 8, 1, data11); // 解除报警 蓝牙
init_CAN_Frame(&m_msg12, 0x0C23FFD0, 8, 1, data12); // 解除报警 gps gms
init_CAN_Frame(&m_msg13, 0x0C10FFD3, 8, 1, data13); // 自动大灯功能设置
init_CAN_Frame(&m_msg14, 0x0C25FFD2, 8, 1, data14); // 陡坡缓降
init_CAN_Frame(&m_msg15, 0x0C27FFD3, 8, 1, data15); // 坐桶开启
init_CAN_Frame(&m_msg6, 0x0C50FFD2, 8, 1, data6); // 整车故障灯
data7[0] = (1 << 5) | (1 << 3);
init_CAN_Frame(&m_msg7, 0x0C5AFFD2, 8, 1, data7); // TCS
//ABS
data16[0] = 1 << 2;
init_CAN_Frame(&m_msg16, 0x0C50FFDC, 8, 1, data16); // ABS功能设置反馈
data17[7] = 1 << 4;
init_CAN_Frame(&m_msg17, 0x0CC0FFDC, 8, 1, data17); // ABS故障 激活 可回复
break;
case 9:
data1[7] = (11067 >> 8) & 0xFF;
data1[6] = 11067 & 0xFF;
init_CAN_Frame(&m_msg1, 0x0C20FFD2, 8, 1, data1); // 车速 88
data2[0] = 3;
init_CAN_Frame(&m_msg2, 0x0C10FFD3, 8, 1, data2); // 驾驶模式 整车状态
data3[1] = 0 << 2;
init_CAN_Frame(&m_msg3, 0x0C22FFD2, 8, 1, data3); // 驾驶模式 挡位反馈
data4[0] = 0;
data4[1] = 1;
data4[2] = 1;
data4[3] = 18;
data4[4] = 8;
data4[5] = 0;
data4[6] = 0;
data4[7] = 0;
init_CAN_Frame(&m_msg4, 0x0C50FFD0, 8, 1, data4); // 时间显示
init_CAN_Frame(&m_msg8, 0x0C23FFD2, 8, 1, data8); // ready 刹车开关信号反馈
data9[4] = 176;
init_CAN_Frame(&m_msg9, 0x0C11FFD1, 8, 1, data9); // 总电池电量
init_CAN_Frame(&m_msg5, 0x0C10FFD1, 8, 1, data5); // 总电池电压
init_CAN_Frame(&m_msg11, 0x0C23FFD3, 8, 1, data11); // 解除报警 蓝牙
init_CAN_Frame(&m_msg12, 0x0C23FFD0, 8, 1, data12); // 解除报警 gps gms
init_CAN_Frame(&m_msg13, 0x0C10FFD3, 8, 1, data13); // 自动大灯功能设置
init_CAN_Frame(&m_msg14, 0x0C25FFD2, 8, 1, data14); // 陡坡缓降
init_CAN_Frame(&m_msg15, 0x0C27FFD3, 8, 1, data15); // 坐桶开启
init_CAN_Frame(&m_msg6, 0x0C50FFD2, 8, 1, data6); // 整车故障灯
data7[0] = (1 << 5) | (1 << 3);
init_CAN_Frame(&m_msg7, 0x0C5AFFD2, 8, 1, data7); // TCS
//ABS
data16[0] = 1 << 2;
init_CAN_Frame(&m_msg16, 0x0C50FFDC, 8, 1, data16); // ABS功能设置反馈
data17[7] = 1 << 4;
init_CAN_Frame(&m_msg17, 0x0CC0FFDC, 8, 1, data17); // ABS故障 激活 可回复
break;
case 10:// 全亮 全亮 全亮 全亮 全亮 全亮 全亮
data1[7] = (11200 >> 8) & 0xFF;
data1[6] = 11200 & 0xFF;
init_CAN_Frame(&m_msg1, 0x0C20FFD2, 8, 1, data1); // 车速 99
data2[0] = 3;
init_CAN_Frame(&m_msg2, 0x0C10FFD3, 8, 1, data2); // 驾驶模式 整车状态
data3[1] = 0 << 2;
init_CAN_Frame(&m_msg3, 0x0C22FFD2, 8, 1, data3); // 驾驶模式 挡位反馈
data4[0] = 0;
data4[1] = 1;
data4[2] = 1;
data4[3] = 19;
data4[4] = 9;
data4[5] = 0;
data4[6] = 0;
data4[7] = 0;
init_CAN_Frame(&m_msg4, 0x0C50FFD0, 8, 1, data4); // 时间显示 19 09
init_CAN_Frame(&m_msg8, 0x0C23FFD2, 8, 1, data8); // ready 刹车开关信号反馈
data9[4] = 198;
init_CAN_Frame(&m_msg9, 0x0C11FFD1, 8, 1, data9); // 总电池电量
init_CAN_Frame(&m_msg5, 0x0C10FFD1, 8, 1, data5); // 总电池电压
init_CAN_Frame(&m_msg11, 0x0C23FFD3, 8, 1, data11); // 解除报警 蓝牙
init_CAN_Frame(&m_msg12, 0x0C23FFD0, 8, 1, data12); // 解除报警 gps gms
init_CAN_Frame(&m_msg13, 0x0C10FFD3, 8, 1, data13); // 自动大灯功能设置
init_CAN_Frame(&m_msg14, 0x0C25FFD2, 8, 1, data14); // 陡坡缓降
init_CAN_Frame(&m_msg15, 0x0C27FFD3, 8, 1, data15); // 坐桶开启
data6[0] = 1;
init_CAN_Frame(&m_msg6, 0x0C50FFD2, 8, 1, data6); // 整车故障灯
data7[0] = (1 << 5) | (1 << 3);
init_CAN_Frame(&m_msg7, 0x0C5AFFD2, 8, 1, data7); // TCS
//ABS
data16[0] = 1 << 2;
init_CAN_Frame(&m_msg16, 0x0C50FFDC, 8, 1, data16); // ABS功能设置反馈
data17[7] = 1 << 4 | 1;
init_CAN_Frame(&m_msg17, 0x0CC0FFDC, 8, 1, data17); // ABS故障 激活 可回复
break;
case 11:
data1[7] = (11200 >> 8) & 0xFF;
data1[6] = 11200 & 0xFF;
init_CAN_Frame(&m_msg1, 0x0C20FFD2, 8, 1, data1); // 车速 99
data2[0] = 3;
init_CAN_Frame(&m_msg2, 0x0C10FFD3, 8, 1, data2); // 驾驶模式 整车状态
data3[1] = 0 << 2;
init_CAN_Frame(&m_msg3, 0x0C22FFD2, 8, 1, data3); // 驾驶模式 挡位反馈
init_CAN_Frame(&m_msg4, 0x0C50FFD0, 8, 1, data4); // 时间显示 19 09
init_CAN_Frame(&m_msg8, 0x0C23FFD2, 8, 1, data8); // ready 刹车开关信号反馈
data9[4] = 200;
init_CAN_Frame(&m_msg9, 0x0C11FFD1, 8, 1, data9); // 总电池电量
init_CAN_Frame(&m_msg5, 0x0C10FFD1, 8, 1, data5); // 总电池电压
init_CAN_Frame(&m_msg11, 0x0C23FFD3, 8, 1, data11); // 解除报警 蓝牙
init_CAN_Frame(&m_msg12, 0x0C23FFD0, 8, 1, data12); // 解除报警 gps gms
init_CAN_Frame(&m_msg13, 0x0C10FFD3, 8, 1, data13); // 自动大灯功能设置
init_CAN_Frame(&m_msg14, 0x0C25FFD2, 8, 1, data14); // 陡坡缓降
init_CAN_Frame(&m_msg15, 0x0C27FFD3, 8, 1, data15); // 坐桶开启
data6[0] = 1;
init_CAN_Frame(&m_msg6, 0x0C50FFD2, 8, 1, data6); // 整车故障灯
data7[0] = (1 << 5) | (1 << 3);
init_CAN_Frame(&m_msg7, 0x0C5AFFD2, 8, 1, data7); // TCS
//ABS
data16[0] = 1 << 2;
init_CAN_Frame(&m_msg16, 0x0C50FFDC, 8, 1, data16); // ABS功能设置反馈
data17[7] = 1 << 4 | 1;
init_CAN_Frame(&m_msg17, 0x0CC0FFDC, 8, 1, data17); // ABS故障 激活 可回复
break;
case 12://进不去
break;
case 13:
break;
case 14:
break;
default:
break;
}
if(MENU_CHECK_STEP != 0)
{
can_mid(m_msg1);
can_mid(m_msg2);
can_mid(m_msg3);
can_mid(m_msg4);
can_mid(m_msg5);
can_mid(m_msg6);
can_mid(m_msg7);
can_mid(m_msg8);
can_mid(m_msg9);
can_mid(m_msg11);
can_mid(m_msg12);
// can_mid(m_msg13);
can_mid(m_msg14);
can_mid(m_msg15);
can_mid(m_msg16);
can_mid(m_msg17);
}
}
......@@ -2,6 +2,8 @@
#define _TASK_H_
#include "TYW_stdint.h"
#include "RSCAN.h"
#include "RTE_CAN.h"
extern uint8_t AutoFlag;
extern uint32_t devicename;
......@@ -21,4 +23,7 @@ void Sys_Exact_100ms_Tasks(void);
void Sys_Enter_Sleep_Mode(void);
uint16_t Sys_Get_ms_Rolling_Counter(void);
void init_CAN_Frame(CAN_Frame_st_t* msg, uint32_t can_id, uint8_t can_len, uint8_t can_frame_ide, const uint8_t* data);
void can_mid(CAN_Frame_st_t Msg);
void can_submit(void);
#endif
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment