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
be88bac5
Commit
be88bac5
authored
Oct 23, 2025
by
何锐
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
✨
feat:完成水温指示灯
parent
ab34077c
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
159 additions
and
1417 deletions
+159
-1417
CAN_APP.c
YueJin_test_bench/source/Appliciation/CAN_APP.c
+70
-1074
CAN_APP.h
YueJin_test_bench/source/Appliciation/CAN_APP.h
+1
-3
CAN_Communication_Matrix.c
...test_bench/source/Appliciation/CAN_Communication_Matrix.c
+0
-7
Check_Ctrl.c
YueJin_test_bench/source/Appliciation/Check_Ctrl.c
+26
-222
Display_Info.c
YueJin_test_bench/source/Appliciation/Display_Info.c
+57
-57
RTE_GPIO.h
YueJin_test_bench/source/Appliciation/RTE_GPIO.h
+3
-42
Task.c
YueJin_test_bench/source/Appliciation/Task.c
+2
-12
No files found.
YueJin_test_bench/source/Appliciation/CAN_APP.c
View file @
be88bac5
...
...
@@ -7,222 +7,31 @@
#include "Check_Ctrl.h"
#include "Display_Info.h"
#include "RTE_GPIO.h"
const
uint8_t
crc8_table
[
256
]
=
{
0x00
,
0x1D
,
0x3A
,
0x27
,
0x74
,
0x69
,
0x4E
,
0x53
,
0xE8
,
0xF5
,
0xD2
,
0xCF
,
0x9C
,
0x81
,
0xA6
,
0xBB
,
0xCD
,
0xD0
,
0xF7
,
0xEA
,
0xB9
,
0xA4
,
0x83
,
0x9E
,
0x25
,
0x38
,
0x1F
,
0x02
,
0x51
,
0x4C
,
0x6B
,
0x76
,
0x87
,
0x9A
,
0xBD
,
0xA0
,
0xF3
,
0xEE
,
0xC9
,
0xD4
,
0x6F
,
0x72
,
0x55
,
0x48
,
0x1B
,
0x06
,
0x21
,
0x3C
,
0x4A
,
0x57
,
0x70
,
0x6D
,
0x3E
,
0x23
,
0x04
,
0x19
,
0xA2
,
0xBF
,
0x98
,
0x85
,
0xD6
,
0xCB
,
0xEC
,
0xF1
,
0x13
,
0x0E
,
0x29
,
0x34
,
0x67
,
0x7A
,
0x5D
,
0x40
,
0xFB
,
0xE6
,
0xC1
,
0xDC
,
0x8F
,
0x92
,
0xB5
,
0xA8
,
0xDE
,
0xC3
,
0xE4
,
0xF9
,
0xAA
,
0xB7
,
0x90
,
0x8D
,
0x36
,
0x2B
,
0x0C
,
0x11
,
0x42
,
0x5F
,
0x78
,
0x65
,
0x94
,
0x89
,
0xAE
,
0xB3
,
0xE0
,
0xFD
,
0xDA
,
0xC7
,
0x7C
,
0x61
,
0x46
,
0x5B
,
0x08
,
0x15
,
0x32
,
0x2F
,
0x59
,
0x44
,
0x63
,
0x7E
,
0x2D
,
0x30
,
0x17
,
0x0A
,
0xB1
,
0xAC
,
0x8B
,
0x96
,
0xC5
,
0xD8
,
0xFF
,
0xE2
,
0x26
,
0x3B
,
0x1C
,
0x01
,
0x52
,
0x4F
,
0x68
,
0x75
,
0xCE
,
0xD3
,
0xF4
,
0xE9
,
0xBA
,
0xA7
,
0x80
,
0x9D
,
0xEB
,
0xF6
,
0xD1
,
0xCC
,
0x9F
,
0x82
,
0xA5
,
0xB8
,
0x03
,
0x1E
,
0x39
,
0x24
,
0x77
,
0x6A
,
0x4D
,
0x50
,
0xA1
,
0xBC
,
0x9B
,
0x86
,
0xD5
,
0xC8
,
0xEF
,
0xF2
,
0x49
,
0x54
,
0x73
,
0x6E
,
0x3D
,
0x20
,
0x07
,
0x1A
,
0x6C
,
0x71
,
0x56
,
0x4B
,
0x18
,
0x05
,
0x22
,
0x3F
,
0x84
,
0x99
,
0xBE
,
0xA3
,
0xF0
,
0xED
,
0xCA
,
0xD7
,
0x35
,
0x28
,
0x0F
,
0x12
,
0x41
,
0x5C
,
0x7B
,
0x66
,
0xDD
,
0xC0
,
0xE7
,
0xFA
,
0xA9
,
0xB4
,
0x93
,
0x8E
,
0xF8
,
0xE5
,
0xC2
,
0xDF
,
0x8C
,
0x91
,
0xB6
,
0xAB
,
0x10
,
0x0D
,
0x2A
,
0x37
,
0x64
,
0x79
,
0x5E
,
0x43
,
0xB2
,
0xAF
,
0x88
,
0x95
,
0xC6
,
0xDB
,
0xFC
,
0xE1
,
0x5A
,
0x47
,
0x60
,
0x7D
,
0x2E
,
0x33
,
0x14
,
0x09
,
0x7F
,
0x62
,
0x45
,
0x58
,
0x0B
,
0x16
,
0x31
,
0x2C
,
0x97
,
0x8A
,
0xAD
,
0xB0
,
0xE3
,
0xFE
,
0xD9
,
0xC4
};
uint8_t
CRC8_CheckSum
(
uint8_t
data
[],
uint8_t
len
)
{
uint8_t
crc
=
0xFFu
;
// 初始值为0xFF
for
(
uint8_t
i
=
0
;
i
<
len
;
i
++
)
{
crc
=
crc8_table
[
crc
^
data
[
i
]];
// 逐字节查表
}
return
crc
^
0xFFu
;
// 最终异或0xFF
}
uint8_t
CrcCheckSum
(
uint8_t
*
data
,
uint8_t
len
)
{
uint8_t
crc
=
0xff
;
uint8_t
CRC_POLY
=
0x2f
;
uint8_t
crcxor
=
0xff
;
uint8_t
bit_index
=
0
;
uint8_t
byte_index
=
0
;
for
(
byte_index
=
0
;
byte_index
<
len
;
++
byte_index
)
{
crc
^=
data
[
byte_index
];
for
(
bit_index
=
0
;
bit_index
<
8
;
++
bit_index
)
{
if
(
(
crc
&
0x80
)
!=
0
)
crc
=
(
crc
<<
1
)
^
CRC_POLY
;
else
crc
=
(
crc
<<
1
);
}
}
crc
=
crc
^
crcxor
;
return
crc
;
}
void
Can_Write_Fun_APP
(
void
)
{
}
void
Can_Abort_Confirm
(
uint32_t
Identifier
,
uint8_t
TransferStatus
)
{
}
void
CAN_QuickTimer_Init
(
void
)
{
}
void
NODE_26D_SET_Confirm
(
void
)
{
}
void
Can_BusOff_Fun
(
void
)
{
}
void
Can_BusOffRecover
(
void
)
{
}
void
Can_Set_Buff_260
(
uint8_t
CopyData
[])
{
}
void
Can_Set_Buff_280
(
uint8_t
CopyData
[])
{
}
void
Can_Set_Buff_380
(
uint8_t
CopyData
[])
{
}
void
Can_Set_Buff_385
(
uint8_t
CopyData
[])
{
}
void
Can_Set_Buff_52E
(
uint8_t
CopyData
[])
{
}
void
Can_Set_Buff_69B
(
uint8_t
CopyData
[])
{
}
void
Can_Set_Buff_28A
(
uint8_t
CopyData
[])
{
}
void
Can_Set_Buff_2E1
(
uint8_t
CopyData
[])
{
}
void
Can_Set_Buff_228
(
uint8_t
CopyData
[])
{
}
void
Can_Set_Buff_211
(
uint8_t
CopyData
[])
{
}
void
Can_Set_Buff_341
(
uint8_t
CopyData
[])
{
}
void
Can_Set_Buff_128
(
uint8_t
CopyData
[])
{
}
void
Can_Set_Buff_24A
(
uint8_t
CopyData
[])
{
}
void
Can_Set_Buff_35A
(
uint8_t
CopyData
[])
{
}
void
Can_Set_Buff_135
(
uint8_t
CopyData
[])
{
}
void
Can_Set_Buff_153
(
uint8_t
CopyData
[])
{
}
void
Can_Set_Buff_131
(
uint8_t
CopyData
[])
{
}
void
Can_Set_Buff_139
(
uint8_t
CopyData
[])
{
}
void
Can_Set_Buff_431
(
uint8_t
CopyData
[])
{
}
void
Can_Set_Buff_5e0
(
uint8_t
CopyData
[])
{
}
void
Can_Set_Buff_236
(
uint8_t
CopyData
[])
{
}
void
Can_Set_Buff_168
(
uint8_t
CopyData
[])
{
}
void
Can_Set_Buff_0F6
(
uint8_t
CopyData
[])
{
}
void
Can_Set_Buff_0E1
(
uint8_t
CopyData
[])
{
}
void
Can_Set_Buff_036
(
uint8_t
CopyData
[])
{
}
void
Can_Set_Buff_0B6
(
uint8_t
CopyData
[])
{
}
void
Can_Set_Buff_320
(
uint8_t
CopyData
[])
{
}
#define CAN_ID_1 0x521
#define CAN_ID_2 0x522
void
Can_Set_Buff_152
(
uint8_t
CopyData
[])
{
CAN_Frame_st_t
m_msg1
;
CAN_Frame_st_t
m_msg2
;
CAN_Frame_st_t
m_msg3
;
CAN_Frame_st_t
m_msg4
;
CAN_Frame_st_t
m_msg5
;
CAN_Frame_st_t
m_msg6
;
}
uint8_t
data1
[
8
]
=
{
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
};
uint8_t
data2
[
8
]
=
{
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
};
uint8_t
data3
[
8
]
=
{
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
};
uint8_t
data4
[
8
]
=
{
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
};
uint8_t
data5
[
8
]
=
{
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
};
uint8_t
data6
[
8
]
=
{
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
};
void
Can_Set_Buff_1A1
(
uint8_t
CopyData
[])
{
}
typedef
enum
{
CAN_REG_FAIL
=
0
,
// 未注册/注册失败
CAN_REG_OK
// 已注册成功
}
CAN_Register_Result_e
;
void
Can_Set_Buff_75F
(
uint8_t
CopyData
[])
{
}
void
Can_Set_Buff_389
(
uint8_t
CopyData
[])
{
static
CAN_Register_Result_e
g_canRegStatus
=
CAN_REG_FAIL
;
// 注册状态全局变量
}
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
++
)
{
...
...
@@ -231,9 +40,9 @@ void init_CAN_Frame(CAN_Frame_st_t* msg, uint32_t can_id, uint8_t can_len, uint8
msg
->
u32CANID
=
can_id
;
msg
->
u8CANLEN
=
can_len
;
//
msg->u8CANFrameIDE = can_frame_ide;
msg
->
u8CANFrameIDE
=
0
;
for
(
uint32_t
i
=
0
;
i
<
can_len
;
i
++
)
{
msg
->
u8CANFrameIDE
=
can_frame_ide
;
for
(
uint32_t
i
=
0
;
i
<
can_len
;
i
++
)
{
msg
->
unCANData
.
u8CANData
[
i
]
=
data
[
i
];
}
}
...
...
@@ -246,590 +55,91 @@ void can_mid(CAN_Frame_st_t Msg)
RSCAN0_CH4_Set_FIFO0_Data
(
&
m_msg
);
}
uint8_t
rolaconter
=
0
;
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_Register_Result_e
checkIfRegistered
(
void
)
{
return
g_canRegStatus
;
}
//功率
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
CAN_Frame_st_t
m_msg8
;
uint8_t
data8
[
8
]
=
{
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
};
//0x0C50FFD2
// CAN_Frame_st_t m_msg7;
// uint8_t data7[8] = {0, 0, 0, 0, 0, 0, 0, 0};
// //故障灯
// CAN_Frame_st_t m_msg7;
// uint8_t data7[8] = {0, 0, 0, 0, 0, 0, 0, 0};//0x0C50FFD2
// // CAN_Frame_st_t m_msg7;
// // uint8_t data7[8] = {0, 0, 0, 0, 0, 0, 0, 0};
if
((
MENU_CHECK_STEP
!=
6
)
&&
(
MENU_CHECK_STEP
!=
10
))
{
/* ABS故障指示灯 */
data1
[
5
]
=
0x00
;
void
CAN_Service
(
void
)
{
init_CAN_Frame
(
&
m_msg1
,
CAN_ID_1
,
8
,
0
,
data1
);
init_CAN_Frame
(
&
m_msg2
,
CAN_ID_2
,
8
,
0
,
data2
);
// init_CAN_Frame(&m_msg3, CAN_ID_1, 8, 0, data3);
// init_CAN_Frame(&m_msg4, CAN_ID_1, 8, 0, data4);
// init_CAN_Frame(&m_msg5, CAN_ID_1, 8, 0, data5);
// init_CAN_Frame(&m_msg6, CAN_ID_1, 8, 0, data6);
can_mid
(
m_msg1
);
can_mid
(
m_msg2
);
}
// data1[7] = CRC8_CheckSum(data1,7);
init_CAN_Frame
(
&
m_msg1
,
0x12B
,
8
,
1
,
data1
);
can_mid
(
m_msg1
);
}
void
can_submit
(
void
)
{
switch
(
MENU_CHECK_STEP
)
{
case
1
:
/* 车速 */
//22
data1
[
0
]
=
0x01
;
data1
[
1
]
=
0x87
;
data1
[
4
]
=
0x00
;
//车速有效信号
// data1[7] = CRC8_CheckSum(data1,7);
init_CAN_Frame
(
&
m_msg1
,
0x12B
,
8
,
1
,
data1
);
/* 转速 */
//1000
data2
[
2
]
=
0x0F
;
data2
[
3
]
=
0xA0
;
/* 水温 */
data2
[
5
]
=
0X00
;
data2
[
7
]
=
0x00
;
//转速水温有效信号
init_CAN_Frame
(
&
m_msg2
,
0x110
,
8
,
1
,
data2
);
/* 时间 */
data3
[
3
]
=
0x12
;
//时
data3
[
4
]
=
0
;
//分
data3
[
5
]
=
0
;
//秒
init_CAN_Frame
(
&
m_msg3
,
0x421
,
8
,
1
,
data3
);
data1
[
1
]
=
0x00
;
//水温
/* 左后方盲区侦测指示灯 */
data4
[
2
]
=
0x01
;
/* 左后方盲区侦测指示灯 */
data4
[
0
]
=
0x00
;
//SW_Resp
data4
[
1
]
=
0x00
;
//BSD_STATUS_L
init_CAN_Frame
(
&
m_msg4
,
0x50A
,
8
,
1
,
data4
);
/* 边撑指示灯 */
data5
[
1
]
=
0x00
;
//BCM_FootBrackeSwSts
init_CAN_Frame
(
&
m_msg5
,
0x200
,
8
,
1
,
data5
);
/* 发动机故障指示灯 */
data6
[
1
]
=
0x00
;
//BCM_FootBrackeSwSts
init_CAN_Frame
(
&
m_msg6
,
0x111
,
8
,
1
,
data6
);
data8
[
3
]
=
0x00
;
//
data8
[
2
]
=
0x00
;
//TCS
init_CAN_Frame
(
&
m_msg8
,
0x51B
,
8
,
1
,
data8
);
data2
[
4
]
=
0x00
;
data2
[
5
]
=
0x00
;
break
;
case
2
:
/* 车速 */
data1
[
0
]
=
0x02
;
data1
[
1
]
=
0xF0
;
data1
[
4
]
=
0x00
;
//车速有效信号
// data1[7] = CRC8_CheckSum(data1,7);
init_CAN_Frame
(
&
m_msg1
,
0x12B
,
8
,
1
,
data1
);
/* 转速 */
data2
[
2
]
=
0x1F
;
data2
[
3
]
=
0x40
;
/* 水温 */
data2
[
5
]
=
0X01
;
data2
[
7
]
=
0x00
;
//转速水温有效信号
init_CAN_Frame
(
&
m_msg2
,
0x110
,
8
,
1
,
data2
);
data1
[
1
]
=
0x5A
;
/* 时间 */
data3
[
3
]
=
0x14
;
//时
data3
[
4
]
=
0
;
//分
data3
[
5
]
=
0
;
//秒
init_CAN_Frame
(
&
m_msg3
,
0x421
,
8
,
1
,
data3
);
/* 左后方盲区侦测指示灯 */
data4
[
0
]
=
0x02
;
//SW_Resp
data4
[
1
]
=
0x01
;
//BSD_STATUS_L
init_CAN_Frame
(
&
m_msg4
,
0x50A
,
8
,
1
,
data4
);
/* 边撑指示灯 */
data5
[
1
]
=
0x00
;
//BCM_FootBrackeSwSts
init_CAN_Frame
(
&
m_msg5
,
0x200
,
8
,
1
,
data5
);
/* 发动机故障指示灯 */
data6
[
1
]
=
0x00
;
//BCM_FootBrackeSwSts
init_CAN_Frame
(
&
m_msg6
,
0x111
,
8
,
1
,
data6
);
data8
[
3
]
=
0x00
;
//
data8
[
2
]
=
0x00
;
//TCS
init_CAN_Frame
(
&
m_msg8
,
0x51B
,
8
,
1
,
data8
);
data2
[
4
]
=
0xE8
;
data2
[
5
]
=
0x03
;
break
;
case
3
:
/* 车速 */
data1
[
0
]
=
0x04
;
data1
[
1
]
=
0x60
;
data1
[
4
]
=
0x00
;
//车速有效信号
// data1[7] = CRC8_CheckSum(data1,7);
init_CAN_Frame
(
&
m_msg1
,
0x12B
,
8
,
1
,
data1
);
/* 转速 */
data2
[
2
]
=
0x2E
;
data2
[
3
]
=
0xE0
;
/* 水温 */
data2
[
4
]
=
0X60
;
data2
[
7
]
=
0x00
;
//转速水温有效信号
init_CAN_Frame
(
&
m_msg2
,
0x110
,
8
,
1
,
data2
);
/* 时间 */
data3
[
3
]
=
0x16
;
//时
data3
[
4
]
=
0
;
//分
data3
[
5
]
=
0
;
//秒
init_CAN_Frame
(
&
m_msg3
,
0x421
,
8
,
1
,
data3
);
/* 左后方盲区侦测指示灯 */
data4
[
0
]
=
0x00
;
//SW_Resp
data4
[
1
]
=
0x00
;
//BSD_STATUS_L
init_CAN_Frame
(
&
m_msg4
,
0x50A
,
8
,
1
,
data4
);
/* 边撑指示灯 */
data5
[
1
]
=
0x00
;
//BCM_FootBrackeSwSts
init_CAN_Frame
(
&
m_msg5
,
0x200
,
8
,
1
,
data5
);
/* 发动机故障指示灯 */
data6
[
1
]
=
0x00
;
//BCM_FootBrackeSwSts
init_CAN_Frame
(
&
m_msg6
,
0x111
,
8
,
1
,
data6
);
data1
[
1
]
=
0xAA
;
data8
[
3
]
=
0x00
;
//
data8
[
2
]
=
0x00
;
//TCS
init_CAN_Frame
(
&
m_msg8
,
0x51B
,
8
,
1
,
data8
);
data2
[
4
]
=
0xE8
;
data2
[
5
]
=
0x03
;
break
;
case
4
:
/* 车速 */
data1
[
0
]
=
0x05
;
data1
[
1
]
=
0xE0
;
data1
[
4
]
=
0x00
;
//车速有效信号
// data1[7] = CRC8_CheckSum(data1,7);
init_CAN_Frame
(
&
m_msg1
,
0x12B
,
8
,
1
,
data1
);
data1
[
1
]
=
0xAA
;
/* 转速 */
data2
[
2
]
=
0x3E
;
data2
[
3
]
=
0x80
;
/* 水温 */
data2
[
4
]
=
0XC4
;
data2
[
7
]
=
0x00
;
//转速水温有效信号
init_CAN_Frame
(
&
m_msg2
,
0x110
,
8
,
1
,
data2
);
/* 时间 */
data3
[
3
]
=
0x00
;
//时
data3
[
4
]
=
0
;
//分
data3
[
5
]
=
0
;
//秒
init_CAN_Frame
(
&
m_msg3
,
0x421
,
8
,
1
,
data3
);
/* 左后方盲区侦测指示灯 */
data4
[
0
]
=
0x00
;
//SW_Resp
data4
[
1
]
=
0x00
;
//BSD_STATUS_L
init_CAN_Frame
(
&
m_msg4
,
0x50A
,
8
,
1
,
data4
);
/* 边撑指示灯 */
data5
[
1
]
=
0x80
;
//BCM_FootBrackeSwSts
init_CAN_Frame
(
&
m_msg5
,
0x200
,
8
,
1
,
data5
);
/* 发动机故障指示灯 */
data6
[
1
]
=
0x00
;
//BCM_FootBrackeSwSts
init_CAN_Frame
(
&
m_msg6
,
0x111
,
8
,
1
,
data6
);
data8
[
3
]
=
0x00
;
//
data8
[
2
]
=
0x00
;
//TCS
init_CAN_Frame
(
&
m_msg8
,
0x51B
,
8
,
1
,
data8
);
data2
[
4
]
=
0xE8
;
data2
[
5
]
=
0x03
;
break
;
case
5
:
/* 车速 */
data1
[
0
]
=
0x06
;
data1
[
1
]
=
0xA1
;
data1
[
4
]
=
0x00
;
//车速有效信号
// data1[7] = CRC8_CheckSum(data1,7);
init_CAN_Frame
(
&
m_msg1
,
0x12B
,
8
,
1
,
data1
);
/* 转速 */
data2
[
2
]
=
0x4E
;
data2
[
3
]
=
0x20
;
/* 水温 */
data2
[
4
]
=
0XE0
;
data2
[
7
]
=
0x00
;
//转速水温有效信号
init_CAN_Frame
(
&
m_msg2
,
0x110
,
8
,
1
,
data2
);
/* 时间 */
data3
[
3
]
=
0x02
;
//时
data3
[
4
]
=
0
;
//分
data3
[
5
]
=
0
;
//秒
init_CAN_Frame
(
&
m_msg3
,
0x421
,
8
,
1
,
data3
);
/* 左后方盲区侦测指示灯 */
data4
[
0
]
=
0x00
;
//SW_Resp
data4
[
1
]
=
0x00
;
//BSD_STATUS_L
init_CAN_Frame
(
&
m_msg4
,
0x50A
,
8
,
1
,
data4
);
/* 边撑指示灯 */
data5
[
1
]
=
0x00
;
//BCM_FootBrackeSwSts
init_CAN_Frame
(
&
m_msg5
,
0x200
,
8
,
1
,
data5
);
data1
[
1
]
=
0x00
;
/* 发动机故障指示灯 */
data6
[
0
]
=
0x08
;
//BCM_FootBrackeSwSts
init_CAN_Frame
(
&
m_msg6
,
0x111
,
8
,
1
,
data6
);
data8
[
3
]
=
0x00
;
//
data8
[
2
]
=
0x00
;
//TCS
init_CAN_Frame
(
&
m_msg8
,
0x51B
,
8
,
1
,
data8
);
data2
[
4
]
=
0x00
;
data2
[
5
]
=
0x00
;
break
;
case
6
:
/* 车速 */
data1
[
0
]
=
0x09
;
data1
[
1
]
=
0x40
;
data1
[
4
]
=
0x00
;
//车速有效信号
/* ABS故障指示灯 */
data1
[
5
]
=
0x01
;
// data1[7] = CRC8_CheckSum(data1,7);
init_CAN_Frame
(
&
m_msg1
,
0x12B
,
8
,
1
,
data1
);
/* 转速 */
data2
[
2
]
=
0x6D
;
data2
[
3
]
=
0x60
;
/* 水温 */
data2
[
4
]
=
0XE0
;
data2
[
7
]
=
0x00
;
//转速水温有效信号
init_CAN_Frame
(
&
m_msg2
,
0x110
,
8
,
1
,
data2
);
/* 时间 */
data3
[
3
]
=
0x04
;
//时
data3
[
4
]
=
0
;
//分
data3
[
5
]
=
0
;
//秒
init_CAN_Frame
(
&
m_msg3
,
0x421
,
8
,
1
,
data3
);
/* 左后方盲区侦测指示灯 */
data4
[
0
]
=
0x00
;
//SW_Resp
data4
[
1
]
=
0x00
;
//BSD_STATUS_L
init_CAN_Frame
(
&
m_msg4
,
0x50A
,
8
,
1
,
data4
);
/* 边撑指示灯 */
data5
[
1
]
=
0x00
;
//BCM_FootBrackeSwSts
init_CAN_Frame
(
&
m_msg5
,
0x200
,
8
,
1
,
data5
);
/* 发动机故障指示灯 */
data6
[
0
]
=
0x00
;
//BCM_FootBrackeSwSts
init_CAN_Frame
(
&
m_msg6
,
0x111
,
8
,
1
,
data6
);
data8
[
3
]
=
0x20
;
//
data8
[
2
]
=
0x00
;
//TCS
init_CAN_Frame
(
&
m_msg8
,
0x51B
,
8
,
1
,
data8
);
data1
[
1
]
=
0x00
;
data2
[
4
]
=
0x00
;
data2
[
5
]
=
0x00
;
break
;
case
7
:
/* 车速 */
data1
[
0
]
=
0x0B
;
data1
[
1
]
=
0xE0
;
data1
[
4
]
=
0x00
;
//车速有效信号
/* ABS故障指示灯 */
data1
[
5
]
=
0x00
;
// data1[7] = CRC8_CheckSum(data1,7);
init_CAN_Frame
(
&
m_msg1
,
0x12B
,
8
,
1
,
data1
);
/* 转速 */
data2
[
2
]
=
0x7D
;
data2
[
3
]
=
0x00
;
/* 水温 */
data2
[
4
]
=
0XE0
;
data2
[
7
]
=
0x00
;
//转速水温有效信号
init_CAN_Frame
(
&
m_msg2
,
0x110
,
8
,
1
,
data2
);
/* 时间 */
data3
[
3
]
=
0x06
;
//时
data3
[
4
]
=
0
;
//分
data3
[
5
]
=
0
;
//秒
init_CAN_Frame
(
&
m_msg3
,
0x421
,
8
,
1
,
data3
);
data1
[
1
]
=
0x00
;
/* 左后方盲区侦测指示灯 */
data4
[
0
]
=
0x00
;
//SW_Resp
data4
[
1
]
=
0x00
;
//BSD_STATUS_L
init_CAN_Frame
(
&
m_msg4
,
0x50A
,
8
,
1
,
data4
);
/* 边撑指示灯 */
data5
[
1
]
=
0x00
;
//BCM_FootBrackeSwSts
init_CAN_Frame
(
&
m_msg5
,
0x200
,
8
,
1
,
data5
);
/* 发动机故障指示灯 */
data6
[
1
]
=
0x00
;
//BCM_FootBrackeSwSts
init_CAN_Frame
(
&
m_msg6
,
0x111
,
8
,
1
,
data6
);
data8
[
3
]
=
0x00
;
//
data8
[
2
]
=
0x04
;
//TCS
init_CAN_Frame
(
&
m_msg8
,
0x51B
,
8
,
1
,
data8
);
data2
[
4
]
=
0x00
;
data2
[
5
]
=
0x00
;
break
;
case
8
:
/* 车速 */
data1
[
0
]
=
0x0D
;
data1
[
1
]
=
0xE4
;
data1
[
4
]
=
0x00
;
//车速有效信号
/* ABS故障指示灯 */
data1
[
5
]
=
0x00
;
// data1[7] = CRC8_CheckSum(data1,7);
init_CAN_Frame
(
&
m_msg1
,
0x12B
,
8
,
1
,
data1
);
/* 转速 */
data2
[
2
]
=
0x9C
;
data2
[
3
]
=
0x40
;
/* 水温 */
data2
[
4
]
=
0XE0
;
data2
[
7
]
=
0x00
;
//转速水温有效信号
init_CAN_Frame
(
&
m_msg2
,
0x110
,
8
,
1
,
data2
);
/* 时间 */
data3
[
3
]
=
0x0A
;
//时
data3
[
4
]
=
0
;
//分
data3
[
5
]
=
0
;
//秒
init_CAN_Frame
(
&
m_msg3
,
0x421
,
8
,
1
,
data3
);
/* 左后方盲区侦测指示灯 */
data4
[
2
]
=
0x01
;
/* 左后方盲区侦测指示灯 */
data4
[
0
]
=
0x02
;
//SW_Resp
init_CAN_Frame
(
&
m_msg4
,
0x50A
,
8
,
1
,
data4
);
/* 边撑指示灯 */
data5
[
1
]
=
0x00
;
//BCM_FootBrackeSwSts
init_CAN_Frame
(
&
m_msg5
,
0x200
,
8
,
1
,
data5
);
/* 发动机故障指示灯 */
data6
[
1
]
=
0x00
;
//BCM_FootBrackeSwSts
init_CAN_Frame
(
&
m_msg6
,
0x111
,
8
,
1
,
data6
);
data8
[
3
]
=
0x00
;
//
data8
[
2
]
=
0x00
;
//TCS
init_CAN_Frame
(
&
m_msg8
,
0x51B
,
8
,
1
,
data8
);
data1
[
1
]
=
0x00
;
data2
[
4
]
=
0x00
;
data2
[
5
]
=
0x00
;
break
;
case
9
:
/* 车速 */
data1
[
0
]
=
0x0D
;
data1
[
1
]
=
0xE4
;
data1
[
4
]
=
0x00
;
//车速有效信号
/* ABS故障指示灯 */
data1
[
5
]
=
0x00
;
// data1[7] = CRC8_CheckSum(data1,7);
init_CAN_Frame
(
&
m_msg1
,
0x12B
,
8
,
1
,
data1
);
data1
[
1
]
=
0x00
;
/* 转速 */
data2
[
2
]
=
0xBB
;
data2
[
3
]
=
0x80
;
/* 水温 */
data2
[
4
]
=
0XE0
;
data2
[
7
]
=
0x00
;
//转速水温有效信号
init_CAN_Frame
(
&
m_msg2
,
0x110
,
8
,
1
,
data2
);
/* 时间 */
data3
[
3
]
=
0x0F
;
//时
data3
[
4
]
=
0
;
//分
data3
[
5
]
=
0
;
//秒
init_CAN_Frame
(
&
m_msg3
,
0x421
,
8
,
1
,
data3
);
/* 左后方盲区侦测指示灯 */
data4
[
2
]
=
0x01
;
/* 左后方盲区侦测指示灯 */
data4
[
0
]
=
0x00
;
//SW_Resp
data4
[
1
]
=
0x00
;
//BSD_STATUS_L
init_CAN_Frame
(
&
m_msg4
,
0x50A
,
8
,
1
,
data4
);
/* 边撑指示灯 */
data5
[
1
]
=
0x00
;
//BCM_FootBrackeSwSts
init_CAN_Frame
(
&
m_msg5
,
0x200
,
8
,
1
,
data5
);
/* 发动机故障指示灯 */
data6
[
1
]
=
0x00
;
//BCM_FootBrackeSwSts
init_CAN_Frame
(
&
m_msg6
,
0x111
,
8
,
1
,
data6
);
data8
[
3
]
=
0x00
;
//
data8
[
2
]
=
0x00
;
//TCS
init_CAN_Frame
(
&
m_msg8
,
0x51B
,
8
,
1
,
data8
);
data2
[
4
]
=
0x00
;
data2
[
5
]
=
0x00
;
break
;
case
10
:
/* 车速 */
data1
[
0
]
=
0x0D
;
data1
[
1
]
=
0xE4
;
data1
[
4
]
=
0x00
;
//车速有效信号
/* ABS故障指示灯 */
data1
[
5
]
=
0x01
;
// data1[7] = CRC8_CheckSum(data1,7);
init_CAN_Frame
(
&
m_msg1
,
0x12B
,
8
,
1
,
data1
);
/* 转速 */
data2
[
2
]
=
0xBB
;
data2
[
3
]
=
0x80
;
/* 水温 */
data2
[
4
]
=
0XE0
;
data2
[
7
]
=
0x00
;
//转速水温有效信号
init_CAN_Frame
(
&
m_msg2
,
0x110
,
8
,
1
,
data2
);
/* 时间 */
data3
[
3
]
=
0x10
;
//时
data3
[
4
]
=
0
;
//分
data3
[
5
]
=
0
;
//秒
init_CAN_Frame
(
&
m_msg3
,
0x421
,
8
,
1
,
data3
);
/* 左后方盲区侦测指示灯 */
data4
[
2
]
=
0x01
;
/* 左后方盲区侦测指示灯 */
data4
[
0
]
=
0x02
;
//SW_Resp
data4
[
1
]
=
0x01
;
//BSD_STATUS_L
init_CAN_Frame
(
&
m_msg4
,
0x50A
,
8
,
1
,
data4
);
/* 边撑指示灯 */
data5
[
1
]
=
0x80
;
//BCM_FootBrackeSwSts
init_CAN_Frame
(
&
m_msg5
,
0x200
,
8
,
1
,
data5
);
data1
[
1
]
=
0x00
;
/* 发动机故障指示灯 */
data6
[
0
]
=
0x08
;
//BCM_FootBrackeSwSts
init_CAN_Frame
(
&
m_msg6
,
0x111
,
8
,
1
,
data6
);
data8
[
1
]
=
0x20
;
//
// data8[2] = 0x04; //禁止TCS,与TCSD只能显示一个
data8
[
3
]
=
0x20
;
//
init_CAN_Frame
(
&
m_msg8
,
0x51B
,
8
,
1
,
data8
);
break
;
case
11
:
POWER_CTRL_KL30
=
0u
;
//B+
POWER_CTRL_KL15
=
0u
;
//KL15
data2
[
4
]
=
0x00
;
data2
[
5
]
=
0x00
;
break
;
// data1[2] = 0x60;
// data1[3] = 0x19;
// data1[4] = 0x98;
// data1[5] = 0;
// data1[6] = (rolaconter<<4);;
// data1[7] = CRC8_CheckSum(data1,7);
// init_CAN_Frame(&m_msg1, 0x111, 8, 1, data1);
// data2[2] = 0x9C;
// data2[3] = 0x40;
// data2[4] = 0xEC;//水温
// init_CAN_Frame(&m_msg2, 0x110, 8, 1, data2);
// data3[1] = 0;
// init_CAN_Frame(&m_msg3, 0x113, 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, 0x212, 8, 1, data4);
// data5[1] = 0 ;
// init_CAN_Frame(&m_msg5, 0x282, 8, 1, data5);
// data6[4] = 2;
// init_CAN_Frame(&m_msg6, 0x091, 8, 1, data6);
// break;
// case 12://进不去
// data1[2] = 0x20;
// data1[3] = 0x19;
// data1[4] = 0x98;
// data1[5] = 0;
// data1[6] = (rolaconter<<4);;
// data1[7] = CRC8_CheckSum(data1,7);
// init_CAN_Frame(&m_msg1, 0x111, 8, 1, data1);
// data2[2] = 0x9C;
// data2[3] = 0x40;
// data2[4] = 0xEC;//水温
// init_CAN_Frame(&m_msg2, 0x110, 8, 1, data2);
// data3[1] = 0;
// init_CAN_Frame(&m_msg3, 0x113, 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, 0x212, 8, 1, data4);
// data5[1] = 0 ;
// init_CAN_Frame(&m_msg5, 0x282, 8, 1, data5);
// data6[4] = 2;
// init_CAN_Frame(&m_msg6, 0x091, 8, 1, data6);
// break;
// case 13:
// data1[2] = 0;
// data1[3] = 0x19;
// data1[4] = 0x98;
// data1[5] = 0;
// data1[6] = (rolaconter<<4);;
// data1[7] = CRC8_CheckSum(data1,7);
// init_CAN_Frame(&m_msg1, 0x111, 8, 1, data1);
// data2[2] = 0x9C;
// data2[3] = 0x40;
// init_CAN_Frame(&m_msg2, 0x110, 8, 1, data2);
// data3[1] = 0;
// init_CAN_Frame(&m_msg3, 0x113, 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, 0x212, 8, 1, data4);
// data5[1] = 1 ;
// init_CAN_Frame(&m_msg5, 0x282, 8, 1, data5);
// data6[4] = 2;
// init_CAN_Frame(&m_msg6, 0x091, 8, 1, data6);
// break;
// // case 14:
// // // while(1)
// // // {
// // // ;//这里让芯片复位要不然的话重新走仪表配置流程有点麻烦,复位的话可以直接省去修改很多条件
// // // }
// // break;
default:
break
;
}
if
(
MENU_CHECK_STEP
!=
0
&&
MENU_CHECK_STEP
<=
13
)
{
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_msg8
);
// can_mid(m_msg7);
}
}
void
UID_ADD
(
void
)
{
...
...
@@ -863,7 +173,7 @@ void Get_SW_msg(void);
void
Get_HW_msg
(
void
);
void
Get_PN_msg
(
void
);
extern
uint32_t
send0x714time
;
uint8_t
begin714
=
0
;
;
uint8_t
begin714
=
0
;
uint8_t
UIDdelay
;
uint8_t
SWINtestresult
;
void
Send_UDS_fuc
()
...
...
@@ -1559,251 +869,11 @@ uint32_t GenerateKey(uint8_t *Seed)
// ValidSeedKey = ((uint32_t)arr[0u] <<24u) + ((uint32_t)arr[1u] << 16u) + ((uint32_t)arr[2u] << 8u) + ((uint32_t)arr[3u] );
//
// }
uint8_t
chaengUDSstep
=
0
;
uint8_t
seednum
[
4
]
=
{
0
};
uint32_t
UDS_time
=
0
;
extern
uint32_t
fakedelay
;
extern
uint32_t
fakedelay
;
uint32_t
resetpowtime
=
0
;
uint32_t
FUresetpowtime
=
0
;
uint8_t
fuelreset1
=
0
;
uint8_t
fuelreset2
=
0
;
uint8_t
fuelreset3
=
0
;
uint8_t
fuelreset4
=
0
;
void
resetpowerfuel
(
void
)
{
// if(FUresetpowtime < 100)
// {
// FUresetpowtime++;
// POWER_CTRL_KL30 = 0u; //B+
// POWER_CTRL_KL15 = 0u; //KL15
// }
// else
// {
// POWER_CTRL_KL30 = 1u; //B+
// POWER_CTRL_KL15 = 1u; //KL15
// FUresetpowtime = 0;
// if(fuelreset1 == 1)
// {
// fuelreset1 = 2;
// }
// else if(fuelreset2 == 1)
// {
// fuelreset2 = 2;
// }
// else if(fuelreset3 == 1)
// {
// fuelreset3 = 2;
// }
// else if(fuelreset4 == 1)
// {
// fuelreset4 = 2;
// }
// else
// {
// ;
// }
// }
}
void
resetpower
(
void
)
{
// if(resetpowtime < 100)
// {
// resetpowtime++;
// POWER_CTRL_KL30 = 0u; //B+
// POWER_CTRL_KL15 = 0u; //KL15
// }
// else
// {
// POWER_CTRL_KL30 = 1u; //B+
// POWER_CTRL_KL15 = 1u; //KL15
// chaengUDSstep = 0;
// resettime = 1;
// }
// resetflag = 1;
}
void
resetchangeUDSfuc
(
void
)
{
// if((MENU_CHECK_STEP == 0 || MENU_CHECK_STEP == 10) && resettime == 0)
// {
// fakedelay = 0;
// UDS_time = 0;
// getseedresult = 0;
// fakedelay = 0;
// if(MENU_CHECK_STEP == 10)
// {
// resetpower();
// }
// else
// {
// resettime = 1;
// chaengUDSstep = 0;
// }
// }
// if(MENU_CHECK_STEP != 0 && MENU_CHECK_STEP != 10)
// {
// resettime = 0;
// }
}
uint8_t
vspeedpeizhi
=
0
;
uint8_t
trackmode
=
0
;
void
change_UDS_DID
(
void
)
{
// if(MENU_CHECK_STEP != 0)
// {
// vspeedpeizhi = 0x4;
// trackmode = 1;
// }
// else
// {
// vspeedpeizhi = 0x3;
// trackmode = 0;
// }
// CAN_Frame_st_t m_msg;
// uint8_t data[8] = {0, 0, 0, 0, 0, 0, 0, 0};
// switch (chaengUDSstep)
// {
// case 0:
// resetflag = 1;
// data[0] = 0x02;
// data[1] = 0x10;
// data[2] = 0x03;
// data[3] = 0xAA;
// data[4] = 0xAA;
// data[5] = 0xAA;
// data[6] = 0xAA;
// data[7] = 0xAA;
// init_CAN_Frame(&m_msg, 0x7A1, 8, 1, data);
// can_mid(m_msg);
// POWER_CTRL_KL30 = 1u; //B+
// POWER_CTRL_KL15 = 1u; //KL15
// chaengUDSstep++;
// break;
// case 1:
// data[0] = 0x02;
// data[1] = 0x27;
// data[2] = 0x01;
// data[3] = 0xAA;
// data[4] = 0xAA;
// data[5] = 0xAA;
// data[6] = 0xAA;
// data[7] = 0xAA;
// init_CAN_Frame(&m_msg, 0x7A1, 8, 1, data);
// can_mid(m_msg);
// chaengUDSstep++;
// break;
// case 2:
// get_seed_msg();
// if(getseedresult == 1)
// {
// chaengUDSstep++;
// }
// break;
// case 3:
// data[0] = 0x06;
// data[1] = 0x27;
// data[2] = 0x02;
// data[3] = seedresult[0];
// data[4] = seedresult[1];
// data[5] = seedresult[2];
// data[6] = seedresult[3];
// data[7] = 0xAA;
// init_CAN_Frame(&m_msg, 0x7A1, 8, 1, data);
// can_mid(m_msg);
// chaengUDSstep++;
// break;
// case 4:
// data[0] = 0x10;
// data[1] = 0x13;
// data[2] = 0x2E;
// data[3] = 0xF0;
// data[4] = 0x10;
// data[5] = 0x03;
// data[6] = 0xBF;
// data[7] = 0xFD;
// init_CAN_Frame(&m_msg, 0x7A1, 8, 1, data);
// can_mid(m_msg);
// chaengUDSstep++;
// break;
// case 5:
// data[0] = 0x21;
// data[1] = 0xE7;
// data[2] = vspeedpeizhi;//车速配置四:0x03 车速配置五:0x04
// data[3] = 0x03;
// data[4] = 0x98;
// data[5] = 0x20;
// data[6] = 0x00;
// data[7] = 0x00;
// init_CAN_Frame(&m_msg, 0x7A9, 8, 1, data);
// can_mid(m_msg);
// chaengUDSstep++;
// break;
// case 6:
// data[0] = 0x22;
// data[1] = 0x00;
// data[2] = 0x00;
// data[3] = 0x00;
// data[4] = 0x00;
// data[5] = 0x00;
// data[6] = 0x00;
// data[7] = 0xAA;
// init_CAN_Frame(&m_msg, 0x7A9, 8, 1, data);
// can_mid(m_msg);
// chaengUDSstep++;
// break;
// case 7:
// {//履带模式开关
// data[0] = 0x04;
// data[1] = 0x2E;
// data[2] = 0x03;
// data[3] = 0x0A;
// data[4] = trackmode;//1:开 0:关
// data[5] = 0xAA;
// data[6] = 0xAA;
// data[7] = 0xAA;
// init_CAN_Frame(&m_msg, 0x7A1, 8, 1, data);
// can_mid(m_msg);
// chaengUDSstep++;
// break;
// }
// case 8:
// // POWER_CTRL_KL30 = 0u; //B+
// // POWER_CTRL_KL15 = 0u; //KL15
// if(UDS_time < 100)
// {
// UDS_time++;
// }
// else
// {
// chaengUDSstep++;
// }
// break;
// case 9:
// POWER_CTRL_KL30 = 1u; //B+
// POWER_CTRL_KL15 = 1u; //KL15
// if(UDS_time < 50)
// {
// UDS_time++;
// }
// else
// {
// chaengUDSstep++;
// }
// break;
// default:
// cycleflag = 1;
// resetflag = 0;
// break;
// }
}
uint32_t
testseed
;
void
get_seed_msg
(
void
)
{
...
...
@@ -1831,78 +901,4 @@ void get_seed_msg(void)
}
// getseedresult = 1;
}
uint8_t
opentrackstep
=
0
;
void
Opentracksta
(
void
)
{
CAN_Frame_st_t
m_msg
;
uint8_t
data
[
8
]
=
{
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
};
switch
(
opentrackstep
)
{
case
0
:
data
[
0
]
=
0x02
;
data
[
1
]
=
0x10
;
data
[
2
]
=
0x03
;
data
[
3
]
=
0xAA
;
data
[
4
]
=
0xAA
;
data
[
5
]
=
0xAA
;
data
[
6
]
=
0xAA
;
data
[
7
]
=
0xAA
;
init_CAN_Frame
(
&
m_msg
,
0x7A1
,
8
,
1
,
data
);
can_mid
(
m_msg
);
chaengUDSstep
++
;
break
;
case
1
:
data
[
0
]
=
0x02
;
data
[
1
]
=
0x27
;
data
[
2
]
=
0x01
;
data
[
3
]
=
0xAA
;
data
[
4
]
=
0xAA
;
data
[
5
]
=
0xAA
;
data
[
6
]
=
0xAA
;
data
[
7
]
=
0xAA
;
init_CAN_Frame
(
&
m_msg
,
0x7A1
,
8
,
1
,
data
);
can_mid
(
m_msg
);
chaengUDSstep
++
;
break
;
case
2
:
get_seed_msg
();
if
(
getseedresult
==
1
)
{
chaengUDSstep
++
;
}
break
;
case
3
:
data
[
0
]
=
0x06
;
data
[
1
]
=
0x27
;
data
[
2
]
=
0x02
;
data
[
3
]
=
seedresult
[
0
];
data
[
4
]
=
seedresult
[
1
];
data
[
5
]
=
seedresult
[
2
];
data
[
6
]
=
seedresult
[
3
];
data
[
7
]
=
0xAA
;
init_CAN_Frame
(
&
m_msg
,
0x7A1
,
8
,
1
,
data
);
can_mid
(
m_msg
);
chaengUDSstep
++
;
break
;
case
4
:
{
data
[
0
]
=
0x04
;
data
[
1
]
=
0x2E
;
data
[
2
]
=
0x03
;
data
[
3
]
=
0x0A
;
data
[
4
]
=
0x01
;
data
[
5
]
=
0xAA
;
data
[
6
]
=
0xAA
;
data
[
7
]
=
0xAA
;
init_CAN_Frame
(
&
m_msg
,
0x7A1
,
8
,
1
,
data
);
can_mid
(
m_msg
);
chaengUDSstep
++
;
break
;
}
default:
break
;
}
}
\ No newline at end of file
YueJin_test_bench/source/Appliciation/CAN_APP.h
View file @
be88bac5
...
...
@@ -15,7 +15,6 @@ void Can_Set_Buff_69B(uint8_t CopyData []);
void
Can_Set_Buff_28A
(
uint8_t
CopyData
[]);
void
Can_Set_Buff_2E1
(
uint8_t
CopyData
[]);
void
Can_Set_Buff_0E1
(
uint8_t
CopyData
[]);
void
Can_Set_Buff_0F6
(
uint8_t
CopyData
[]);
void
Can_Set_Buff_036
(
uint8_t
CopyData
[]);
...
...
@@ -52,14 +51,13 @@ extern uint8_t ruanjianbanbenhao[8];
void
Get_PN_msg
(
void
);
extern
void
Get_UID_msg
(
void
);
void
change_UDS_DID
(
void
);
void
resetchangeUDSfuc
(
void
);
void
resetpowerfuel
(
void
);
void
UIDWrite
(
void
);
extern
void
Get_SW_msg
(
void
);
extern
void
Get_SWIN_msg
(
void
);
extern
void
Get_HW_msg
(
void
);
extern
void
UIDRead
(
void
);
extern
void
uidreset
(
void
);
extern
void
CAN_Service
(
void
);
extern
uint8_t
UIDcode1
[
33
];
extern
uint8_t
UIDcode2
[
33
];
extern
uint8_t
UIDNumber
[
19
];
...
...
YueJin_test_bench/source/Appliciation/CAN_Communication_Matrix.c
View file @
be88bac5
...
...
@@ -8,13 +8,6 @@ can4 64 95
*/
//Tx:
const
st_CAN_SendAttribute
st_CANSendAttr
[
ID_SEND_TOTAL
]
=
{
{
0x2E1ul
,
50ul
*
1000ul
,
0ul
,
0u
,
0
,
64u
,
8u
,
0
,
Can_Set_Buff_2E1
,
(
void
*
)
0
},
};
//Rx:
const
st_CANMsgAttribute
CAN_MSG_CONST_ARRAY
[
CAN_CH0_ID_TOTAL_MAX
]
=
...
...
YueJin_test_bench/source/Appliciation/Check_Ctrl.c
View file @
be88bac5
...
...
@@ -69,7 +69,7 @@ void Function_Check_Ctrl(uint32_t cmd);
void
MENU_CHECK_STEP_ADD
(
void
)
{
if
(
MENU_CHECK_STEP
>
13
)
if
(
MENU_CHECK_STEP
>
9
)
{
MENU_CHECK_STEP
=
0
;
}
...
...
@@ -573,34 +573,11 @@ void Function_Check_Ctrl(uint32_t cmd)
}
else
if
(
cmd
==
1
)
{
Display_Send_Vspead
(
MENU_CHECK_STEP
);
// Display_Send_Vspead(0);
switch
(
MENU_CHECK_STEP
)
{
case
0
:
{
/*负控*/
// LINE_OUT_NEG_01 = 0;
// LINE_OUT_NEG_02 = 0;
// LINE_OUT_NEG_03 = 0;
// LINE_OUT_NEG_04 = 0;
// LINE_OUT_NEG_05 = 0;
// LINE_OUT_NEG_06 = 0;
// LINE_OUT_NEG_07 = 0;
// LINE_OUT_NEG_08 = 0;
// LINE_OUT_NEG_09 = 0;
// LINE_OUT_NEG_10 = 0;
/*正控*/
LINE_OUT_POS_01
=
0
;
LINE_OUT_POS_02
=
0
;
LINE_OUT_NEG_01
=
0
;
LINE_OUT_POS_04
=
0
;
case
0
:
{
/*燃油*/
FUEL_RES_1
=
0
;
FUEL_RES_2
=
0
;
...
...
@@ -609,78 +586,27 @@ void Function_Check_Ctrl(uint32_t cmd)
break
;
}
case
1
:
{
/*负控*/
// LINE_OUT_NEG_01 = 0;
// LINE_OUT_NEG_02 = 0;
// LINE_OUT_NEG_03 = 0;
// LINE_OUT_NEG_04 = 0;
// LINE_OUT_NEG_05 = 1;
// LINE_OUT_NEG_06 = 1;
// LINE_OUT_NEG_07 = 0;
// LINE_OUT_NEG_08 = 0;
// LINE_OUT_NEG_09 = 1;
// LINE_OUT_NEG_10 = 0;
/*正控*/
// LINE_OUT_POS_01 = 1; //右转
LINE_OUT_POS_04
=
1
;
//左转
/*燃油*/
FUEL_RES_1
=
1
;
//5格
FUEL_RES_2
=
1
;
FUEL_RES_3
=
1
;
FUEL_RES_4
=
1
;
{
/*燃油*/
//满格100欧
FUEL_RES_1
=
1
;
FUEL_RES_2
=
0
;
FUEL_RES_3
=
0
;
FUEL_RES_4
=
0
;
break
;
}
}
case
2
:
{
/*负控*/
// LINE_OUT_NEG_01 = 0;
// LINE_OUT_NEG_02 = 0;
// LINE_OUT_NEG_03 = 0;
// LINE_OUT_NEG_04 = 0;
// LINE_OUT_NEG_05 = 1;
// LINE_OUT_NEG_06 = 0;
// LINE_OUT_NEG_07 = 0;
// LINE_OUT_NEG_08 = 0;
// LINE_OUT_NEG_09 = 1;
// LINE_OUT_NEG_10 = 0;
/*正控*/
// LINE_OUT_POS_02 = 1; //远光
LINE_OUT_POS_04
=
0
;
//左转
/*燃油*/
FUEL_RES_1
=
0
;
//4格
FUEL_RES_2
=
0
;
/*燃油*/
//1格85欧
FUEL_RES_1
=
0
;
FUEL_RES_2
=
1
;
FUEL_RES_3
=
0
;
FUEL_RES_4
=
1
;
FUEL_RES_4
=
0
;
break
;
}
case
3
:
{
// LINE_OUT_NEG_01 = 0;
// LINE_OUT_NEG_02 = 0;
// LINE_OUT_NEG_03 = 0;
// LINE_OUT_NEG_04 = 0;
// LINE_OUT_NEG_05 = 1;
// LINE_OUT_NEG_06 = 0;
// LINE_OUT_NEG_07 = 1;
// LINE_OUT_NEG_08 = 0;
// LINE_OUT_NEG_09 = 0;
// LINE_OUT_NEG_10 = 0;
/*正控*/
LINE_OUT_POS_02
=
1
;
//远光
// LINE_OUT_POS_03 = 0; //机油压力
// /*燃油*/
FUEL_RES_1
=
0
;
//3格
/*燃油*/
//4格50欧
FUEL_RES_1
=
0
;
FUEL_RES_2
=
0
;
FUEL_RES_3
=
1
;
FUEL_RES_4
=
0
;
...
...
@@ -688,81 +614,26 @@ void Function_Check_Ctrl(uint32_t cmd)
}
case
4
:
{
// LINE_OUT_NEG_01 = 0;
// LINE_OUT_NEG_02 = 0;
// LINE_OUT_NEG_03 = 0;
// LINE_OUT_NEG_04 = 0;
// LINE_OUT_NEG_05 = 1;
// LINE_OUT_NEG_06 = 0;
// LINE_OUT_NEG_07 = 0;
// LINE_OUT_NEG_08 = 0;
// LINE_OUT_NEG_09 = 0;
// LINE_OUT_NEG_10 = 0;
// /*正控*/
// LINE_OUT_POS_01 = 0;
// LINE_OUT_POS_02 = 0;
// LINE_OUT_POS_03 = 1;
// LINE_OUT_POS_04 = 0;
// LINE_OUT_POS_04 = 1; //左转
LINE_OUT_POS_02
=
0
;
//远光
/*燃油*/
FUEL_RES_1
=
0
;
//2格
FUEL_RES_2
=
1
;
/*燃油*/
//8格5欧
FUEL_RES_1
=
0
;
FUEL_RES_2
=
0
;
FUEL_RES_3
=
0
;
FUEL_RES_4
=
0
;
FUEL_RES_4
=
1
;
break
;
}
case
5
:
{
// LINE_OUT_NEG_01 = 0;
// LINE_OUT_NEG_02 = 0;
// LINE_OUT_NEG_03 = 1;
// LINE_OUT_NEG_04 = 0;
// LINE_OUT_NEG_05 = 1;
// LINE_OUT_NEG_06 = 0;
// LINE_OUT_NEG_07 = 0;
// LINE_OUT_NEG_08 = 1;
// LINE_OUT_NEG_09 = 0;
// LINE_OUT_NEG_10 = 1;
// /*正控*/
// LINE_OUT_POS_01 = 0;
// LINE_OUT_POS_02 = 0;
// LINE_OUT_POS_03 = 0;
// LINE_OUT_POS_04 = 0;
/*燃油*/
FUEL_RES_1
=
1
;
//1格
FUEL_RES_1
=
0
;
FUEL_RES_2
=
0
;
FUEL_RES_3
=
0
;
FUEL_RES_4
=
0
;
break
;
}
case
6
:
{
// LINE_OUT_NEG_01 = 0;
// LINE_OUT_NEG_02 = 0;
// LINE_OUT_NEG_03 = 0;
// LINE_OUT_NEG_04 = 1;
// LINE_OUT_NEG_05 = 1;
// LINE_OUT_NEG_06 = 0;
// LINE_OUT_NEG_07 = 0;
// LINE_OUT_NEG_08 = 0;
// LINE_OUT_NEG_09 = 0;
// LINE_OUT_NEG_10 = 1;
// /*正控*/
// LINE_OUT_POS_01 = 0;
// LINE_OUT_POS_02 = 0;
// LINE_OUT_POS_03 = 0;
// LINE_OUT_POS_04 = 0;
/*燃油*/
FUEL_RES_1
=
1
;
//1格
FUEL_RES_1
=
0
;
FUEL_RES_2
=
0
;
FUEL_RES_3
=
0
;
FUEL_RES_4
=
0
;
...
...
@@ -770,26 +641,8 @@ void Function_Check_Ctrl(uint32_t cmd)
}
case
7
:
{
// LINE_OUT_NEG_01 = 1;
// LINE_OUT_NEG_02 = 0;
// LINE_OUT_NEG_03 = 0;
// LINE_OUT_NEG_04 = 0;
// LINE_OUT_NEG_05 = 0;
// LINE_OUT_NEG_06 = 1;
// LINE_OUT_NEG_07 = 0;
// LINE_OUT_NEG_08 = 0;
// LINE_OUT_NEG_09 = 1;
// LINE_OUT_NEG_10 = 0;
// /*正控*/
// LINE_OUT_POS_01 = 0;
// LINE_OUT_POS_02 = 0;
// LINE_OUT_POS_03 = 0;
// LINE_OUT_POS_04 = 0;
LINE_OUT_NEG_01
=
1
;
/*燃油*/
FUEL_RES_1
=
1
;
//1格
FUEL_RES_1
=
0
;
FUEL_RES_2
=
0
;
FUEL_RES_3
=
0
;
FUEL_RES_4
=
0
;
...
...
@@ -797,26 +650,8 @@ void Function_Check_Ctrl(uint32_t cmd)
}
case
8
:
{
// LINE_OUT_NEG_01 = 0;
// LINE_OUT_NEG_02 = 1;
// LINE_OUT_NEG_03 = 0;
// LINE_OUT_NEG_04 = 0;
// LINE_OUT_NEG_05 = 0;
// LINE_OUT_NEG_06 = 0;
// LINE_OUT_NEG_07 = 0;
// LINE_OUT_NEG_08 = 0;
// LINE_OUT_NEG_09 = 1;
// LINE_OUT_NEG_10 = 0;
// /*正控*/
// LINE_OUT_POS_01 = 0;
// LINE_OUT_POS_02 = 0;
// LINE_OUT_POS_03 = 0;
// LINE_OUT_POS_04 = 0;
LINE_OUT_NEG_01
=
0
;
/*燃油*/
FUEL_RES_1
=
1
;
//1格
FUEL_RES_1
=
0
;
FUEL_RES_2
=
0
;
FUEL_RES_3
=
0
;
FUEL_RES_4
=
0
;
...
...
@@ -824,22 +659,8 @@ void Function_Check_Ctrl(uint32_t cmd)
}
case
9
:
{
// LINE_OUT_NEG_01 = 0;
// LINE_OUT_NEG_02 = 0;
// LINE_OUT_NEG_03 = 0;
// LINE_OUT_NEG_04 = 0;
// LINE_OUT_NEG_05 = 0;
// LINE_OUT_NEG_06 = 0;
// LINE_OUT_NEG_07 = 1;
// LINE_OUT_NEG_08 = 0;
// LINE_OUT_NEG_09 = 0;
// LINE_OUT_NEG_10 = 0;
/*正控*/
LINE_OUT_POS_01
=
1
;
//右转
/*燃油*/
FUEL_RES_1
=
1
;
//1格
FUEL_RES_1
=
0
;
FUEL_RES_2
=
0
;
FUEL_RES_3
=
0
;
FUEL_RES_4
=
0
;
...
...
@@ -847,25 +668,8 @@ void Function_Check_Ctrl(uint32_t cmd)
}
case
10
:
{
// LINE_OUT_NEG_01 = 0;
// LINE_OUT_NEG_02 = 0;
// LINE_OUT_NEG_03 = 0;
// LINE_OUT_NEG_04 = 0;
// LINE_OUT_NEG_05 = 0;
// LINE_OUT_NEG_06 = 0;
// LINE_OUT_NEG_07 = 0;
// LINE_OUT_NEG_08 = 0;
// LINE_OUT_NEG_09 = 0;
// LINE_OUT_NEG_10 = 0;
/*正控*/
LINE_OUT_POS_01
=
1
;
LINE_OUT_POS_02
=
1
;
LINE_OUT_POS_04
=
1
;
LINE_OUT_NEG_01
=
1
;
/*燃油*/
FUEL_RES_1
=
1
;
//1格
FUEL_RES_1
=
0
;
FUEL_RES_2
=
0
;
FUEL_RES_3
=
0
;
FUEL_RES_4
=
0
;
...
...
YueJin_test_bench/source/Appliciation/Display_Info.c
View file @
be88bac5
...
...
@@ -4266,15 +4266,15 @@ void Display_Version_Info(uint32_t ON_OFF)
loc_Type_back
=
loc_Type
;
}
TFT_LCD_Draw_Bmp
(
3
,
50
,
(
uint8_t
*
)
gImage_pic_01X0_Y01
);
//软件外部版本号
TFT_LCD_Draw_Bmp
(
3
,
75
,
(
uint8_t
*
)
gImage_pic_02X0_Y02
);
//软件内部版本号
//
TFT_LCD_Draw_Bmp(3, 50, ( uint8_t * )gImage_pic_01X0_Y01 ); //软件外部版本号
//
TFT_LCD_Draw_Bmp(3, 75, ( uint8_t * )gImage_pic_02X0_Y02 ); //软件内部版本号
const
uint16_t
Currenttest
[]
=
{
180
,
170
};
TFT_LCD_Draw_Bmp
(
3
,
100
,
(
uint8_t
*
)
gImage_Dyy_words_2X6_Y46
);
//硬件版本号
//
TFT_LCD_Draw_Bmp(3, 100, ( uint8_t * )gImage_Dyy_words_2X6_Y46 ); //硬件版本号
TFT_LCD_Draw_Bmp
(
3
,
25
,
(
uint8_t
*
)
gImage_JCT_01X0_Y0
);
//检测台版本号
TFT_LCD_Draw_Bmp
(
3
,
120
,
(
uint8_t
*
)
gImage_Dyy_words_3X6_Y75
);
//写入UID
//
TFT_LCD_Draw_Bmp(3, 120, ( uint8_t * )gImage_Dyy_words_3X6_Y75 ); //写入UID
// TFT_LCD_Draw_Bmp(3, 70, ( uint8_t * )gImage_Dyy_words_3X6_Y75 ); //零件号
// TFT_LCD_Draw_Bmp(3, 90+30+30, ( uint8_t * )gImage_gImage_dianyuanwaifX6_Y165 ); //仪表电电源检测外发对比检验
...
...
@@ -4298,12 +4298,12 @@ void Display_Version_Info(uint32_t ON_OFF)
// TFT_LCD_Draw_Bmp(3, 160, ( uint8_t * )gImage_Alarm_12_WordX6_Y165); //24脚输出占空比
// TFT_LCD_Draw_Bmp(210, 160, ( uint8_t * )gImage_Alarm_13_ImageX222_Y166); //%
// TFT_LCD_Draw_Bmp(3, 290, ( uint8_t * )gImage_gImage_checkVX6_Y165 ); //检测台版本号
uint8_t
mbuff
[
10
]
=
{
2
,
0
,
2
,
5
,
97
,
0
,
9
,
2
,
3
,
0xff
};
uint8_t
mbuff
[
10
]
=
{
2
,
0
,
2
,
5
,
97
,
1
,
0
,
2
,
3
,
0xff
};
General_Number_Disp
(
mbuff
,
115
,
25
);
//检测台版本号
General_Number_Disp
(
UIDNumber
,
85
,
120
);
//固定UID数字
General_Number_Disp
(
UIDNumber2
,
70
,
146
);
//可调UID数字
uint8_t
UUIDS
[
2
]
=
{
45
,
0xFF
};
General_Number_Disp
(
UUIDS
,
UUIDX
,
160
);
//UID下——
//
General_Number_Disp(UIDNumber, 85, 120); //固定UID数字
//
General_Number_Disp(UIDNumber2, 70, 146); //可调UID数字
//
uint8_t UUIDS[2] = {45,0xFF};
//
General_Number_Disp(UUIDS, UUIDX, 160); //UID下——
// General_Number_Disp(UIDcode1, 95, 225);
}
...
...
@@ -4752,42 +4752,42 @@ void Display_Send_Vspead(uint8_t menu)
}
if
(
menu
>
0
)
{
if
(
menu
<
1
4
)
if
(
menu
<
1
1
)
{
GUI_General_Digit_Display
(
menu
,
Num_15
,
2
,
0
,
pagenum
,
3
);
//
GUI_General_Digit_Display(menu, Num_15, 2, 0, pagenum, 3);
// TFT_LCD_Draw_Bmp(3, 40, ( uint8_t * )gImage_Dey_words_1X6_Y16);//车速
TFT_LCD_Draw_Bmp
(
3
,
40
,
(
uint8_t
*
)
NO_V
);
//车速
TFT_LCD_Draw_Bmp
(
3
+
18
,
40
,
(
uint8_t
*
)
NO_S
);
TFT_LCD_Draw_Bmp
(
3
+
18
+
18
,
40
,
(
uint8_t
*
)
NO_P
);
TFT_LCD_Draw_Bmp
(
3
+
18
+
18
+
18
,
40
,
(
uint8_t
*
)
NO_E
);
TFT_LCD_Draw_Bmp
(
3
+
18
+
18
+
18
+
18
,
40
,
(
uint8_t
*
)
NO_E
);
TFT_LCD_Draw_Bmp
(
3
+
18
+
18
+
18
+
18
+
18
,
40
,
(
uint8_t
*
)
NO_D
);
TFT_LCD_Draw_Bmp
(
180
,
40
,
(
uint8_t
*
)
gImage_Dey_words_5X195_Y16
);
//km/h
TFT_LCD_Draw_Bmp
(
3
,
40
+
25
,
(
uint8_t
*
)
NO_E
);
//转速
TFT_LCD_Draw_Bmp
(
3
+
18
,
40
+
25
,
(
uint8_t
*
)
NO_S
);
TFT_LCD_Draw_Bmp
(
3
+
18
+
18
,
40
+
25
,
(
uint8_t
*
)
NO_P
);
TFT_LCD_Draw_Bmp
(
3
+
18
+
18
+
18
,
40
+
25
,
(
uint8_t
*
)
NO_E
);
TFT_LCD_Draw_Bmp
(
3
+
18
+
18
+
18
+
18
,
40
+
25
,
(
uint8_t
*
)
NO_E
);
TFT_LCD_Draw_Bmp
(
3
+
18
+
18
+
18
+
18
+
18
,
40
+
25
,
(
uint8_t
*
)
NO_D
);
GUI_Display_Version_Code_Service
(
180
,
40
+
25
,
"RPM"
,
Letter_Num_11
,
PCodeText_Space_size
);
TFT_LCD_Draw_Bmp
(
3
,
40
+
25
+
40
,
(
uint8_t
*
)
gImage_WZ_word0_12X0_Y0
);
//燃油
//
TFT_LCD_Draw_Bmp(3, 40, ( uint8_t * )NO_V);//车速
//
TFT_LCD_Draw_Bmp(3+18, 40, ( uint8_t * )NO_S);
//
TFT_LCD_Draw_Bmp(3+18+18, 40, ( uint8_t * )NO_P);
//
TFT_LCD_Draw_Bmp(3+18+18+18, 40, ( uint8_t * )NO_E);
//
TFT_LCD_Draw_Bmp(3+18+18+18+18, 40, ( uint8_t * )NO_E);
//
TFT_LCD_Draw_Bmp(3+18+18+18+18+18, 40, ( uint8_t * )NO_D);
//
TFT_LCD_Draw_Bmp(180, 40, ( uint8_t * )gImage_Dey_words_5X195_Y16);//km/h
//
TFT_LCD_Draw_Bmp(3, 40+25, ( uint8_t * )NO_E);//转速
//
TFT_LCD_Draw_Bmp(3+18, 40+25, ( uint8_t * )NO_S);
//
TFT_LCD_Draw_Bmp(3+18+18, 40+25, ( uint8_t * )NO_P);
//
TFT_LCD_Draw_Bmp(3+18+18+18, 40+25, ( uint8_t * )NO_E);
//
TFT_LCD_Draw_Bmp(3+18+18+18+18, 40+25, ( uint8_t * )NO_E);
//
TFT_LCD_Draw_Bmp(3+18+18+18+18+18, 40+25, ( uint8_t * )NO_D);
//
GUI_Display_Version_Code_Service(180, 40+25, "RPM", Letter_Num_11, PCodeText_Space_size);
//
TFT_LCD_Draw_Bmp(3, 40+25+40, ( uint8_t * )gImage_WZ_word0_12X0_Y0);//燃油
TFT_LCD_Draw_Bmp
(
3
,
40
+
25
+
40
+
25
,
(
uint8_t
*
)
gImage_WZ_word0_11X0_Y0
);
//水温
// TFT_LCD_Draw_Bmp(3, 40+25, ( uint8_t * )gImage_Dey_words_3X6_Y75);//剩余燃油量:
// TFT_LCD_Draw_Bmp(180, 40+25, ( uint8_t * )gImage_Dey_words_8X224_Y107);//%
// TFT_LCD_Draw_Bmp(3, 40+25+25+25+25+25+25, ( uint8_t * )gImage_gImage_checkComX6_Y165);//检
TFT_LCD_Draw_Bmp
(
3
,
40
+
25
+
40
+
25
+
25
,
(
uint8_t
*
)
gImage_JCT_25X0_Y0
);
//时间
//
TFT_LCD_Draw_Bmp(3, 40+25+40+25+25, ( uint8_t * )gImage_JCT_25X0_Y0);//时间
}
switch
(
menu
)
{
case
1
:
WaterTemp
=
1
;
WaterTemp
=
0
;
fuel_val
=
5
;
VSpeed_val
=
22
;
ESpeed_val
=
1000
;
mbuffdfka
[
1
]
=
2
;
TFT_LCD_Draw_Bmp
(
3
,
40
+
25
+
25
+
25
+
40
+
25
+
25
+
25
,
(
uint8_t
*
)
gImage_JCT_09X0_YO
);
//左转:
//
TFT_LCD_Draw_Bmp(3, 40+25+25+25+40+25+25+25, ( uint8_t * )gImage_JCT_09X0_YO);//左转:
// TFT_LCD_Draw_Bmp(3, 40+25+25+25+40+25+25, ( uint8_t * )gImage_WZ_word0_17X0_Y0);//后桥锁死状态:
// TFT_LCD_Draw_Bmp(3+120, 40+25+25+25+40+25+25, ( uint8_t * )gImage_WZ_word0_03X0_Y0);//两驱
...
...
@@ -4797,12 +4797,12 @@ void Display_Send_Vspead(uint8_t menu)
break
;
case
2
:
WaterTemp
=
1
;
WaterTemp
=
50
;
fuel_val
=
4
;
VSpeed_val
=
44
;
ESpeed_val
=
2000
;
mbuffdfka
[
1
]
=
4
;
TFT_LCD_Draw_Bmp
(
3
,
40
+
25
+
25
+
25
+
40
+
25
+
25
,
(
uint8_t
*
)
gImage_JCT_10X0_Y0
);
//
TFT_LCD_Draw_Bmp(3, 40+25+25+25+40+25+25, ( uint8_t * )gImage_JCT_10X0_Y0);
// TFT_LCD_Draw_Bmp(3, 40+25+25+25+40+25+25, ( uint8_t * )gImage_WZ_word0_17X0_Y0);//后桥锁死状态:
// TFT_LCD_Draw_Bmp(3+120, 40+25+25+25+40+25+25, ( uint8_t * )gImage_WZ_word0_04X0_Y0);//两驱未到位
...
...
@@ -4813,12 +4813,12 @@ void Display_Send_Vspead(uint8_t menu)
break
;
case
3
:
WaterTemp
=
2
;
WaterTemp
=
130
;
fuel_val
=
3
;
VSpeed_val
=
66
;
ESpeed_val
=
3000
;
mbuffdfka
[
1
]
=
6
;
TFT_LCD_Draw_Bmp
(
3
,
40
+
25
+
25
+
25
+
40
+
25
+
25
,
(
uint8_t
*
)
gImage_JCT_11X0_Y0
);
//
TFT_LCD_Draw_Bmp(3, 40+25+25+25+40+25+25, ( uint8_t * )gImage_JCT_11X0_Y0);
// TFT_LCD_Draw_Bmp(3, 40+25+25+25+40+25+25, ( uint8_t * )gImage_WZ_word0_17X0_Y0);//后桥锁死状态:
// TFT_LCD_Draw_Bmp(3+120, 40+25+25+25+40+25+25, ( uint8_t * )gImage_WZ_word0_05X0_Y0);//四驱
...
...
@@ -4827,12 +4827,12 @@ void Display_Send_Vspead(uint8_t menu)
break
;
case
4
:
WaterTemp
=
4
;
WaterTemp
=
130
;
fuel_val
=
2
;
VSpeed_val
=
88
;
ESpeed_val
=
4000
;
mbuffdfka
[
1
]
=
8
;
TFT_LCD_Draw_Bmp
(
3
,
40
+
25
+
25
+
25
+
40
+
25
+
25
,
(
uint8_t
*
)
gImage_JCT_12X0_Y0
);
//
TFT_LCD_Draw_Bmp(3, 40+25+25+25+40+25+25, ( uint8_t * )gImage_JCT_12X0_Y0);
// TFT_LCD_Draw_Bmp(3, 40+25+25+25+40+25+25, ( uint8_t * )gImage_WZ_word0_17X0_Y0);//后桥锁死状态:
// TFT_LCD_Draw_Bmp(3+120, 40+25+25+25+40+25+25, ( uint8_t * )gImage_WZ_word0_16X0_Y0);//四驱未到位
...
...
@@ -4841,13 +4841,13 @@ void Display_Send_Vspead(uint8_t menu)
break
;
case
5
:
WaterTemp
=
5
;
WaterTemp
=
0
;
fuel_val
=
1
;
VSpeed_val
=
100
;
ESpeed_val
=
5000
;
mbuffdfka
[
0
]
=
1
;
mbuffdfka
[
1
]
=
0
;
TFT_LCD_Draw_Bmp
(
3
,
40
+
25
+
25
+
25
+
40
+
25
+
25
,
(
uint8_t
*
)
gImage_JCT_13X0_Y0
);
//
TFT_LCD_Draw_Bmp(3, 40+25+25+25+40+25+25, ( uint8_t * )gImage_JCT_13X0_Y0);
// TFT_LCD_Draw_Bmp(3, 40+25+25+25+40+25+25, ( uint8_t * )gImage_WZ_word0_17X0_Y0);//后桥锁死状态:
// TFT_LCD_Draw_Bmp(3+120, 40+25+25+25+40+25+25, ( uint8_t * )gImage_WZ_word0_01X0_Y0);//四驱锁死
...
...
@@ -4856,14 +4856,14 @@ void Display_Send_Vspead(uint8_t menu)
break
;
case
6
:
WaterTemp
=
5
;
WaterTemp
=
0
;
fuel_val
=
1
;
VSpeed_val
=
140
;
ESpeed_val
=
7000
;
mbuffdfka
[
0
]
=
1
;
mbuffdfka
[
1
]
=
2
;
TFT_LCD_Draw_Bmp
(
3
,
40
+
25
+
25
+
25
+
40
+
25
+
25
,
(
uint8_t
*
)
gImage_JCT_14X0_Y0
);
TFT_LCD_Draw_Bmp
(
3
,
40
+
25
+
25
+
25
+
40
+
25
+
25
+
25
,
(
uint8_t
*
)
gImage_JCT_15X0_Y0
);
//
TFT_LCD_Draw_Bmp(3, 40+25+25+25+40+25+25, ( uint8_t * )gImage_JCT_14X0_Y0);
//
TFT_LCD_Draw_Bmp(3, 40+25+25+25+40+25+25+25, ( uint8_t * )gImage_JCT_15X0_Y0);
// TFT_LCD_Draw_Bmp(3, 40+25+25+25+40+25+25, ( uint8_t * )gImage_WZ_word0_17X0_Y0);//后桥锁死状态:
// TFT_LCD_Draw_Bmp(3+120, 40+25+25+25+40+25+25, ( uint8_t * )gImage_WZ_word0_16X0_Y0);//锁死未到位
...
...
@@ -4873,14 +4873,14 @@ void Display_Send_Vspead(uint8_t menu)
break
;
case
7
:
WaterTemp
=
5
;
WaterTemp
=
0
;
fuel_val
=
1
;
VSpeed_val
=
180
;
ESpeed_val
=
8000
;
mbuffdfka
[
0
]
=
1
;
mbuffdfka
[
1
]
=
4
;
TFT_LCD_Draw_Bmp
(
3
,
40
+
25
+
25
+
25
+
40
+
25
+
25
,
(
uint8_t
*
)
gImage_JCT_16X0_Y0
);
TFT_LCD_Draw_Bmp
(
3
,
40
+
25
+
25
+
25
+
40
+
25
+
25
+
25
,
(
uint8_t
*
)
gImage_JCT_17X0_Y0
);
//
TFT_LCD_Draw_Bmp(3, 40+25+25+25+40+25+25, ( uint8_t * )gImage_JCT_16X0_Y0);
//
TFT_LCD_Draw_Bmp(3, 40+25+25+25+40+25+25+25, ( uint8_t * )gImage_JCT_17X0_Y0);
// TFT_LCD_Draw_Bmp(3, 40+25+25+25+40+25+25, ( uint8_t * )gImage_WZ_word0_18X0_Y0);//后桥差速状态:
// TFT_LCD_Draw_Bmp(3+120, 40+25+25+25+40+25+25, ( uint8_t * )gImage_WZ_word0_03X0_Y0);//两驱
...
...
@@ -4891,13 +4891,13 @@ void Display_Send_Vspead(uint8_t menu)
break
;
case
8
:
WaterTemp
=
5
;
WaterTemp
=
0
;
fuel_val
=
1
;
VSpeed_val
=
199
;
ESpeed_val
=
10000
;
mbuffdfka
[
0
]
=
1
;
mbuffdfka
[
1
]
=
8
;
TFT_LCD_Draw_Bmp
(
3
,
40
+
25
+
25
+
25
+
40
+
25
+
25
,
(
uint8_t
*
)
gImage_JCT_18X0_Y0
);
//
TFT_LCD_Draw_Bmp(3, 40+25+25+25+40+25+25, ( uint8_t * )gImage_JCT_18X0_Y0);
// TFT_LCD_Draw_Bmp(3, 40+25+25+25+40+25+25, ( uint8_t * )gImage_WZ_word0_18X0_Y0);//后桥差速状态:
// TFT_LCD_Draw_Bmp(3+120, 40+25+25+25+40+25+25, ( uint8_t * )gImage_WZ_word0_04X0_Y0);//两驱未到位
...
...
@@ -4908,14 +4908,14 @@ void Display_Send_Vspead(uint8_t menu)
break
;
case
9
:
WaterTemp
=
5
;
WaterTemp
=
0
;
fuel_val
=
1
;
VSpeed_val
=
199
;
ESpeed_val
=
12000
;
mbuffdfka
[
0
]
=
2
;
mbuffdfka
[
1
]
=
3
;
TFT_LCD_Draw_Bmp
(
3
,
40
+
25
+
25
+
25
+
40
+
25
+
25
,
(
uint8_t
*
)
gImage_JCT_19X0_Y0
);
TFT_LCD_Draw_Bmp
(
3
,
40
+
25
+
25
+
25
+
40
+
25
+
25
+
25
,
(
uint8_t
*
)
gImage_JCT_20X0_Y0
);
//
TFT_LCD_Draw_Bmp(3, 40+25+25+25+40+25+25, ( uint8_t * )gImage_JCT_19X0_Y0);
//
TFT_LCD_Draw_Bmp(3, 40+25+25+25+40+25+25+25, ( uint8_t * )gImage_JCT_20X0_Y0);
// TFT_LCD_Draw_Bmp(3+120, 40+25+25+25+40+25+25, ( uint8_t * )gImage_WZ_word0_05X0_Y0);//四驱
// TFT_LCD_Draw_Bmp(20, 40+25+25+25+25+25+25+25+25, ( uint8_t * )gImage_pic_17X0_Y0);//EPS故障指示灯
...
...
@@ -4924,13 +4924,13 @@ void Display_Send_Vspead(uint8_t menu)
break
;
case
10
:
WaterTemp
=
5
;
WaterTemp
=
0
;
fuel_val
=
1
;
VSpeed_val
=
199
;
ESpeed_val
=
12000
;
mbuffdfka
[
0
]
=
0
;
mbuffdfka
[
1
]
=
0
;
TFT_LCD_Draw_Bmp
(
3
,
40
+
25
+
25
+
25
+
40
+
25
+
25
,
(
uint8_t
*
)
gImage_JCT_26X0_Y0
);
//
TFT_LCD_Draw_Bmp(3, 40+25+25+25+40+25+25, ( uint8_t * )gImage_JCT_26X0_Y0);
// TFT_LCD_Draw_Bmp(3, 40+25+25+25+40+25+25, ( uint8_t * )gImage_WZ_word0_18X0_Y0);//后桥差速状态:
// TFT_LCD_Draw_Bmp(3+120, 40+25+25+25+40+25+25, ( uint8_t * )gImage_WZ_word0_16X0_Y0);//四驱未到位
...
...
@@ -5008,13 +5008,13 @@ void Display_Send_Vspead(uint8_t menu)
// MENU_CHECK_STEP = 0;
break
;
}
if
(
menu
<
1
4
&&
menu
!=
0
)
if
(
menu
<
1
1
)
{
GUI_General_Digit_Display
(
VSpeed_val
,
Num_15
,
3
,
2
,
ODODigitNum09PosX
,
40
);
GUI_General_Digit_Display
(
ESpeed_val
,
Num_15
,
5
,
3
,
ODODigitNum09PosX
,
40
+
25
);
GUI_General_Digit_Display
(
fuel_val
,
Num_15
,
1
,
0
,
ODODigitNum09PosX
,
40
+
25
+
40
);
GUI_General_Digit_Display
(
WaterTemp
,
Num_15
,
1
,
0
,
ODODigitNum09PosX
,
40
+
25
+
40
+
25
);
General_Number_Disp
(
mbuffdfka
,
135
,
154
);
//时间
//
GUI_General_Digit_Display(VSpeed_val, Num_15, 3, 2, ODODigitNum09PosX, 40);
//
GUI_General_Digit_Display(ESpeed_val, Num_15, 5, 3, ODODigitNum09PosX,40+25);
//
GUI_General_Digit_Display(fuel_val, Num_15, 1, 0, ODODigitNum09PosX, 40+25+40);
GUI_General_Digit_Display
(
WaterTemp
,
Num_15
,
3
,
2
,
ODODigitNum09PosX
,
40
+
25
+
40
+
25
);
//
General_Number_Disp(mbuffdfka, 135, 154); //时间
}
}
...
...
YueJin_test_bench/source/Appliciation/RTE_GPIO.h
View file @
be88bac5
...
...
@@ -4,24 +4,7 @@
#include "TYW_stdint.h"
#include "GPIO.h"
// #define LINE_IN_CHARGE GPIO_IN_PORT11_PIN00
// #define LINE_IN_BRAKE_LEVELn GPIO_IN_PORT08_PIN08
// #define LINE_IN_OIL_PRESSUREn GPIO_IN_PORT08_PIN09
// #define LINE_IN_WASHING_LEVELn GPIO_IN_PORT09_PIN01
// #define LINE_IN_PARKn GPIO_IN_PORT09_PIN00
// #define LED1 GPIO_OUT_APORT00_PIN07
// #define LED2 GPIO_OUT_APORT00_PIN08
// #define LED3 GPIO_OUT_APORT00_PIN10
// #define LED4 GPIO_OUT_APORT00_PIN11
// #define LED5 GPIO_OUT_APORT00_PIN12
// #define LED6 GPIO_OUT_PORT10_PIN06
// #define LED7 GPIO_OUT_PORT10_PIN06
// #define LCDAL GPIO_IN_APORT00_PIN13
// #define LCDAR GPIO_IN_APORT00_PIN14
/*按键对应引脚*/
#define SW1 GPIO_IN_APORT00_PIN00
#define SW2 GPIO_IN_PORT10_PIN05
#define SW3 GPIO_IN_APORT00_PIN01
...
...
@@ -33,25 +16,16 @@
#define SW8 GPIO_IN_APORT00_PIN06
#define SW9 GPIO_IN_PORT09_PIN00
#define SW10 GPIO_IN_PORT10_PIN06
/*燃油对应引脚*/
#define FUEL_RES_1 GPIO_OUT_PORT00_PIN13
#define FUEL_RES_2 GPIO_OUT_PORT08_PIN12
#define FUEL_RES_3 GPIO_OUT_PORT08_PIN10
#define FUEL_RES_4 GPIO_OUT_PORT08_PIN11
// #define LINE_OUT_CHARGER GPIO_OUT_PORT10_PIN06//
// #define LINE_OUT_OIL GPIO_OUT_PORT10_PIN06
// #define LINE_OUT_BREAK_LEVEL GPIO_OUT_PORT10_PIN06
// #define LINE_OUT_WARSH_LEVEL GPIO_OUT_PORT10_PIN06
// #define LINE_OUT_PARK GPIO_OUT_PORT10_PIN06
// #define LINE_OUT_EPS GPIO_OUT_PORT10_PIN06 //远光
/*电源对应引脚*/
#define POWER_CTRL_KL30 GPIO_OUT_PORT10_PIN13
#define POWER_CTRL_KL15 GPIO_OUT_PORT10_PIN12
#define POWER_CTRL_KL30_Current GPIO_OUT_PORT10_PIN14
// #define LINE_OUT_FANGDAO GPIO_OUT_PORT10_PIN06
#define SD_FMQ GPIO_OUT_PORT10_PIN02
#define PWM_FMQ GPIO_OUT_PORT10_PIN11
...
...
@@ -67,19 +41,6 @@
#define NEG_9_Ctrl GPIO_OUT_PORT10_PIN04
#define NEG_10_Ctrl GPIO_OUT_PORT00_PIN08
// #define LINE_SafeBelt_1 NEG_1_Ctrl
// #define LINE_SafeBelt_2 NEG_2_Ctrl
// #define LINE_SafeBelt_3 NEG_3_Ctrl
// #define LINE_SafeBelt_4 NEG_4_Ctrl
// #define LINE_SafeBelt_5 NEG_5_Ctrl
// #define LINE_SafeBelt_2_press NEG_6_Ctrl
// #define LINE_SafeBelt_3_press NEG_7_Ctrl
// #define LINE_SafeBelt_4_press NEG_8_Ctrl
// #define LINE_SafeBelt_5_press NEG_9_Ctrl
//左转
#define LINE_OUT_POS_04 GPIO_OUT_APORT00_PIN05
//右转
...
...
YueJin_test_bench/source/Appliciation/Task.c
View file @
be88bac5
...
...
@@ -68,7 +68,6 @@ void Sys_Run_Mode_5ms_Tasks_Group(void)
/*==============================================================================
10ms����ִ������ ��0��
------------------------------------------------------------------------------*/
uint32_t
fakedelay
=
0
;
uint32_t
send0x714time
=
0
;
extern
uint8_t
HWtestresult
;
extern
uint8_t
PNtestresult
;
...
...
@@ -113,20 +112,11 @@ void Sys_Run_Mode_10ms_Tasks_Group(void)
}
if
(
fuelreset1
==
1
||
fuelreset2
==
1
||
fuelreset3
==
1
||
fuelreset4
==
1
)
{
resetpowerfuel
();
}
BusOff_Service
(
);
Key_Service
(
);
resetchangeUDSfuc
();
if
(
fakedelay
<
100
)
{
fakedelay
++
;
}
else
{
change_UDS_DID
();
}
if
(
MENU_CHECK_STEP
==
0
)
{
...
...
@@ -177,7 +167,7 @@ void Sys_Run_Mode_10ms_Tasks_Group(void)
void
Sys_Run_Mode_20ms_Tasks_Group0
(
void
)
{
//Total_Check( );
CAN_Service
();
}
/*==============================================================================
...
...
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