Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
J
jiancetai
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
陈家乐
jiancetai
Commits
398d78bb
Commit
398d78bb
authored
Mar 28, 2025
by
baizhengyuan
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
✨
feat: 初版can外发
parent
5f23038d
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
819 additions
and
5 deletions
+819
-5
Task.c
YueJin_test_bench/source/Appliciation/Task.c
+814
-5
Task.h
YueJin_test_bench/source/Appliciation/Task.h
+5
-0
No files found.
YueJin_test_bench/source/Appliciation/Task.c
View file @
398d78bb
...
...
@@ -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
();
}
...
...
@@ -341,9 +341,9 @@ void Sys_Run_Mode_100ms_Tasks_Group(void)
Recv_Byte1
();
}
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
);
}
}
YueJin_test_bench/source/Appliciation/Task.h
View file @
398d78bb
...
...
@@ -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
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment