Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
R
RT_RMR42E
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
时昊
RT_RMR42E
Commits
74a7402f
Commit
74a7402f
authored
Jun 26, 2024
by
郑萍
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
🐞
fix:合完段码好使的程序
parent
da919364
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
563 additions
and
521 deletions
+563
-521
SEG_DISPLAY.c
Firmware/Source/Application/SEG_DISPLAY/SEG_DISPLAY.c
+545
-513
SEG_DISPLAY.h
Firmware/Source/Application/SEG_DISPLAY/SEG_DISPLAY.h
+18
-8
No files found.
Firmware/Source/Application/SEG_DISPLAY/SEG_DISPLAY.c
View file @
74a7402f
...
...
@@ -19,40 +19,20 @@ const uint8_t SEG_UNDISPLAY_NUMBER0[] = {0x00u, 0x06u, 0x5Bu, 0x4Fu, 0x66u, 0x6D
_Fun_Res
SEG_SET_Frame
(
uint8_t
m_Flag
)
{
_Fun_Res
m_Res
;
if
(
m_Flag
>=
2u
)
{
m_Res
=
EX_ERR
;
}
else
{
if
(
m_Flag
==
0u
)
if
(
m_Flag
==
1
)
{
/*边框*/
IC2_SEG134
=
IC_SEG_OFF
;
IC2_SEG135
=
IC_SEG_OFF
;
IC2_SEG136
=
IC_SEG_OFF
;
IC2_SEG137
=
IC_SEG_OFF
;
IC2_SEG138
=
IC_SEG_OFF
;
IC2_SEG139
=
IC_SEG_OFF
;
IC2_SEG140
=
IC_SEG_OFF
;
IC2_SEG141
=
IC_SEG_OFF
;
IC2_SEG040
=
IC_SEG_ON
;
IC2_SEG140
=
IC_SEG_ON
;
IC1_SEG086
=
IC_SEG_ON
;
}
else
{
/*边框*/
IC2_SEG134
=
IC_SEG_ON
;
IC2_SEG135
=
IC_SEG_ON
;
IC2_SEG136
=
IC_SEG_ON
;
IC2_SEG137
=
IC_SEG_ON
;
IC2_SEG138
=
IC_SEG_ON
;
IC2_SEG139
=
IC_SEG_ON
;
IC2_SEG140
=
IC_SEG_ON
;
IC2_SEG141
=
IC_SEG_ON
;
IC2_SEG040
=
IC_SEG_OFF
;
IC2_SEG140
=
IC_SEG_OFF
;
IC1_SEG086
=
IC_SEG_OFF
;
}
m_Res
=
EX_OK
;
}
return
m_Res
;
}
/**@brief 指示灯显示函数
...
...
@@ -65,40 +45,160 @@ _Fun_Res SEG_SET_Frame(uint8_t m_Flag)
_Fun_Res
SEG_SET_LED_STS
(
uint8_t
LED_NUM
,
uint8_t
m_Flag
)
{
_Fun_Res
m_Res
;
uint8_t
Flag
;
uint8_t
Num
;
if
(
(
m_Flag
>
7u
)
||
(
LED_NUM
>=
SEG_LED_MAX
)
)
uint8_t
Flag
;
uint8_t
Num
;
if
(
m_Flag
==
0u
)
{
m_Res
=
EX_ERR
;
Flag
=
IC_SEG_OFF
;
}
else
{
if
(
m_Flag
==
0u
)
Flag
=
IC_SEG_ON
;
}
Num
=
LED_NUM
;
switch
(
Num
)
{
case
SEG_LED_Recharge
:
IC1_SEG150
=
Flag
;
break
;
case
SEG_LED_Engine_Failure
:
IC1_SEG156
=
Flag
;
break
;
case
SEG_LED_Battery_Failure
:
IC1_SEG155
=
Flag
;
break
;
case
SEG_LED_Oil_press_Warning
:
IC1_SEG154
=
Flag
;
break
;
case
SEG_LED_System_Light
:
IC1_SEG153
=
Flag
;
break
;
case
SEG_LED_Power_Battery_Failure
:
IC1_SEG152
=
Flag
;
break
;
case
SEG_LED_Chloramine
:
IC1_SEG151
=
Flag
;
break
;
case
SEG_LED_Cutter_Overload
:
IC1_SEG139
=
Flag
;
break
;
case
SEG_LED_Seat_Detection
:
IC1_SEG142
=
Flag
;
break
;
case
SEG_LED_Key_Access
:
IC1_SEG140
=
Flag
;
break
;
case
SEG_LED_Ready
:
IC1_SEG141
=
Flag
;
break
;
case
SEG_LED_Cutter_Head_switch
:
IC1_SEG119
=
Flag
;
break
;
case
SEG_LED_engine_Burn
:
IC1_SEG056
=
Flag
;
break
;
case
SEG_LED_External_Discharge
:
IC1_SEG057
=
Flag
;
break
;
case
SEG_LED_bluetooth
:
IC1_SEG055
=
Flag
;
break
;
case
SEG_LED_Distance_Light
:
IC1_SEG085
=
Flag
;
break
;
case
SEG_LED_Cruise_Control
:
IC1_SEG084
=
Flag
;
break
;
case
SEG_LED_HHT_Charger
:
IC2_SEG093
=
Flag
;
break
;
case
SEG_LED_Fuel_Oil
:
IC2_SEG093
=
Flag
;
break
;
default:
break
;
}
m_Res
=
EX_OK
;
return
m_Res
;
}
/**@brief 刀盘显示函数
* @param[in] m_Flag 是否显示 -1 显示 -0 不显示
* @return 函数执行结果
* - EX_OK 上报成功
* - EX_ERR 上报失败
*/
_Fun_Res
SEG_SET_Cutterhead
(
uint16_t
LED_NUM
,
uint8_t
m_Flag
)
{
_Fun_Res
m_Res
;
if
(
m_Flag
)
{
IC1_SEG118
=
IC_SEG_ON
;
IC1_SEG073
=
IC_SEG_ON
;
IC1_SEG074
=
IC_SEG_ON
;
IC1_SEG079
=
IC_SEG_ON
;
IC1_SEG117
=
IC_SEG_ON
;
IC1_SEG083
=
IC_SEG_ON
;
if
(
LED_NUM
==
1
)
{
Flag
=
IC_SEG_OFF
;
IC1_SEG075
=
IC_SEG_OFF
;
IC1_SEG082
=
IC_SEG_ON
;
IC1_SEG081
=
IC_SEG_ON
;
IC1_SEG080
=
IC_SEG_OFF
;
IC1_SEG078
=
IC_SEG_OFF
;
IC1_SEG076
=
IC_SEG_OFF
;
IC1_SEG077
=
IC_SEG_OFF
;
}
else
else
if
(
LED_NUM
==
2
)
{
Flag
=
IC_SEG_ON
;
IC1_SEG075
=
IC_SEG_ON
;
IC1_SEG082
=
IC_SEG_ON
;
IC1_SEG081
=
IC_SEG_OFF
;
IC1_SEG080
=
IC_SEG_ON
;
IC1_SEG078
=
IC_SEG_ON
;
IC1_SEG076
=
IC_SEG_OFF
;
IC1_SEG077
=
IC_SEG_ON
;
}
Num
=
LED_NUM
;
switch
(
Num
)
else
if
(
LED_NUM
==
3
)
{
case
0u
:
IC2_SEG032
=
Flag
;
break
;
/* SEG_LED_Voltage, */
case
1u
:
IC2_SEG033
=
Flag
;
break
;
/* SEG_LED_Auto_Start_Stop, */
case
2u
:
IC2_SEG128
=
Flag
;
break
;
/* SEG_LED_Fuel, */
default:
break
;
IC1_SEG075
=
IC_SEG_ON
;
IC1_SEG082
=
IC_SEG_ON
;
IC1_SEG081
=
IC_SEG_ON
;
IC1_SEG080
=
IC_SEG_ON
;
IC1_SEG078
=
IC_SEG_OFF
;
IC1_SEG076
=
IC_SEG_OFF
;
IC1_SEG077
=
IC_SEG_ON
;
}
m_Res
=
EX_OK
;
else
{
IC1_SEG075
=
IC_SEG_OFF
;
IC1_SEG082
=
IC_SEG_OFF
;
IC1_SEG081
=
IC_SEG_OFF
;
IC1_SEG080
=
IC_SEG_OFF
;
IC1_SEG078
=
IC_SEG_OFF
;
IC1_SEG076
=
IC_SEG_OFF
;
IC1_SEG077
=
IC_SEG_OFF
;
}
}
else
{
IC1_SEG075
=
IC_SEG_OFF
;
IC1_SEG082
=
IC_SEG_OFF
;
IC1_SEG081
=
IC_SEG_OFF
;
IC1_SEG080
=
IC_SEG_OFF
;
IC1_SEG078
=
IC_SEG_OFF
;
IC1_SEG076
=
IC_SEG_OFF
;
IC1_SEG077
=
IC_SEG_OFF
;
IC1_SEG118
=
IC_SEG_OFF
;
IC1_SEG073
=
IC_SEG_OFF
;
IC1_SEG074
=
IC_SEG_OFF
;
IC1_SEG079
=
IC_SEG_OFF
;
IC1_SEG117
=
IC_SEG_OFF
;
IC1_SEG083
=
IC_SEG_OFF
;
}
m_Res
=
EX_OK
;
return
m_Res
;
}
...
...
@@ -116,111 +216,92 @@ _Fun_Res SEG_SET_LED_STS(uint8_t LED_NUM, uint8_t m_Flag)
_Fun_Res
SEG_SET_GEAR
(
uint8_t
m_Gear_Flag
,
uint8_t
m_Gear
)
{
_Fun_Res
m_Res
;
if
((
m_Gear_Flag
>=
2u
)
||
(
m_Gear
>
3u
))
{
m_Res
=
EX_ERR
;
}
else
{
/*挡位符号*/
if
(
m_Gear_Flag
==
1u
)
if
(
m_Gear_Flag
==
1u
)
{
if
(
m_Gear
==
Gear_P
)
if
(
m_Gear
==
Gear_P
)
{
IC2_SEG034
=
IC_SEG_ON
;
IC2_SEG033
=
IC_SEG_ON
;
IC2_SEG031
=
IC_SEG_ON
;
IC2_SEG050
=
IC_SEG_ON
;
IC2_SEG036
=
IC_SEG_ON
;
IC2_SEG035
=
IC_SEG_OFF
;
IC2_SEG049
=
IC_SEG_ON
;
IC2_SEG037
=
IC_SEG_ON
;
IC2_SEG041
=
IC_SEG_ON
;
IC2_SEG032
=
IC_SEG_ON
;
IC2_SEG030
=
IC_SEG_ON
;
IC2_SEG048
=
IC_SEG_ON
;
IC2_SEG038
=
IC_SEG_ON
;
IC2_SEG046
=
IC_SEG_OFF
;
IC2_SEG047
=
IC_SEG_OFF
;
IC2_SEG045
=
IC_SEG_OFF
;
IC2_SEG039
=
IC_SEG_ON
;
IC2_SEG040
=
IC_SEG_ON
;
IC2_SEG042
=
IC_SEG_OFF
;
IC2_SEG043
=
IC_SEG_OFF
;
IC2_SEG044
=
IC_SEG_OFF
;
IC2_SEG100
=
IC_SEG_ON
;
IC2_SEG097
=
IC_SEG_ON
;
IC2_SEG148
=
IC_SEG_ON
;
IC2_SEG147
=
IC_SEG_ON
;
IC2_SEG146
=
IC_SEG_ON
;
IC2_SEG099
=
IC_SEG_ON
;
IC2_SEG101
=
IC_SEG_ON
;
IC2_SEG094
=
IC_SEG_ON
;
IC2_SEG095
=
IC_SEG_ON
;
IC2_SEG149
=
IC_SEG_ON
;
IC2_SEG145
=
IC_SEG_ON
;
IC2_SEG141
=
IC_SEG_ON
;
IC2_SEG104
=
IC_SEG_ON
;
IC2_SEG103
=
IC_SEG_ON
;
IC2_SEG098
=
IC_SEG_ON
;
IC2_SEG150
=
IC_SEG_ON
;
IC2_SEG096
=
IC_SEG_OFF
;
IC2_SEG142
=
IC_SEG_OFF
;
IC2_SEG143
=
IC_SEG_OFF
;
IC2_SEG144
=
IC_SEG_OFF
;
IC2_SEG102
=
IC_SEG_OFF
;
}
else
if
(
m_Gear
==
Gear_R
)
else
if
(
m_Gear
==
1
)
{
IC2_SEG034
=
IC_SEG_ON
;
IC2_SEG033
=
IC_SEG_ON
;
IC2_SEG031
=
IC_SEG_ON
;
IC2_SEG050
=
IC_SEG_ON
;
IC2_SEG036
=
IC_SEG_ON
;
IC2_SEG035
=
IC_SEG_OFF
;
IC2_SEG049
=
IC_SEG_ON
;
IC2_SEG037
=
IC_SEG_ON
;
IC2_SEG041
=
IC_SEG_ON
;
IC2_SEG032
=
IC_SEG_ON
;
IC2_SEG030
=
IC_SEG_ON
;
IC2_SEG048
=
IC_SEG_ON
;
IC2_SEG038
=
IC_SEG_ON
;
IC2_SEG046
=
IC_SEG_ON
;
IC2_SEG047
=
IC_SEG_OFF
;
IC2_SEG045
=
IC_SEG_ON
;
IC2_SEG039
=
IC_SEG_ON
;
IC2_SEG040
=
IC_SEG_ON
;
IC2_SEG042
=
IC_SEG_OFF
;
IC2_SEG043
=
IC_SEG_ON
;
IC2_SEG044
=
IC_SEG_ON
;
IC2_SEG097
=
IC_SEG_OFF
;
IC2_SEG148
=
IC_SEG_OFF
;
IC2_SEG147
=
IC_SEG_ON
;
IC2_SEG146
=
IC_SEG_OFF
;
IC2_SEG099
=
IC_SEG_OFF
;
IC2_SEG101
=
IC_SEG_OFF
;
IC2_SEG100
=
IC_SEG_OFF
;
IC2_SEG142
=
IC_SEG_OFF
;
IC2_SEG143
=
IC_SEG_OFF
;
IC2_SEG032
=
IC_SEG_OFF
;
IC2_SEG094
=
IC_SEG_ON
;
//圈
IC2_SEG095
=
IC_SEG_ON
;
IC2_SEG149
=
IC_SEG_ON
;
IC2_SEG145
=
IC_SEG_ON
;
IC2_SEG141
=
IC_SEG_ON
;
IC2_SEG104
=
IC_SEG_ON
;
IC2_SEG103
=
IC_SEG_ON
;
IC2_SEG098
=
IC_SEG_ON
;
IC2_SEG150
=
IC_SEG_ON
;
IC2_SEG096
=
IC_SEG_OFF
;
IC2_SEG144
=
IC_SEG_ON
;
IC2_SEG102
=
IC_SEG_OFF
;
}
else
if
(
m_Gear
==
Gear_N
)
else
if
(
m_Gear
==
2
)
{
IC2_SEG034
=
IC_SEG_OFF
;
IC2_SEG033
=
IC_SEG_ON
;
IC2_SEG031
=
IC_SEG_OFF
;
IC2_SEG050
=
IC_SEG_ON
;
IC2_SEG036
=
IC_SEG_ON
;
IC2_SEG035
=
IC_SEG_ON
;
IC2_SEG049
=
IC_SEG_ON
;
IC2_SEG037
=
IC_SEG_ON
;
IC2_SEG041
=
IC_SEG_OFF
;
IC2_SEG032
=
IC_SEG_ON
;
IC2_SEG030
=
IC_SEG_OFF
;
IC2_SEG048
=
IC_SEG_ON
;
IC2_SEG038
=
IC_SEG_ON
;
IC2_SEG046
=
IC_SEG_ON
;
IC2_SEG047
=
IC_SEG_ON
;
IC2_SEG045
=
IC_SEG_ON
;
IC2_SEG039
=
IC_SEG_OFF
;
IC2_SEG040
=
IC_SEG_ON
;
IC2_SEG042
=
IC_SEG_OFF
;
IC2_SEG043
=
IC_SEG_ON
;
IC2_SEG044
=
IC_SEG_ON
;
IC2_SEG097
=
IC_SEG_OFF
;
IC2_SEG096
=
IC_SEG_OFF
;
IC2_SEG142
=
IC_SEG_OFF
;
IC2_SEG144
=
IC_SEG_OFF
;
IC2_SEG100
=
IC_SEG_ON
;
IC2_SEG101
=
IC_SEG_ON
;
IC2_SEG099
=
IC_SEG_ON
;
IC2_SEG146
=
IC_SEG_ON
;
IC2_SEG147
=
IC_SEG_ON
;
IC2_SEG148
=
IC_SEG_ON
;
IC2_SEG102
=
IC_SEG_ON
;
IC2_SEG143
=
IC_SEG_ON
;
IC2_SEG094
=
IC_SEG_ON
;
//圈
IC2_SEG095
=
IC_SEG_ON
;
IC2_SEG149
=
IC_SEG_ON
;
IC2_SEG145
=
IC_SEG_ON
;
IC2_SEG141
=
IC_SEG_ON
;
IC2_SEG104
=
IC_SEG_ON
;
IC2_SEG103
=
IC_SEG_ON
;
IC2_SEG098
=
IC_SEG_ON
;
IC2_SEG150
=
IC_SEG_ON
;
}
else
{
IC2_SEG034
=
IC_SEG_ON
;
IC2_SEG033
=
IC_SEG_ON
;
IC2_SEG031
=
IC_SEG_ON
;
IC2_SEG050
=
IC_SEG_ON
;
IC2_SEG036
=
IC_SEG_ON
;
IC2_SEG035
=
IC_SEG_OFF
;
IC2_SEG049
=
IC_SEG_ON
;
IC2_SEG037
=
IC_SEG_ON
;
IC2_SEG041
=
IC_SEG_OFF
;
IC2_SEG032
=
IC_SEG_OFF
;
IC2_SEG030
=
IC_SEG_OFF
;
IC2_SEG048
=
IC_SEG_ON
;
IC2_SEG038
=
IC_SEG_ON
;
IC2_SEG046
=
IC_SEG_OFF
;
IC2_SEG047
=
IC_SEG_ON
;
IC2_SEG045
=
IC_SEG_ON
;
IC2_SEG039
=
IC_SEG_ON
;
IC2_SEG040
=
IC_SEG_ON
;
IC2_SEG042
=
IC_SEG_ON
;
IC2_SEG043
=
IC_SEG_ON
;
IC2_SEG044
=
IC_SEG_ON
;
;
}
}
else
...
...
@@ -307,88 +388,108 @@ _Fun_Res SEG_SET_FuelDial(uint8_t m_Flag, uint8_t m_SEG)
IC2_SEG052
=
IC_SEG_OFF
;
IC2_SEG051
=
IC_SEG_OFF
;
IC2_SEG050
=
IC_SEG_OFF
;
IC2_SEG036
=
IC_SEG_OFF
;
IC2_SEG035
=
IC_SEG_OFF
;
IC2_SEG049
=
IC_SEG_OFF
;
IC2_SEG037
=
IC_SEG_OFF
;
IC2_SEG041
=
IC_SEG_OFF
;
IC2_SEG032
=
IC_SEG_OFF
;
IC2_SEG030
=
IC_SEG_OFF
;
IC2_SEG048
=
IC_SEG_OFF
;
IC2_SEG038
=
IC_SEG_OFF
;
IC2_SEG046
=
IC_SEG_OFF
;
IC2_SEG047
=
IC_SEG_OFF
;
IC2_SEG046
=
IC_SEG_OFF
;
IC2_SEG045
=
IC_SEG_OFF
;
IC2_SEG039
=
IC_SEG_OFF
;
IC2_SEG040
=
IC_SEG_OFF
;
IC2_SEG042
=
IC_SEG_OFF
;
IC2_SEG043
=
IC_SEG_OFF
;
IC2_SEG044
=
IC_SEG_OFF
;
}
m_Res
=
EX_OK
;
}
return
m_Res
;
}
/**@brief 转速表盘显示函数
/**@brief 电量表盘显示函数
* @param[in] m_Flag 段与数字是否显示 -1 显示 -0 不显示
* @param[in] m_SEG 转速表盘段数0<=m_SEG<=11
* @param[in] m_NUM 显示转速值
* @param[in] m_SEG 车速表盘段数0<=m_SEG<=10
* @return 函数执行结果
* - EX_OK 上报成功
* - EX_OK
上报成功
* - EX_ERR 上报失败
*/
_Fun_Res
SEG_SET_E
speed
Dial
(
uint8_t
m_Flag
,
uint8_t
m_SEG
,
uint16_t
m_NUM
)
_Fun_Res
SEG_SET_E
le
Dial
(
uint8_t
m_Flag
,
uint8_t
m_SEG
,
uint16_t
m_NUM
)
{
_Fun_Res
m_Res
;
uint8_t
Num
;
uint8_t
m8
;
if
((
m_Flag
>=
2u
)
||
(
m_SEG
>
11u
))
{
m_Res
=
EX_ERR
;
}
else
uint8_t
Num
;
uint8_t
m8
;
if
(
m_Flag
==
1u
)
{
if
(
m_Flag
==
1u
)
IC1_SEG072
=
IC_SEG_GREY
;
IC1_SEG071
=
IC_SEG_GREY
;
IC1_SEG070
=
IC_SEG_GREY
;
IC1_SEG069
=
IC_SEG_GREY
;
IC1_SEG068
=
IC_SEG_GREY
;
IC1_SEG067
=
IC_SEG_GREY
;
IC1_SEG066
=
IC_SEG_GREY
;
IC1_SEG065
=
IC_SEG_GREY
;
IC1_SEG064
=
IC_SEG_GREY
;
IC1_SEG063
=
IC_SEG_GREY
;
IC1_SEG062
=
IC_SEG_GREY
;
IC1_SEG061
=
IC_SEG_GREY
;
IC1_SEG060
=
IC_SEG_GREY
;
IC1_SEG059
=
IC_SEG_GREY
;
IC1_SEG058
=
IC_SEG_GREY
;
IC1_SEG121
=
IC_SEG_ON
;
IC1_SEG124
=
IC_SEG_ON
;
IC1_SEG122
=
IC_SEG_ON
;
IC1_SEG123
=
IC_SEG_ON
;
IC1_SEG054
=
IC_SEG_ON
;
IC1_SEG136
=
IC_SEG_GREY
;
IC1_SEG125
=
IC_SEG_GREY
;
IC1_SEG137
=
IC_SEG_GREY
;
IC1_SEG126
=
IC_SEG_GREY
;
IC1_SEG138
=
IC_SEG_GREY
;
IC1_SEG127
=
IC_SEG_GREY
;
IC1_SEG143
=
IC_SEG_GREY
;
IC1_SEG128
=
IC_SEG_GREY
;
IC1_SEG144
=
IC_SEG_GREY
;
IC1_SEG129
=
IC_SEG_GREY
;
IC1_SEG145
=
IC_SEG_GREY
;
IC1_SEG130
=
IC_SEG_GREY
;
IC1_SEG146
=
IC_SEG_GREY
;
IC1_SEG131
=
IC_SEG_GREY
;
IC1_SEG147
=
IC_SEG_GREY
;
IC1_SEG132
=
IC_SEG_GREY
;
IC1_SEG148
=
IC_SEG_GREY
;
IC1_SEG133
=
IC_SEG_GREY
;
IC1_SEG135
=
IC_SEG_GREY
;
IC1_SEG134
=
IC_SEG_GREY
;
switch
(
m_SEG
)
{
IC1_SEG127
=
IC_SEG_GREY
;
IC1_SEG126
=
IC_SEG_GREY
;
IC1_SEG125
=
IC_SEG_GREY
;
IC1_SEG124
=
IC_SEG_GREY
;
IC1_SEG123
=
IC_SEG_GREY
;
IC1_SEG122
=
IC_SEG_GREY
;
IC1_SEG121
=
IC_SEG_GREY
;
IC1_SEG120
=
IC_SEG_GREY
;
IC1_SEG119
=
IC_SEG_GREY
;
IC1_SEG118
=
IC_SEG_GREY
;
IC1_SEG117
=
IC_SEG_GREY
;
switch
(
m_SEG
)
{
case
11u
:
IC1_SEG127
=
IC_SEG_ON
;
case
10u
:
IC1_SEG126
=
IC_SEG_ON
;
case
9u
:
IC1_SEG136
=
IC_SEG_ON
;
IC1_SEG125
=
IC_SEG_ON
;
case
9u
:
IC1_SEG137
=
IC_SEG_ON
;
IC1_SEG126
=
IC_SEG_ON
;
case
8u
:
IC1_SEG124
=
IC_SEG_ON
;
IC1_SEG138
=
IC_SEG_ON
;
IC1_SEG127
=
IC_SEG_ON
;
case
7u
:
IC1_SEG123
=
IC_SEG_ON
;
IC1_SEG143
=
IC_SEG_ON
;
IC1_SEG128
=
IC_SEG_ON
;
case
6u
:
IC1_SEG122
=
IC_SEG_ON
;
IC1_SEG144
=
IC_SEG_ON
;
IC1_SEG129
=
IC_SEG_ON
;
case
5u
:
IC1_SEG121
=
IC_SEG_ON
;
IC1_SEG145
=
IC_SEG_ON
;
IC1_SEG130
=
IC_SEG_ON
;
case
4u
:
IC1_SEG120
=
IC_SEG_ON
;
IC1_SEG146
=
IC_SEG_ON
;
IC1_SEG131
=
IC_SEG_ON
;
case
3u
:
IC1_SEG119
=
IC_SEG_ON
;
IC1_SEG147
=
IC_SEG_ON
;
IC1_SEG132
=
IC_SEG_ON
;
case
2u
:
IC1_SEG118
=
IC_SEG_ON
;
IC1_SEG148
=
IC_SEG_ON
;
IC1_SEG133
=
IC_SEG_ON
;
case
1u
:
IC1_SEG117
=
IC_SEG_ON
;
IC1_SEG135
=
IC_SEG_ON
;
IC1_SEG134
=
IC_SEG_ON
;
case
0u
:
break
;
default:
...
...
@@ -570,110 +671,93 @@ _Fun_Res SEG_SET_EspeedDial(uint8_t m_Flag, uint8_t m_SEG, uint16_t m_NUM)
return
m_Res
;
}
/**@brief
电量表盘显示函数
* @param[in] m_Flag
段与数字
是否显示 -1 显示 -0 不显示
* @param[in] m_
SEG 车速表盘段数0<=m_SEG<=10
/**@brief
故障码显示
* @param[in] m_Flag
车速
是否显示 -1 显示 -0 不显示
* @param[in] m_
NUM 车速数据 0<=m_NUM<=299
* @return 函数执行结果
* - EX_OK 上报成功
* - EX_ERR 上报失败
*/
_Fun_Res
SEG_SET_
EleDial
(
uint8_t
m_Flag
,
uint8_t
m_SEG
,
uint8
_t
m_NUM
)
_Fun_Res
SEG_SET_
Fault_Code
(
uint8_t
m_Flag
,
uint16
_t
m_NUM
)
{
_Fun_Res
m_Res
;
uint8_t
Num
;
uint8_t
m8
;
if
((
m_Flag
>=
2u
)
||
(
m_SEG
>
10u
)
||
(
m_NUM
>=
200u
))
uint16_t
Num
;
uint8_t
m8
;
if
(
(
m_Flag
>
3u
)
||
(
m_NUM
>
9999u
)
)
{
m_Res
=
EX_ERR
;
}
else
{
if
(
m_Flag
==
1u
)
if
(
m_Flag
==
1u
)
{
IC1_SEG022
=
IC_SEG_GREY
;
IC1_SEG021
=
IC_SEG_GREY
;
IC1_SEG020
=
IC_SEG_GREY
;
IC1_SEG019
=
IC_SEG_GREY
;
IC1_SEG018
=
IC_SEG_GREY
;
IC1_SEG017
=
IC_SEG_GREY
;
IC1_SEG016
=
IC_SEG_GREY
;
IC1_SEG015
=
IC_SEG_GREY
;
IC1_SEG014
=
IC_SEG_GREY
;
IC1_SEG013
=
IC_SEG_GREY
;
switch
(
m_SEG
)
{
case
10u
:
IC1_SEG022
=
IC_SEG_ON
;
case
9u
:
IC1_SEG021
=
IC_SEG_ON
;
case
8u
:
IC1_SEG020
=
IC_SEG_ON
;
case
7u
:
IC1_SEG019
=
IC_SEG_ON
;
case
6u
:
IC1_SEG018
=
IC_SEG_ON
;
case
5u
:
IC1_SEG017
=
IC_SEG_ON
;
case
4u
:
IC1_SEG016
=
IC_SEG_ON
;
case
3u
:
IC1_SEG015
=
IC_SEG_ON
;
case
2u
:
IC1_SEG014
=
IC_SEG_ON
;
case
1u
:
IC1_SEG013
=
IC_SEG_ON
;
case
0u
:
break
;
default:
break
;
}
IC1_SEG027
=
IC_SEG_ON
;
IC1_SEG023
=
IC_SEG_ON
;
IC1_SEG087
=
IC_SEG_ON
;
IC1_SEG094
=
IC_SEG_ON
;
IC1_SEG093
=
IC_SEG_ON
;
IC1_SEG091
=
IC_SEG_ON
;
IC1_SEG090
=
IC_SEG_ON
;
IC1_SEG089
=
IC_SEG_ON
;
IC1_SEG088
=
IC_SEG_ON
;
IC1_SEG092
=
IC_SEG_ON
;
IC1_SEG101
=
IC_SEG_ON
;
IC1_SEG100
=
IC_SEG_ON
;
IC1_SEG098
=
IC_SEG_ON
;
IC1_SEG097
=
IC_SEG_ON
;
IC1_SEG096
=
IC_SEG_ON
;
IC1_SEG095
=
IC_SEG_ON
;
IC1_SEG099
=
IC_SEG_ON
;
IC1_SEG108
=
IC_SEG_ON
;
IC1_SEG107
=
IC_SEG_ON
;
IC1_SEG105
=
IC_SEG_ON
;
IC1_SEG104
=
IC_SEG_ON
;
IC1_SEG103
=
IC_SEG_ON
;
IC1_SEG102
=
IC_SEG_ON
;
IC1_SEG106
=
IC_SEG_ON
;
IC1_SEG115
=
IC_SEG_ON
;
IC1_SEG114
=
IC_SEG_ON
;
IC1_SEG113
=
IC_SEG_ON
;
IC1_SEG112
=
IC_SEG_ON
;
IC1_SEG111
=
IC_SEG_ON
;
IC1_SEG109
=
IC_SEG_ON
;
IC1_SEG110
=
IC_SEG_ON
;
/*
单
位*/
IC1_SEG028
=
IC_SEG_ON
;
/*百位*/
Num
=
m_NUM
/
100u
;
if
(
Num
==
1u
)
/*
千
位*/
Num
=
(
m_NUM
/
1000u
)
%
10u
;
m8
=
SEG_DISPLAY_NUMBER0
[
Num
];
if
(
Bit_Is_Set
(
m8
,
0
)
)
{
IC1_SEG0
43
=
IC_SEG_ON
;
IC1_SEG0
94
=
IC_SEG_ON
;
}
else
{
IC1_SEG0
43
=
IC_SEG_OFF
;
IC1_SEG0
94
=
IC_SEG_OFF
;
}
/*十位*/
Num
=
(
m_NUM
/
10u
)
%
10u
;
if
(
m_NUM
>=
100u
)
if
(
Bit_Is_Set
(
m8
,
1
)
)
{
m8
=
SEG_DISPLAY_NUMBER0
[
Num
]
;
IC1_SEG093
=
IC_SEG_ON
;
}
else
{
m8
=
SEG_UNDISPLAY_NUMBER0
[
Num
]
;
IC1_SEG093
=
IC_SEG_OFF
;
}
if
(
Bit_Is_Set
(
m8
,
0
))
if
(
Bit_Is_Set
(
m8
,
2
)
)
{
IC1_SEG0
40
=
IC_SEG_ON
;
IC1_SEG0
91
=
IC_SEG_ON
;
}
else
{
IC1_SEG0
40
=
IC_SEG_OFF
;
IC1_SEG0
91
=
IC_SEG_OFF
;
}
if
(
Bit_Is_Set
(
m8
,
1
)
)
if
(
Bit_Is_Set
(
m8
,
3
)
)
{
IC1_SEG0
39
=
IC_SEG_ON
;
IC1_SEG0
90
=
IC_SEG_ON
;
}
else
{
IC1_SEG0
39
=
IC_SEG_OFF
;
IC1_SEG0
90
=
IC_SEG_OFF
;
}
if
(
Bit_Is_Set
(
m8
,
2
)
)
if
(
Bit_Is_Set
(
m8
,
5
)
)
{
IC1_SEG088
=
IC_SEG_ON
;
}
...
...
@@ -681,7 +765,7 @@ _Fun_Res SEG_SET_EleDial(uint8_t m_Flag, uint8_t m_SEG, uint8_t m_NUM)
{
IC1_SEG088
=
IC_SEG_OFF
;
}
if
(
Bit_Is_Set
(
m8
,
3
)
)
if
(
Bit_Is_Set
(
m8
,
4
)
)
{
IC1_SEG089
=
IC_SEG_ON
;
}
...
...
@@ -689,50 +773,51 @@ _Fun_Res SEG_SET_EleDial(uint8_t m_Flag, uint8_t m_SEG, uint8_t m_NUM)
{
IC1_SEG089
=
IC_SEG_OFF
;
}
if
(
Bit_Is_Set
(
m8
,
5
)
)
if
(
Bit_Is_Set
(
m8
,
6
)
)
{
IC1_SEG0
4
2
=
IC_SEG_ON
;
IC1_SEG0
9
2
=
IC_SEG_ON
;
}
else
{
IC1_SEG0
4
2
=
IC_SEG_OFF
;
IC1_SEG0
9
2
=
IC_SEG_OFF
;
}
if
(
Bit_Is_Set
(
m8
,
4
))
/*百位*/
Num
=
(
m_NUM
/
100u
)
%
10u
;
m8
=
SEG_DISPLAY_NUMBER0
[
Num
];
if
(
Bit_Is_Set
(
m8
,
0
)
)
{
IC1_SEG
04
1
=
IC_SEG_ON
;
IC1_SEG
10
1
=
IC_SEG_ON
;
}
else
{
IC1_SEG
04
1
=
IC_SEG_OFF
;
IC1_SEG
10
1
=
IC_SEG_OFF
;
}
if
(
Bit_Is_Set
(
m8
,
6
)
)
if
(
Bit_Is_Set
(
m8
,
1
)
)
{
IC1_SEG
038
=
IC_SEG_ON
;
IC1_SEG
100
=
IC_SEG_ON
;
}
else
{
IC1_SEG
038
=
IC_SEG_OFF
;
IC1_SEG
100
=
IC_SEG_OFF
;
}
/*个位*/
Num
=
m_NUM
%
10u
;
m8
=
SEG_DISPLAY_NUMBER0
[
Num
];
if
(
Bit_Is_Set
(
m8
,
0
))
if
(
Bit_Is_Set
(
m8
,
2
)
)
{
IC1_SEG0
33
=
IC_SEG_ON
;
IC1_SEG0
98
=
IC_SEG_ON
;
}
else
{
IC1_SEG0
33
=
IC_SEG_OFF
;
IC1_SEG0
98
=
IC_SEG_OFF
;
}
if
(
Bit_Is_Set
(
m8
,
1
)
)
if
(
Bit_Is_Set
(
m8
,
3
)
)
{
IC1_SEG0
32
=
IC_SEG_ON
;
IC1_SEG0
97
=
IC_SEG_ON
;
}
else
{
IC1_SEG0
32
=
IC_SEG_OFF
;
IC1_SEG0
97
=
IC_SEG_OFF
;
}
if
(
Bit_Is_Set
(
m8
,
2
)
)
if
(
Bit_Is_Set
(
m8
,
5
)
)
{
IC1_SEG095
=
IC_SEG_ON
;
}
...
...
@@ -740,7 +825,7 @@ _Fun_Res SEG_SET_EleDial(uint8_t m_Flag, uint8_t m_SEG, uint8_t m_NUM)
{
IC1_SEG095
=
IC_SEG_OFF
;
}
if
(
Bit_Is_Set
(
m8
,
3
)
)
if
(
Bit_Is_Set
(
m8
,
4
)
)
{
IC1_SEG096
=
IC_SEG_ON
;
}
...
...
@@ -748,9 +833,9 @@ _Fun_Res SEG_SET_EleDial(uint8_t m_Flag, uint8_t m_SEG, uint8_t m_NUM)
{
IC1_SEG096
=
IC_SEG_OFF
;
}
if
(
Bit_Is_Set
(
m8
,
5
)
)
if
(
Bit_Is_Set
(
m8
,
6
)
)
{
IC1_SEG0
35
=
IC_SEG_ON
;
IC1_SEG0
99
=
IC_SEG_ON
;
}
else
{
...
...
@@ -877,39 +962,41 @@ _Fun_Res SEG_SET_EleDial(uint8_t m_Flag, uint8_t m_SEG, uint8_t m_NUM)
}
else
{
IC2_SEG067
=
IC_SEG_OFF
;
IC2_SEG069
=
IC_SEG_OFF
;
IC2_SEG071
=
IC_SEG_OFF
;
IC2_SEG073
=
IC_SEG_OFF
;
IC2_SEG141
=
IC_SEG_OFF
;
IC2_SEG142
=
IC_SEG_OFF
;
IC2_SEG143
=
IC_SEG_OFF
;
IC2_SEG144
=
IC_SEG_OFF
;
IC2_SEG147
=
IC_SEG_OFF
;
IC2_SEG146
=
IC_SEG_OFF
;
IC2_SEG148
=
IC_SEG_OFF
;
IC2_SEG145
=
IC_SEG_OFF
;
IC2_SEG064
=
IC_SEG_OFF
;
IC2_SEG139
=
IC_SEG_OFF
;
IC2_SEG140
=
IC_SEG_OFF
;
IC1_SEG074
=
IC_SEG_OFF
;
IC1_SEG114
=
IC_SEG_OFF
;
IC1_SEG115
=
IC_SEG_OFF
;
IC1_SEG116
=
IC_SEG_OFF
;
IC1_SEG101
=
IC_SEG_OFF
;
IC2_SEG138
=
IC_SEG_OFF
;
IC2_SEG135
=
IC_SEG_OFF
;
IC2_SEG134
=
IC_SEG_OFF
;
IC2_SEG132
=
IC_SEG_OFF
;
IC2_SEG131
=
IC_SEG_OFF
;
IC2_SEG137
=
IC_SEG_OFF
;
IC2_SEG136
=
IC_SEG_OFF
;
IC2_SEG133
=
IC_SEG_OFF
;
IC2_SEG128
=
IC_SEG_OFF
;
IC2_SEG127
=
IC_SEG_OFF
;
IC2_SEG125
=
IC_SEG_OFF
;
IC2_SEG124
=
IC_SEG_OFF
;
IC2_SEG130
=
IC_SEG_OFF
;
IC2_SEG129
=
IC_SEG_OFF
;
IC2_SEG126
=
IC_SEG_OFF
;
IC1_SEG082
=
IC_SEG_OFF
;
IC1_SEG083
=
IC_SEG_OFF
;
IC1_SEG084
=
IC_SEG_OFF
;
IC1_SEG085
=
IC_SEG_OFF
;
IC1_SEG086
=
IC_SEG_OFF
;
IC1_SEG087
=
IC_SEG_OFF
;
IC1_SEG088
=
IC_SEG_OFF
;
IC1_SEG089
=
IC_SEG_OFF
;
IC1_SEG090
=
IC_SEG_OFF
;
IC1_SEG091
=
IC_SEG_OFF
;
IC1_SEG092
=
IC_SEG_OFF
;
IC1_SEG093
=
IC_SEG_OFF
;
IC1_SEG094
=
IC_SEG_OFF
;
IC1_SEG095
=
IC_SEG_OFF
;
IC1_SEG096
=
IC_SEG_OFF
;
IC1_SEG097
=
IC_SEG_OFF
;
IC1_SEG098
=
IC_SEG_OFF
;
IC1_SEG099
=
IC_SEG_OFF
;
IC1_SEG100
=
IC_SEG_OFF
;
IC1_SEG102
=
IC_SEG_OFF
;
IC1_SEG103
=
IC_SEG_OFF
;
IC1_SEG104
=
IC_SEG_OFF
;
IC1_SEG105
=
IC_SEG_OFF
;
IC1_SEG106
=
IC_SEG_OFF
;
IC1_SEG107
=
IC_SEG_OFF
;
IC1_SEG108
=
IC_SEG_OFF
;
IC1_SEG109
=
IC_SEG_OFF
;
IC1_SEG110
=
IC_SEG_OFF
;
}
m_Res
=
EX_OK
;
...
...
@@ -917,83 +1004,6 @@ _Fun_Res SEG_SET_EleDial(uint8_t m_Flag, uint8_t m_SEG, uint8_t m_NUM)
return
m_Res
;
}
_Fun_Res
SEG_Scan_SET_PowerDial
(
uint8_t
m_SEG
)
{
_Fun_Res
m_Res
;
IC2_SEG148
=
IC_SEG_ON
;
IC2_SEG145
=
IC_SEG_ON
;
IC2_SEG064
=
IC_SEG_ON
;
IC2_SEG067
=
IC_SEG_GREY
;
IC2_SEG069
=
IC_SEG_GREY
;
IC2_SEG071
=
IC_SEG_GREY
;
IC2_SEG073
=
IC_SEG_GREY
;
IC2_SEG141
=
IC_SEG_GREY
;
IC2_SEG142
=
IC_SEG_GREY
;
IC2_SEG143
=
IC_SEG_GREY
;
IC2_SEG144
=
IC_SEG_GREY
;
IC2_SEG147
=
IC_SEG_GREY
;
IC2_SEG146
=
IC_SEG_GREY
;
switch
(
m_SEG
)
{
case
10u
:
IC2_SEG067
=
IC_SEG_ON
;
case
9u
:
IC2_SEG069
=
IC_SEG_ON
;
case
8u
:
IC2_SEG071
=
IC_SEG_ON
;
case
7u
:
IC2_SEG073
=
IC_SEG_ON
;
case
6u
:
IC2_SEG141
=
IC_SEG_ON
;
case
5u
:
IC2_SEG142
=
IC_SEG_ON
;
case
4u
:
IC2_SEG143
=
IC_SEG_ON
;
case
3u
:
IC2_SEG144
=
IC_SEG_ON
;
case
2u
:
IC2_SEG146
=
IC_SEG_ON
;
case
1u
:
IC2_SEG147
=
IC_SEG_ON
;
case
0u
:
break
;
default:
break
;
}
IC2_SEG148
=
IC_SEG_OFF
;
IC2_SEG145
=
IC_SEG_OFF
;
IC2_SEG064
=
IC_SEG_OFF
;
IC2_SEG139
=
IC_SEG_OFF
;
IC2_SEG140
=
IC_SEG_OFF
;
IC2_SEG138
=
IC_SEG_OFF
;
IC2_SEG135
=
IC_SEG_OFF
;
IC2_SEG134
=
IC_SEG_OFF
;
IC2_SEG132
=
IC_SEG_OFF
;
IC2_SEG131
=
IC_SEG_OFF
;
IC2_SEG137
=
IC_SEG_OFF
;
IC2_SEG136
=
IC_SEG_OFF
;
IC2_SEG133
=
IC_SEG_OFF
;
IC2_SEG128
=
IC_SEG_OFF
;
IC2_SEG127
=
IC_SEG_OFF
;
IC2_SEG125
=
IC_SEG_OFF
;
IC2_SEG124
=
IC_SEG_OFF
;
IC2_SEG130
=
IC_SEG_OFF
;
IC2_SEG129
=
IC_SEG_OFF
;
IC2_SEG126
=
IC_SEG_OFF
;
m_Res
=
EX_OK
;
return
m_Res
;
}
/**@brief 续航里程显示函数
* @param[in] m_Flag 续航里程是否显示 -2 显示---km -1 显示 -0 不显示
...
...
@@ -2384,59 +2394,59 @@ _Fun_Res SEG_SET_TRIP_NUM(uint8_t m_Flag, uint16_t m_NUM)
_Fun_Res
SEG_SET_Clock
(
uint8_t
m_hour
,
uint8_t
m_minute
,
uint8_t
m_icon
,
uint8_t
m_Flag1
,
uint8_t
m_Flag2
)
{
_Fun_Res
m_Res
;
uint8_t
Num
;
uint8_t
m8
;
if
(
(
m_hour
>
99u
)
||
(
m_minute
>
99u
)
||
(
m_icon
>
1u
)
||
(
m_Flag1
>
1u
)
||
(
m_Flag2
>
1u
)
)
uint8_t
Num
;
uint8_t
m8
;
if
(
(
m_hour
>=
99u
)
||
(
m_minute
>=
99u
)
||
(
m_icon
>
1u
)
||
(
m_Flag1
>
1u
)
||
(
m_Flag2
>
1u
)
)
{
m_Res
=
EX_ERR
;
}
else
{
if
(
m_icon
==
1u
)
{
if
(
m_icon
==
1u
)
{
IC2_SEG0
42
=
IC_SEG_ON
;
IC2_SEG0
84
=
IC_SEG_ON
;
}
else
{
IC2_SEG0
42
=
IC_SEG_OFF
;
IC2_SEG0
84
=
IC_SEG_OFF
;
}
if
(
m_Flag1
==
1u
)
if
(
m_Flag1
==
1u
)
{
Num
=
m_hour
/
10u
;
/*86104-11*/
m8
=
SEG_DISPLAY_NUMBER0
[
Num
];
if
(
Bit_Is_Set
(
m8
,
0
)
)
m8
=
SEG_DISPLAY_NUMBER0
[
Num
];
if
(
Bit_Is_Set
(
m8
,
0
)
)
{
IC2_SEG
119
=
IC_SEG_ON
;
IC2_SEG
036
=
IC_SEG_ON
;
}
else
{
IC2_SEG
119
=
IC_SEG_OFF
;
IC2_SEG
036
=
IC_SEG_OFF
;
}
if
(
Bit_Is_Set
(
m8
,
1
)
)
if
(
Bit_Is_Set
(
m8
,
1
)
)
{
IC2_SEG
118
=
IC_SEG_ON
;
IC2_SEG
035
=
IC_SEG_ON
;
}
else
{
IC2_SEG
118
=
IC_SEG_OFF
;
IC2_SEG
035
=
IC_SEG_OFF
;
}
if
(
Bit_Is_Set
(
m8
,
2
)
)
if
(
Bit_Is_Set
(
m8
,
2
)
)
{
IC2_SEG
123
=
IC_SEG_ON
;
IC2_SEG
079
=
IC_SEG_ON
;
}
else
{
IC2_SEG
123
=
IC_SEG_OFF
;
IC2_SEG
079
=
IC_SEG_OFF
;
}
if
(
Bit_Is_Set
(
m8
,
3
)
)
if
(
Bit_Is_Set
(
m8
,
3
)
)
{
IC2_SEG
122
=
IC_SEG_ON
;
IC2_SEG
078
=
IC_SEG_ON
;
}
else
{
IC2_SEG
122
=
IC_SEG_OFF
;
IC2_SEG
078
=
IC_SEG_OFF
;
}
if
(
Bit_Is_Set
(
m8
,
5
)
)
if
(
Bit_Is_Set
(
m8
,
5
)
)
{
IC2_SEG037
=
IC_SEG_ON
;
}
...
...
@@ -2444,7 +2454,7 @@ _Fun_Res SEG_SET_Clock(uint8_t m_hour, uint8_t m_minute, uint8_t m_icon, uint8_t
{
IC2_SEG037
=
IC_SEG_OFF
;
}
if
(
Bit_Is_Set
(
m8
,
4
)
)
if
(
Bit_Is_Set
(
m8
,
4
)
)
{
IC2_SEG039
=
IC_SEG_ON
;
}
...
...
@@ -2452,49 +2462,49 @@ _Fun_Res SEG_SET_Clock(uint8_t m_hour, uint8_t m_minute, uint8_t m_icon, uint8_t
{
IC2_SEG039
=
IC_SEG_OFF
;
}
if
(
Bit_Is_Set
(
m8
,
6
)
)
if
(
Bit_Is_Set
(
m8
,
6
)
)
{
IC2_SEG
117
=
IC_SEG_ON
;
IC2_SEG
038
=
IC_SEG_ON
;
}
else
{
IC2_SEG
117
=
IC_SEG_OFF
;
IC2_SEG
038
=
IC_SEG_OFF
;
}
Num
=
m_hour
%
10u
;
m8
=
SEG_DISPLAY_NUMBER0
[
Num
];
if
(
Bit_Is_Set
(
m8
,
0
)
)
m8
=
SEG_DISPLAY_NUMBER0
[
Num
];
if
(
Bit_Is_Set
(
m8
,
0
)
)
{
IC2_SEG0
46
=
IC_SEG_ON
;
IC2_SEG0
33
=
IC_SEG_ON
;
}
else
{
IC2_SEG0
46
=
IC_SEG_OFF
;
IC2_SEG0
33
=
IC_SEG_OFF
;
}
if
(
Bit_Is_Set
(
m8
,
1
)
)
if
(
Bit_Is_Set
(
m8
,
1
)
)
{
IC2_SEG0
45
=
IC_SEG_ON
;
IC2_SEG0
32
=
IC_SEG_ON
;
}
else
{
IC2_SEG0
45
=
IC_SEG_OFF
;
IC2_SEG0
32
=
IC_SEG_OFF
;
}
if
(
Bit_Is_Set
(
m8
,
2
)
)
if
(
Bit_Is_Set
(
m8
,
2
)
)
{
IC2_SEG0
4
3
=
IC_SEG_ON
;
IC2_SEG0
8
3
=
IC_SEG_ON
;
}
else
{
IC2_SEG0
4
3
=
IC_SEG_OFF
;
IC2_SEG0
8
3
=
IC_SEG_OFF
;
}
if
(
Bit_Is_Set
(
m8
,
3
)
)
if
(
Bit_Is_Set
(
m8
,
3
)
)
{
IC2_SEG
125
=
IC_SEG_ON
;
IC2_SEG
082
=
IC_SEG_ON
;
}
else
{
IC2_SEG
125
=
IC_SEG_OFF
;
IC2_SEG
082
=
IC_SEG_OFF
;
}
if
(
Bit_Is_Set
(
m8
,
5
)
)
if
(
Bit_Is_Set
(
m8
,
5
)
)
{
IC2_SEG034
=
IC_SEG_ON
;
}
...
...
@@ -2502,7 +2512,7 @@ _Fun_Res SEG_SET_Clock(uint8_t m_hour, uint8_t m_minute, uint8_t m_icon, uint8_t
{
IC2_SEG034
=
IC_SEG_OFF
;
}
if
(
Bit_Is_Set
(
m8
,
4
)
)
if
(
Bit_Is_Set
(
m8
,
4
)
)
{
IC2_SEG081
=
IC_SEG_ON
;
}
...
...
@@ -2510,69 +2520,69 @@ _Fun_Res SEG_SET_Clock(uint8_t m_hour, uint8_t m_minute, uint8_t m_icon, uint8_t
{
IC2_SEG081
=
IC_SEG_OFF
;
}
if
(
Bit_Is_Set
(
m8
,
6
)
)
if
(
Bit_Is_Set
(
m8
,
6
)
)
{
IC2_SEG0
44
=
IC_SEG_ON
;
IC2_SEG0
80
=
IC_SEG_ON
;
}
else
{
IC2_SEG0
44
=
IC_SEG_OFF
;
IC2_SEG0
80
=
IC_SEG_OFF
;
}
}
else
{
IC2_SEG
119
=
IC_SEG_OFF
;
IC2_SEG
118
=
IC_SEG_OFF
;
IC2_SEG
123
=
IC_SEG_OFF
;
IC2_SEG
122
=
IC_SEG_OFF
;
IC2_SEG
121
=
IC_SEG_OFF
;
IC2_SEG
120
=
IC_SEG_OFF
;
IC2_SEG
117
=
IC_SEG_OFF
;
IC2_SEG0
46
=
IC_SEG_OFF
;
IC2_SEG0
45
=
IC_SEG_OFF
;
IC2_SEG0
44
=
IC_SEG_OFF
;
IC2_SEG0
43
=
IC_SEG_OFF
;
IC2_SEG0
47
=
IC_SEG_OFF
;
IC2_SEG
12
4
=
IC_SEG_OFF
;
IC2_SEG
125
=
IC_SEG_OFF
;
IC2_SEG
036
=
IC_SEG_OFF
;
IC2_SEG
035
=
IC_SEG_OFF
;
IC2_SEG
079
=
IC_SEG_OFF
;
IC2_SEG
078
=
IC_SEG_OFF
;
IC2_SEG
039
=
IC_SEG_OFF
;
IC2_SEG
037
=
IC_SEG_OFF
;
IC2_SEG
038
=
IC_SEG_OFF
;
IC2_SEG0
33
=
IC_SEG_OFF
;
IC2_SEG0
32
=
IC_SEG_OFF
;
IC2_SEG0
83
=
IC_SEG_OFF
;
IC2_SEG0
82
=
IC_SEG_OFF
;
IC2_SEG0
81
=
IC_SEG_OFF
;
IC2_SEG
03
4
=
IC_SEG_OFF
;
IC2_SEG
080
=
IC_SEG_OFF
;
}
if
(
m_Flag2
==
1u
)
if
(
m_Flag2
==
1u
)
{
Num
=
m_minute
/
10u
;
m8
=
SEG_DISPLAY_NUMBER0
[
Num
];
if
(
Bit_Is_Set
(
m8
,
0
)
)
m8
=
SEG_DISPLAY_NUMBER0
[
Num
];
if
(
Bit_Is_Set
(
m8
,
0
)
)
{
IC2_SEG0
4
0
=
IC_SEG_ON
;
IC2_SEG0
3
0
=
IC_SEG_ON
;
}
else
{
IC2_SEG0
4
0
=
IC_SEG_OFF
;
IC2_SEG0
3
0
=
IC_SEG_OFF
;
}
if
(
Bit_Is_Set
(
m8
,
1
)
)
if
(
Bit_Is_Set
(
m8
,
1
)
)
{
IC2_SEG0
3
9
=
IC_SEG_ON
;
IC2_SEG0
2
9
=
IC_SEG_ON
;
}
else
{
IC2_SEG0
3
9
=
IC_SEG_OFF
;
IC2_SEG0
2
9
=
IC_SEG_OFF
;
}
if
(
Bit_Is_Set
(
m8
,
2
)
)
if
(
Bit_Is_Set
(
m8
,
2
)
)
{
IC2_SEG
129
=
IC_SEG_ON
;
IC2_SEG
088
=
IC_SEG_ON
;
}
else
{
IC2_SEG
129
=
IC_SEG_OFF
;
IC2_SEG
088
=
IC_SEG_OFF
;
}
if
(
Bit_Is_Set
(
m8
,
3
)
)
if
(
Bit_Is_Set
(
m8
,
3
)
)
{
IC2_SEG
12
7
=
IC_SEG_ON
;
IC2_SEG
08
7
=
IC_SEG_ON
;
}
else
{
IC2_SEG
12
7
=
IC_SEG_OFF
;
IC2_SEG
08
7
=
IC_SEG_OFF
;
}
if
(
Bit_Is_Set
(
m8
,
5
)
)
if
(
Bit_Is_Set
(
m8
,
5
)
)
{
IC2_SEG031
=
IC_SEG_ON
;
}
...
...
@@ -2580,7 +2590,7 @@ _Fun_Res SEG_SET_Clock(uint8_t m_hour, uint8_t m_minute, uint8_t m_icon, uint8_t
{
IC2_SEG031
=
IC_SEG_OFF
;
}
if
(
Bit_Is_Set
(
m8
,
4
)
)
if
(
Bit_Is_Set
(
m8
,
4
)
)
{
IC2_SEG086
=
IC_SEG_ON
;
}
...
...
@@ -2588,49 +2598,49 @@ _Fun_Res SEG_SET_Clock(uint8_t m_hour, uint8_t m_minute, uint8_t m_icon, uint8_t
{
IC2_SEG086
=
IC_SEG_OFF
;
}
if
(
Bit_Is_Set
(
m8
,
6
)
)
if
(
Bit_Is_Set
(
m8
,
6
)
)
{
IC2_SEG
130
=
IC_SEG_ON
;
IC2_SEG
085
=
IC_SEG_ON
;
}
else
{
IC2_SEG
130
=
IC_SEG_OFF
;
IC2_SEG
085
=
IC_SEG_OFF
;
}
Num
=
m_minute
%
10u
;
m8
=
SEG_DISPLAY_NUMBER0
[
Num
];
if
(
Bit_Is_Set
(
m8
,
0
)
)
m8
=
SEG_DISPLAY_NUMBER0
[
Num
];
if
(
Bit_Is_Set
(
m8
,
0
)
)
{
IC2_SEG0
3
7
=
IC_SEG_ON
;
IC2_SEG0
2
7
=
IC_SEG_ON
;
}
else
{
IC2_SEG0
3
7
=
IC_SEG_OFF
;
IC2_SEG0
2
7
=
IC_SEG_OFF
;
}
if
(
Bit_Is_Set
(
m8
,
1
)
)
if
(
Bit_Is_Set
(
m8
,
1
)
)
{
IC2_SEG0
3
6
=
IC_SEG_ON
;
IC2_SEG0
2
6
=
IC_SEG_ON
;
}
else
{
IC2_SEG0
3
6
=
IC_SEG_OFF
;
IC2_SEG0
2
6
=
IC_SEG_OFF
;
}
if
(
Bit_Is_Set
(
m8
,
2
)
)
if
(
Bit_Is_Set
(
m8
,
2
)
)
{
IC2_SEG0
35
=
IC_SEG_ON
;
IC2_SEG0
92
=
IC_SEG_ON
;
}
else
{
IC2_SEG0
35
=
IC_SEG_OFF
;
IC2_SEG0
92
=
IC_SEG_OFF
;
}
if
(
Bit_Is_Set
(
m8
,
3
)
)
if
(
Bit_Is_Set
(
m8
,
3
)
)
{
IC2_SEG
133
=
IC_SEG_ON
;
IC2_SEG
091
=
IC_SEG_ON
;
}
else
{
IC2_SEG
133
=
IC_SEG_OFF
;
IC2_SEG
091
=
IC_SEG_OFF
;
}
if
(
Bit_Is_Set
(
m8
,
5
)
)
if
(
Bit_Is_Set
(
m8
,
5
)
)
{
IC2_SEG028
=
IC_SEG_ON
;
}
...
...
@@ -2638,7 +2648,7 @@ _Fun_Res SEG_SET_Clock(uint8_t m_hour, uint8_t m_minute, uint8_t m_icon, uint8_t
{
IC2_SEG028
=
IC_SEG_OFF
;
}
if
(
Bit_Is_Set
(
m8
,
4
)
)
if
(
Bit_Is_Set
(
m8
,
4
)
)
{
IC2_SEG090
=
IC_SEG_ON
;
}
...
...
@@ -2646,37 +2656,52 @@ _Fun_Res SEG_SET_Clock(uint8_t m_hour, uint8_t m_minute, uint8_t m_icon, uint8_t
{
IC2_SEG090
=
IC_SEG_OFF
;
}
if
(
Bit_Is_Set
(
m8
,
6
)
)
if
(
Bit_Is_Set
(
m8
,
6
)
)
{
IC2_SEG
131
=
IC_SEG_ON
;
IC2_SEG
089
=
IC_SEG_ON
;
}
else
{
IC2_SEG
131
=
IC_SEG_OFF
;
IC2_SEG
089
=
IC_SEG_OFF
;
}
}
else
{
IC2_SEG0
4
0
=
IC_SEG_OFF
;
IC2_SEG0
3
9
=
IC_SEG_OFF
;
IC2_SEG
129
=
IC_SEG_OFF
;
IC2_SEG
12
7
=
IC_SEG_OFF
;
IC2_SEG0
41
=
IC_SEG_OFF
;
IC2_SEG
126
=
IC_SEG_OFF
;
IC2_SEG
130
=
IC_SEG_OFF
;
IC2_SEG0
3
7
=
IC_SEG_OFF
;
IC2_SEG0
3
6
=
IC_SEG_OFF
;
IC2_SEG0
35
=
IC_SEG_OFF
;
IC2_SEG
133
=
IC_SEG_OFF
;
IC2_SEG0
38
=
IC_SEG_OFF
;
IC2_SEG
132
=
IC_SEG_OFF
;
IC2_SEG
131
=
IC_SEG_OFF
;
IC2_SEG0
3
0
=
IC_SEG_OFF
;
IC2_SEG0
2
9
=
IC_SEG_OFF
;
IC2_SEG
088
=
IC_SEG_OFF
;
IC2_SEG
08
7
=
IC_SEG_OFF
;
IC2_SEG0
86
=
IC_SEG_OFF
;
IC2_SEG
031
=
IC_SEG_OFF
;
IC2_SEG
085
=
IC_SEG_OFF
;
IC2_SEG0
2
7
=
IC_SEG_OFF
;
IC2_SEG0
2
6
=
IC_SEG_OFF
;
IC2_SEG0
92
=
IC_SEG_OFF
;
IC2_SEG
091
=
IC_SEG_OFF
;
IC2_SEG0
90
=
IC_SEG_OFF
;
IC2_SEG
028
=
IC_SEG_OFF
;
IC2_SEG
089
=
IC_SEG_OFF
;
}
m_Res
=
EX_OK
;
}
return
m_Res
;
}
uint8_t
fuel_check_SEG_step
=
0
;
void
SEG_Scan_SET_FuelDial
(
void
)
{
uint8_t
a
=
0
;
a
=
fuel_check_SEG_step
/
10u
;
SEG_SET_FuelDial
(
1
,
a
);
if
(
fuel_check_SEG_step
<
59
)
{
fuel_check_SEG_step
++
;
}
else
{
fuel_check_SEG_step
=
0
;
}
}
uint8_t
Espeed_check_SEG_step
=
0
;
...
...
@@ -2685,7 +2710,7 @@ void SEG_Scan_SET_EspeedDial(void)
uint16_t
a
=
0
;
a
=
(
Espeed_check_SEG_step
/
2
)
*
100
;
SEG_SET_EspeedDial
(
1
,
a
/
1000
,
a
);
//
SEG_SET_EspeedDial(1, a / 1000, a);
}
...
...
@@ -2710,12 +2735,15 @@ uint8_t check_SEG_step = 0;
// LED_Driver_Channel_Set(LampChannel_0, LampCh0_07_Key_ISTOP, LED_ON);
// LED_Driver_Channel_Set(LampChannel_0, LampCh0_02_Normal_Voltage, LED_ON);
// LED_Driver_Channel_Set(LampChannel_0, LampCh0_03_High_Low_Voltage, LED_ON);
// LED_Driver_Channel_Set(LampChannel_0, LampCh0_05_Fuel_Y, LED_ON);
// LED_Driver_Channel_Set(LampChannel_0, LampCh0_04_Fuel_W, LED_ON);
// LED_Driver_Channel_Set(LampChannel_0, LampCh0_06_Screen_Time, LED_ON);
// LED_Driver_Channel_Set(LampChannel_0, LampCh0_29_MPH, LED_ON);
// LED_Driver_Channel_Set(LampChannel_0, LampCh0_30_KM_H, LED_ON);
// RTE_GPIO_Set_Level(VSPEED_TEN_OUT, 1);
// RTE_GPIO_Set_Level(VSPEED_HUNDREDS_OUT, 1);
// SEG_Scan_SET_FuelDial();
// SEG_Scan_SET_EspeedDial();
//
//}
...
...
@@ -2728,20 +2756,24 @@ void Checkself_Init(void)
Checkself_SEG_step_count
=
0
;
check_SEG_step
=
0
;
Espeed_check_SEG_step
=
0
;
fuel_check_SEG_step
=
0
;
}
void
Checkself_SEG_Display
(
void
)
{
uint16_t
Vspeed
=
0
;
uint16_t
Espeed
=
0
;
uint16_t
Fuel
=
0
;
uint16_t
Trip
=
0
;
uint16_t
hour
=
0
;
uint16_t
min
=
0
;
uint32_t
ODO
=
0
;
Fuel
=
Checkself_SEG_step
/
5u
;
SEG_SET_FuelDial
(
1
,
Fuel
);
Espeed
=
(
Checkself_SEG_step
*
2
/
5
)
*
1000
;
SEG_SET_EspeedDial
(
1
,
Espeed
/
1000
,
Espeed
);
//
SEG_SET_EspeedDial(1, Espeed / 1000, Espeed);
Vspeed
=
Checkself_SEG_step
*
7
;
if
(
Vspeed
>
198
)
...
...
Firmware/Source/Application/SEG_DISPLAY/SEG_DISPLAY.h
View file @
74a7402f
...
...
@@ -47,13 +47,13 @@ _Fun_Res SEG_SET_Frame(uint8_t m_Flag);
_Fun_Res
SEG_SET_GEAR
(
uint8_t
m_Gear_Flag
,
uint8_t
m_Gear
);
/**@brief 电量表盘显示函数*/
_Fun_Res
SEG_SET_EleDial
(
uint8_t
m_Flag
,
uint8_t
m_SEG
,
uint
8
_t
m_NUM
);
_Fun_Res
SEG_SET_EleDial
(
uint8_t
m_Flag
,
uint8_t
m_SEG
,
uint
16
_t
m_NUM
);
/
/ /
**@brief 燃油表盘显示函数*/
//
_Fun_Res SEG_SET_FuelDial(uint8_t m_Flag,uint8_t m_SEG);
/**@brief 燃油表盘显示函数*/
_Fun_Res
SEG_SET_FuelDial
(
uint8_t
m_Flag
,
uint8_t
m_SEG
);
/**@brief 转速表盘显示函数*/
_Fun_Res
SEG_SET_EspeedDial
(
uint8_t
m_Flag
,
uint8_t
m_SEG
,
uint16_t
m_NUM
);
//
_Fun_Res SEG_SET_EspeedDial(uint8_t m_Flag, uint8_t m_SEG, uint16_t m_NUM);
/**@brief 功率表盘显示函数*/
_Fun_Res
SEG_SET_PowerDial
(
uint8_t
m_Flag
,
uint8_t
m_SEG
,
uint8_t
m_Sign
,
uint8_t
m_NUM
);
...
...
@@ -61,6 +61,8 @@ _Fun_Res SEG_SET_PowerDial(uint8_t m_Flag,uint8_t m_SEG,uint8_t m_Sign,uint8_t m
/**@brief 续航里程显示函数*/
_Fun_Res
SEG_SET_DTE_NUM
(
uint8_t
m_Flag
,
uint16_t
m_NUM
);
/**@brief 车速8字段显示函数*/
_Fun_Res
SEG_SET_VSpeed_NUM
(
uint8_t
m_Flag
,
uint16_t
m_NUM
);
/**@brief L8字段显示函数*/
_Fun_Res
SEG_SET_L8_NUM
(
uint8_t
m_Flag
,
uint8_t
m_NUM
);
...
...
@@ -77,10 +79,10 @@ _Fun_Res SEG_SET_Fault_Code(uint8_t m_Flag, uint16_t m_NUM);
/**@brief 时间显示函数*/
_Fun_Res
SEG_SET_Clock
(
uint8_t
m_hour
,
uint8_t
m_minute
,
uint8_t
m_icon
,
uint8_t
m_Flag1
,
uint8_t
m_Flag2
);
void
Check_SEG_Display
(
void
);
uint8_t
Check_SEG_Display
(
void
);
extern
uint8_t
check_SEG_step
;
extern
uint8_t
Espeed_check_SEG_step
;
#define IC_SEG_OFF 0x00u
...
...
@@ -89,16 +91,24 @@ extern uint8_t Espeed_check_SEG_step;
/**@brief 指示灯显示函数*/
_Fun_Res
SEG_SET_LED_STS
(
uint8_t
LED_NUM
,
uint8_t
m_Flag
);
/**@brief 行驶时间显示函数*/
_Fun_Res
SEG_SET_Travel_Time_NUM
(
uint8_t
m_Flag
,
uint32_t
m_NUM
);
//扫盘用
_Fun_Res
SEG_Scan_SET_EleDial
(
uint8_t
m_SEG
);
_Fun_Res
SEG_Scan_SET_PowerDial
(
uint8_t
m_SEG
);
/**@brief 刀盘显示函数*/
_Fun_Res
SEG_SET_Cutterhead
(
uint16_t
LED_NUM
,
uint8_t
m_Flag
);
void
SEG_Scan_SET_FuelDial
(
void
);
void
SEG_Scan_SET_EspeedDial
(
void
);
//void SEG_Scan_SET_FuelDial_Checkself(void);
//void SEG_Scan_SET_EspeedDial_Checkself(void);
//void SEG_Scan_SET_VSpeed_Checkself(void);
extern
void
Checkself_Init
(
void
);
extern
void
Checkself_SEG_Display
(
void
);
void
TYW_Check_Count
(
void
);
...
...
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