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
a085e505
Commit
a085e505
authored
Jun 28, 2024
by
郑萍
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
✨
feat:累计里程和电量段码修改
parent
ab5a58eb
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
507 additions
and
870 deletions
+507
-870
GUI_Display.c
Firmware/Source/Application/GUI_Display/GUI_Display.c
+27
-56
GUI_Display.h
Firmware/Source/Application/GUI_Display/GUI_Display.h
+2
-4
SEG_DISPLAY.c
Firmware/Source/Application/SEG_DISPLAY/SEG_DISPLAY.c
+464
-799
SEG_DISPLAY.h
Firmware/Source/Application/SEG_DISPLAY/SEG_DISPLAY.h
+14
-11
No files found.
Firmware/Source/Application/GUI_Display/GUI_Display.c
View file @
a085e505
...
@@ -82,29 +82,19 @@ uint8_t SOC_2_Count = 0;
...
@@ -82,29 +82,19 @@ uint8_t SOC_2_Count = 0;
// }
// }
// }
// }
// }
// }
// void Gauge_VSpeed_Display(void)
void
Gauge_EleDial_AllSOC_Display
(
void
)
// {
{
// uint16_t VSpeedDisplayValue = 0;
uint8_t
AllSOC_DIS
=
0
;
// if ( Common_Get_IG_Sts( ) == COMMON_POWER_ON )
if
(
Common_Get_IG_Sts
()
==
COMMON_POWER_ON
)
// {
{
// if ( Get_VechileSpeedValid( ) == 1u )
SEG_SET_EleDial_AllSOC
(
1
,
AllSOC_DIS
);
// {
}
// VSpeedDisplayValue = Get_DispVechileSpeed( ) / 10u;
else
// SEG_SET_VSpeed_NUM(1u, VSpeedDisplayValue);
{
// }
SEG_SET_EleDial_AllSOC
(
0
,
0
);
// else
}
// {
}
// VSpeedDisplayValue = 0u;
// SEG_SET_VSpeed_NUM(1u, VSpeedDisplayValue);
// }
// }
// else
// {
// VSpeedDisplayValue = 0u;
// SEG_SET_VSpeed_NUM(0u, 0u);
// }
// }
void
Gauge_Clock_Display
(
void
)
void
Gauge_Clock_Display
(
void
)
{
{
uint8_t
PageType_DIS
=
0
;
uint8_t
PageType_DIS
=
0
;
...
@@ -145,41 +135,24 @@ void Gauge_Clock_Display(void)
...
@@ -145,41 +135,24 @@ void Gauge_Clock_Display(void)
// SEG_SET_Clock(0, 0, 0, 0, 0);
// SEG_SET_Clock(0, 0, 0, 0, 0);
// }
// }
}
}
uint32_t
AccumulatedWorkHours
;
void
Gauge_
Trip
_Display
(
void
)
void
Gauge_
Clock_All
_Display
(
void
)
{
{
if
(
Common_Get_IG_Sts
()
==
COMMON_POWER_ON
)
if
(
CAN_MSG_Status
(
&
CAN_CH0_CanMsgOp
,
Co_Can_ConvertSubID_CAN_CH0
(
CAN_CH0_ID_CAN_0x339_Msg
)))
{
{
SEG_SET_TRIP_NUM
(
1u
,
Get_Trip_Value
());
AccumulatedWorkHours
=
Get_CAN_CH0_ID_339_Sig_MMCU_AccumulatedWorkHours
()
*
10
;
if
(
Common_Get_IG_Sts
()
==
COMMON_POWER_ON
)
{
SEG_SET_Clock_ALL
(
0
,
AccumulatedWorkHours
);
}
}
}
else
else
{
{
SEG_SET_TRIP_NUM
(
0u
,
0u
);
}
}
}
}
void
Gauge_ODO_Display
(
void
)
{
if
(
Common_Get_IG_Sts
()
==
COMMON_POWER_ON
)
{
SEG_SET_ODO_NUM
(
1u
,
Get_ODO_Value
()
/
10u
);
}
else
{
SEG_SET_ODO_NUM
(
0u
,
0u
);
}
}
void
Gauge_EspeedDial_Display
(
void
)
{
if
(
Common_Get_IG_Sts
()
==
COMMON_POWER_ON
)
{
// SEG_SET_EspeedDial(1, Get_DispEngineSpeed()/1000, Get_DispEngineSpeed());
}
else
{
// SEG_SET_EspeedDial(0, 0, 0);
}
}
void
Gauge_Frame_Display
(
void
)
void
Gauge_Frame_Display
(
void
)
{
{
if
(
Common_Get_IG_Sts
()
==
COMMON_POWER_ON
)
if
(
Common_Get_IG_Sts
()
==
COMMON_POWER_ON
)
...
@@ -221,21 +194,19 @@ void Gauge_Service(void)
...
@@ -221,21 +194,19 @@ void Gauge_Service(void)
{
{
if
(
Common_Get_IG_Sts
()
==
COMMON_POWER_ON
&&
ADC_Read_Signal
(
ADC_CH_KL30_VOLTAGE
)
<=
16000
&&
ADC_Read_Signal
(
ADC_CH_KL30_VOLTAGE
)
>=
9000
)
if
(
Common_Get_IG_Sts
()
==
COMMON_POWER_ON
&&
ADC_Read_Signal
(
ADC_CH_KL30_VOLTAGE
)
<=
16000
&&
ADC_Read_Signal
(
ADC_CH_KL30_VOLTAGE
)
>=
9000
)
{
{
if
(
Get_CAN_Power_State
()
!=
PKEY_ON
)
if
(
Get_CAN_Power_State
()
!=
PKEY_ON
)
{
{
if
(
Common_GetIgnOnTime
()
>=
3000
)
if
(
Common_GetIgnOnTime
()
>=
3000
)
{
{
// Gauge_Power_1_SOC_Display();
// Gauge_Power_1_SOC_Display();
// Gauge_Power_2_SOC_Display();
// Gauge_Power_2_SOC_Display();
Checkself_Init
();
Checkself_Init
();
Gauge_ODO_Display
();
Gauge_Clock_Display
();
Gauge_Clock_Display
();
Gauge_Trip_Display
();
Gauge_EspeedDial_Display
();
SEG_SET_Clock
(
22
,
22
,
1
,
1
,
1
);
SEG_SET_Clock
(
22
,
22
,
1
,
1
,
1
);
SEG_SET_Fault_Code
(
0
,
2222
);
SEG_SET_Fault_Code
(
0
,
2222
);
SEG_SET_EleDial
(
1
,
10
,
22
);
// SEG_SET_EleDial_1SOC(1, 10, 22);
SEG_SET_FuelDial
(
0
,
8
);
// SEG_SET_FuelDial(0, 8);
Gauge_EleDial_AllSOC_Display
();
SEG_SET_GEAR
(
1
,
1
);
SEG_SET_GEAR
(
1
,
1
);
SEG_SET_Cutterhead
(
1
,
2
);
SEG_SET_Cutterhead
(
1
,
2
);
SEG_SET_Frame
(
1
);
SEG_SET_Frame
(
1
);
...
@@ -254,7 +225,7 @@ void Gauge_Service(void)
...
@@ -254,7 +225,7 @@ void Gauge_Service(void)
// LED_Driver_Channel_Set(LampChannel_0, i, LED_OFF);
// LED_Driver_Channel_Set(LampChannel_0, i, LED_OFF);
// }
// }
interact_PWM_Low_Duty
=
50
;
interact_PWM_Low_Duty
=
50
;
//蜂鸣器
//
蜂鸣器
}
}
}
}
else
else
...
...
Firmware/Source/Application/GUI_Display/GUI_Display.h
View file @
a085e505
...
@@ -45,15 +45,13 @@ void Gauge_Battery_Display(void);
...
@@ -45,15 +45,13 @@ void Gauge_Battery_Display(void);
void
Gauge_Clock_Display
(
void
);
void
Gauge_Clock_Display
(
void
);
void
Gauge_Clock_All_Display
(
void
);
void
Gauge_DrivingRange_Display
(
void
);
void
Gauge_DrivingRange_Display
(
void
);
void
Gauge_Trip_Display
(
void
);
void
Gauge_ODO_Display
(
void
);
//void Gauge_Gear_Display(void);
//void Gauge_Gear_Display(void);
void
Gauge_EspeedDial_Display
(
void
);
void
Gauge_Frame_Display
(
void
);
void
Gauge_Frame_Display
(
void
);
void
Gauge_MaintenanceMileage_Display
(
void
);
void
Gauge_MaintenanceMileage_Display
(
void
);
void
Gauge_EnergyRecoveryLevel_Display
(
void
);
void
Gauge_EnergyRecoveryLevel_Display
(
void
);
void
Gauge_EleDial_AllSOC_Display
(
void
);
void
Gauge_KL30_Init
(
void
);
void
Gauge_KL30_Init
(
void
);
void
Gauge_KL15_Init
(
void
);
void
Gauge_KL15_Init
(
void
);
...
...
Firmware/Source/Application/SEG_DISPLAY/SEG_DISPLAY.c
View file @
a085e505
...
@@ -328,170 +328,246 @@ _Fun_Res SEG_SET_GEAR(uint8_t m_Gear_Flag, uint8_t m_Gear)
...
@@ -328,170 +328,246 @@ _Fun_Res SEG_SET_GEAR(uint8_t m_Gear_Flag, uint8_t m_Gear)
IC2_SEG150
=
IC_SEG_OFF
;
IC2_SEG150
=
IC_SEG_OFF
;
}
}
}
}
/**@brief 燃油表盘显示函数
// /**@brief 燃油表盘显示函数
// * @param[in] m_Flag 段与数字是否显示 -1 显示 -0 不显示
// * @param[in] m_SEG 燃油表盘段数0<=m_SEG<=5
// * @return 函数执行结果
// * - EX_OK 上报成功
// * - EX_ERR 上报失败
// */
// _Fun_Res SEG_SET_FuelDial(uint8_t m_Flag, uint8_t m_SEG)
// {
// _Fun_Res m_Res;
// // uint8_t Num;
// uint8_t m8;
// if (m_Flag == 1u)
// {
// IC1_SEG052 = IC_SEG_GREY;
// IC1_SEG051 = IC_SEG_GREY;
// IC1_SEG050 = IC_SEG_GREY;
// IC1_SEG049 = IC_SEG_GREY;
// IC1_SEG048 = IC_SEG_GREY;
// IC1_SEG047 = IC_SEG_GREY;
// IC1_SEG046 = IC_SEG_GREY;
// IC1_SEG045 = IC_SEG_GREY;
// IC1_SEG053 = IC_SEG_ON;
// IC1_SEG105 = IC_SEG_ON;
// IC1_SEG044 = IC_SEG_ON;
// switch (m_SEG)
// {
// case 8u:
// IC1_SEG045 = IC_SEG_ON;
// case 7u:
// IC1_SEG046 = IC_SEG_ON;
// case 6u:
// IC1_SEG047 = IC_SEG_ON;
// case 5u:
// IC1_SEG048 = IC_SEG_ON;
// case 4u:
// IC1_SEG049 = IC_SEG_ON;
// case 3u:
// IC1_SEG050 = IC_SEG_ON;
// case 2u:
// IC1_SEG051 = IC_SEG_ON;
// case 1u:
// IC1_SEG052 = IC_SEG_ON;
// case 0u:
// break;
// default:
// break;
// }
// }
// else
// {
// IC2_SEG052 = IC_SEG_OFF;
// IC2_SEG051 = IC_SEG_OFF;
// IC2_SEG050 = IC_SEG_OFF;
// IC2_SEG049 = IC_SEG_OFF;
// IC2_SEG048 = IC_SEG_OFF;
// IC2_SEG047 = IC_SEG_OFF;
// IC2_SEG046 = IC_SEG_OFF;
// IC2_SEG045 = IC_SEG_OFF;
// }
// m_Res = EX_OK;
// return m_Res;
// }
/**@brief 电量表盘1SOC显示函数
* @param[in] m_Flag 段与数字是否显示 -1 显示 -0 不显示
* @param[in] m_Flag 段与数字是否显示 -1 显示 -0 不显示
* @param[in] m_SEG
燃油表盘段数0<=m_SEG<=5
* @param[in] m_SEG
车速表盘段数0<=m_SEG<=10
* @return 函数执行结果
* @return 函数执行结果
* - EX_OK 上报成功
* - EX_OK 上报成功
* - EX_ERR 上报失败
* - EX_ERR 上报失败
*/
*/
_Fun_Res
SEG_SET_
FuelDial
(
uint8_t
m_Flag
,
uint8_t
m_SEG
)
_Fun_Res
SEG_SET_
EleDial_1SOC
(
uint8_t
m_Flag
,
uint8_t
m_SEG
)
{
{
_Fun_Res
m_Res
;
_Fun_Res
m_Res
;
// uint8_t
Num;
uint8_t
Num
;
uint8_t
m8
;
uint8_t
m8
;
if
(
m_Flag
==
1u
)
if
(
m_Flag
==
1u
)
{
{
IC1_SEG052
=
IC_SEG_GREY
;
IC1_SEG136
=
IC_SEG_GREY
;
IC1_SEG051
=
IC_SEG_GREY
;
IC1_SEG137
=
IC_SEG_GREY
;
IC1_SEG050
=
IC_SEG_GREY
;
IC1_SEG138
=
IC_SEG_GREY
;
IC1_SEG049
=
IC_SEG_GREY
;
IC1_SEG143
=
IC_SEG_GREY
;
IC1_SEG048
=
IC_SEG_GREY
;
IC1_SEG144
=
IC_SEG_GREY
;
IC1_SEG047
=
IC_SEG_GREY
;
IC1_SEG145
=
IC_SEG_GREY
;
IC1_SEG046
=
IC_SEG_GREY
;
IC1_SEG146
=
IC_SEG_GREY
;
IC1_SEG045
=
IC_SEG_GREY
;
IC1_SEG147
=
IC_SEG_GREY
;
IC1_SEG148
=
IC_SEG_GREY
;
IC1_SEG053
=
IC_SEG_ON
;
IC1_SEG135
=
IC_SEG_GREY
;
IC1_SEG105
=
IC_SEG_ON
;
//小电池
IC1_SEG044
=
IC_SEG_ON
;
IC1_SEG121
=
IC_SEG_ON
;
IC1_SEG122
=
IC_SEG_ON
;
switch
(
m_SEG
)
switch
(
m_SEG
)
{
{
case
10u
:
IC1_SEG136
=
IC_SEG_ON
;
case
9u
:
IC1_SEG137
=
IC_SEG_ON
;
case
8u
:
case
8u
:
IC1_SEG
045
=
IC_SEG_ON
;
IC1_SEG
138
=
IC_SEG_ON
;
case
7u
:
case
7u
:
IC1_SEG
046
=
IC_SEG_ON
;
IC1_SEG
143
=
IC_SEG_ON
;
case
6u
:
case
6u
:
IC1_SEG
047
=
IC_SEG_ON
;
IC1_SEG
144
=
IC_SEG_ON
;
case
5u
:
case
5u
:
IC1_SEG
048
=
IC_SEG_ON
;
IC1_SEG
145
=
IC_SEG_ON
;
case
4u
:
case
4u
:
IC1_SEG
049
=
IC_SEG_ON
;
IC1_SEG
146
=
IC_SEG_ON
;
case
3u
:
case
3u
:
IC1_SEG
050
=
IC_SEG_ON
;
IC1_SEG
147
=
IC_SEG_ON
;
case
2u
:
case
2u
:
IC1_SEG
051
=
IC_SEG_ON
;
IC1_SEG
148
=
IC_SEG_ON
;
case
1u
:
case
1u
:
IC1_SEG
052
=
IC_SEG_ON
;
IC1_SEG
135
=
IC_SEG_ON
;
case
0u
:
case
0u
:
break
;
break
;
default:
default:
break
;
break
;
}
}
}
}
else
else
{
{
IC2_SEG052
=
IC_SEG_OFF
;
IC2_SEG051
=
IC_SEG_OFF
;
IC1_SEG136
=
IC_SEG_OFF
;
IC2_SEG050
=
IC_SEG_OFF
;
IC1_SEG137
=
IC_SEG_OFF
;
IC2_SEG049
=
IC_SEG_OFF
;
IC1_SEG138
=
IC_SEG_OFF
;
IC2_SEG048
=
IC_SEG_OFF
;
IC1_SEG143
=
IC_SEG_OFF
;
IC2_SEG047
=
IC_SEG_OFF
;
IC1_SEG144
=
IC_SEG_OFF
;
IC2_SEG046
=
IC_SEG_OFF
;
IC1_SEG145
=
IC_SEG_OFF
;
IC2_SEG045
=
IC_SEG_OFF
;
IC1_SEG146
=
IC_SEG_OFF
;
IC1_SEG147
=
IC_SEG_OFF
;
IC1_SEG148
=
IC_SEG_OFF
;
IC1_SEG135
=
IC_SEG_OFF
;
//小电池
IC1_SEG121
=
IC_SEG_OFF
;
IC1_SEG122
=
IC_SEG_OFF
;
}
}
m_Res
=
EX_OK
;
return
m_Res
;
return
m_Res
;
}
}
/**@brief 电量表盘显示函数
/**@brief 电量表盘
2SOC
显示函数
* @param[in] m_Flag 段与数字是否显示 -1 显示 -0 不显示
* @param[in] m_Flag 段与数字是否显示 -1 显示 -0 不显示
* @param[in] m_SEG 车速表盘段数0<=m_SEG<=10
* @param[in] m_SEG 车速表盘段数0<=m_SEG<=10
* @return 函数执行结果
* @return 函数执行结果
* - EX_OK 上报成功
* - EX_OK 上报成功
* - EX_ERR 上报失败
* - EX_ERR 上报失败
*/
*/
_Fun_Res
SEG_SET_EleDial
(
uint8_t
m_Flag
,
uint8_t
m_SEG
,
uint16_t
m_NUM
)
_Fun_Res
SEG_SET_EleDial
_2SOC
(
uint8_t
m_Flag
,
uint8_t
m_SEG
)
{
{
_Fun_Res
m_Res
;
_Fun_Res
m_Res
;
uint8_t
Num
;
uint8_t
Num
;
uint8_t
m8
;
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_SEG124
=
IC_SEG_ON
;
IC1_SEG122
=
IC_SEG_ON
;
IC1_SEG123
=
IC_SEG_ON
;
IC1_SEG123
=
IC_SEG_ON
;
IC1_SEG054
=
IC_SEG_ON
;
IC1_SEG134
=
IC_SEG_GREY
;
IC1_SEG136
=
IC_SEG_GREY
;
IC1_SEG125
=
IC_SEG_GREY
;
IC1_SEG125
=
IC_SEG_GREY
;
IC1_SEG137
=
IC_SEG_GREY
;
IC1_SEG126
=
IC_SEG_GREY
;
IC1_SEG126
=
IC_SEG_GREY
;
IC1_SEG138
=
IC_SEG_GREY
;
IC1_SEG127
=
IC_SEG_GREY
;
IC1_SEG127
=
IC_SEG_GREY
;
IC1_SEG143
=
IC_SEG_GREY
;
IC1_SEG128
=
IC_SEG_GREY
;
IC1_SEG128
=
IC_SEG_GREY
;
IC1_SEG144
=
IC_SEG_GREY
;
IC1_SEG129
=
IC_SEG_GREY
;
IC1_SEG129
=
IC_SEG_GREY
;
IC1_SEG145
=
IC_SEG_GREY
;
IC1_SEG130
=
IC_SEG_GREY
;
IC1_SEG130
=
IC_SEG_GREY
;
IC1_SEG146
=
IC_SEG_GREY
;
IC1_SEG131
=
IC_SEG_GREY
;
IC1_SEG131
=
IC_SEG_GREY
;
IC1_SEG147
=
IC_SEG_GREY
;
IC1_SEG132
=
IC_SEG_GREY
;
IC1_SEG132
=
IC_SEG_GREY
;
IC1_SEG148
=
IC_SEG_GREY
;
IC1_SEG133
=
IC_SEG_GREY
;
IC1_SEG133
=
IC_SEG_GREY
;
IC1_SEG135
=
IC_SEG_GREY
;
IC1_SEG134
=
IC_SEG_GREY
;
IC1_SEG134
=
IC_SEG_GREY
;
switch
(
m_SEG
)
switch
(
m_SEG
)
{
{
case
10u
:
case
10u
:
IC1_SEG136
=
IC_SEG_ON
;
IC1_SEG125
=
IC_SEG_ON
;
IC1_SEG125
=
IC_SEG_ON
;
case
9u
:
case
9u
:
IC1_SEG137
=
IC_SEG_ON
;
IC1_SEG126
=
IC_SEG_ON
;
IC1_SEG126
=
IC_SEG_ON
;
case
8u
:
case
8u
:
IC1_SEG138
=
IC_SEG_ON
;
IC1_SEG127
=
IC_SEG_ON
;
IC1_SEG127
=
IC_SEG_ON
;
case
7u
:
case
7u
:
IC1_SEG143
=
IC_SEG_ON
;
IC1_SEG128
=
IC_SEG_ON
;
IC1_SEG128
=
IC_SEG_ON
;
case
6u
:
case
6u
:
IC1_SEG144
=
IC_SEG_ON
;
IC1_SEG129
=
IC_SEG_ON
;
IC1_SEG129
=
IC_SEG_ON
;
case
5u
:
case
5u
:
IC1_SEG145
=
IC_SEG_ON
;
IC1_SEG130
=
IC_SEG_ON
;
IC1_SEG130
=
IC_SEG_ON
;
case
4u
:
case
4u
:
IC1_SEG146
=
IC_SEG_ON
;
IC1_SEG131
=
IC_SEG_ON
;
IC1_SEG131
=
IC_SEG_ON
;
case
3u
:
case
3u
:
IC1_SEG147
=
IC_SEG_ON
;
IC1_SEG132
=
IC_SEG_ON
;
IC1_SEG132
=
IC_SEG_ON
;
case
2u
:
case
2u
:
IC1_SEG148
=
IC_SEG_ON
;
IC1_SEG133
=
IC_SEG_ON
;
IC1_SEG133
=
IC_SEG_ON
;
case
1u
:
case
1u
:
IC1_SEG135
=
IC_SEG_ON
;
IC1_SEG134
=
IC_SEG_ON
;
IC1_SEG134
=
IC_SEG_ON
;
case
0u
:
case
0u
:
break
;
break
;
default:
default:
break
;
break
;
}
}
}
else
{
IC1_SEG134
=
IC_SEG_OFF
;
IC1_SEG125
=
IC_SEG_OFF
;
IC1_SEG126
=
IC_SEG_OFF
;
IC1_SEG127
=
IC_SEG_OFF
;
IC1_SEG128
=
IC_SEG_OFF
;
IC1_SEG129
=
IC_SEG_OFF
;
IC1_SEG130
=
IC_SEG_OFF
;
IC1_SEG131
=
IC_SEG_OFF
;
IC1_SEG132
=
IC_SEG_OFF
;
IC1_SEG133
=
IC_SEG_OFF
;
IC1_SEG134
=
IC_SEG_OFF
;
//小电池
IC1_SEG124
=
IC_SEG_OFF
;
IC1_SEG123
=
IC_SEG_OFF
;
}
return
m_Res
;
}
/**@brief 电量表盘2SOC显示函数
* @param[in] m_Flag 段与数字是否显示 -1 显示 -0 不显示
* @param[in] m_NUM 车速表盘段数0<=m_SEG<=10
* @return 函数执行结果
* - EX_OK 上报成功
* - EX_ERR 上报失败
*/
_Fun_Res
SEG_SET_EleDial_AllSOC
(
uint8_t
m_Flag
,
uint16_t
m_NUM
)
{
_Fun_Res
m_Res
;
uint8_t
Num
;
uint8_t
m8
;
if
(
m_Flag
==
1u
)
{
IC1_SEG054
=
IC_SEG_ON
;
/*百位*/
/*百位*/
Num
=
m_NUM
/
100u
;
if
(
m_NUM
>=
100
)
if
(
Num
==
1u
)
{
{
IC1_SEG072
=
IC_SEG_ON
;
IC1_SEG072
=
IC_SEG_ON
;
}
}
...
@@ -500,8 +576,14 @@ _Fun_Res SEG_SET_EleDial(uint8_t m_Flag, uint8_t m_SEG, uint16_t m_NUM)
...
@@ -500,8 +576,14 @@ _Fun_Res SEG_SET_EleDial(uint8_t m_Flag, uint8_t m_SEG, uint16_t m_NUM)
IC1_SEG072
=
IC_SEG_OFF
;
IC1_SEG072
=
IC_SEG_OFF
;
}
}
Num
=
(
m_NUM
/
10u
)
%
10u
;
Num
=
(
m_NUM
/
10u
)
%
10u
;
m8
=
SEG_DISPLAY_NUMBER0
[
Num
];
if
(
m_NUM
>
10
)
{
m8
=
SEG_DISPLAY_NUMBER0
[
Num
];
}
else
{
m8
=
SEG_UNDISPLAY_NUMBER0
[
Num
];
}
if
(
Bit_Is_Set
(
m8
,
0
))
if
(
Bit_Is_Set
(
m8
,
0
))
{
{
IC1_SEG069
=
IC_SEG_ON
;
IC1_SEG069
=
IC_SEG_ON
;
...
@@ -635,32 +717,7 @@ _Fun_Res SEG_SET_EleDial(uint8_t m_Flag, uint8_t m_SEG, uint16_t m_NUM)
...
@@ -635,32 +717,7 @@ _Fun_Res SEG_SET_EleDial(uint8_t m_Flag, uint8_t m_SEG, uint16_t m_NUM)
IC1_SEG060
=
IC_SEG_OFF
;
IC1_SEG060
=
IC_SEG_OFF
;
IC1_SEG059
=
IC_SEG_OFF
;
IC1_SEG059
=
IC_SEG_OFF
;
IC1_SEG058
=
IC_SEG_OFF
;
IC1_SEG058
=
IC_SEG_OFF
;
IC1_SEG121
=
IC_SEG_OFF
;
IC1_SEG124
=
IC_SEG_OFF
;
IC1_SEG122
=
IC_SEG_OFF
;
IC1_SEG123
=
IC_SEG_OFF
;
IC1_SEG054
=
IC_SEG_OFF
;
IC1_SEG054
=
IC_SEG_OFF
;
IC1_SEG136
=
IC_SEG_OFF
;
IC1_SEG125
=
IC_SEG_OFF
;
IC1_SEG137
=
IC_SEG_OFF
;
IC1_SEG126
=
IC_SEG_OFF
;
IC1_SEG138
=
IC_SEG_OFF
;
IC1_SEG127
=
IC_SEG_OFF
;
IC1_SEG143
=
IC_SEG_OFF
;
IC1_SEG128
=
IC_SEG_OFF
;
IC1_SEG144
=
IC_SEG_OFF
;
IC1_SEG129
=
IC_SEG_OFF
;
IC1_SEG145
=
IC_SEG_OFF
;
IC1_SEG130
=
IC_SEG_OFF
;
IC1_SEG146
=
IC_SEG_OFF
;
IC1_SEG131
=
IC_SEG_OFF
;
IC1_SEG147
=
IC_SEG_OFF
;
IC1_SEG132
=
IC_SEG_OFF
;
IC1_SEG148
=
IC_SEG_OFF
;
IC1_SEG133
=
IC_SEG_OFF
;
IC1_SEG135
=
IC_SEG_OFF
;
IC1_SEG134
=
IC_SEG_OFF
;
}
}
return
m_Res
;
return
m_Res
;
...
@@ -1620,243 +1677,217 @@ _Fun_Res SEG_SET_L8_NUM(uint8_t m_Flag, uint8_t m_NUM)
...
@@ -1620,243 +1677,217 @@ _Fun_Res SEG_SET_L8_NUM(uint8_t m_Flag, uint8_t m_NUM)
return
m_Res
;
return
m_Res
;
}
}
/**@brief 总计里程显示函数
* @param[in] m_Flag 是否显示 -1 显示 -0 不显示
/**@brief 单次时间显示函数
* @param[in] m_NUM 显示数值 0<m_NUM<=999999
* @param[in] m_hour 小时
* @param[in] m_minute 分钟
* @param[in] m_icon 中间冒号是否显示 -1 显示 -0 不显示
* @param[in] m_Flag1 小时是否显示 -1 显示 -0 不显示
* @param[in] m_Flag2 分钟是否显示 -1 显示 -0 不显示
* @return 函数执行结果
* @return 函数执行结果
* - EX_OK 上报成功
* - EX_OK 上报成功
* - EX_ERR 上报失败
* - EX_ERR 上报失败
*/
*/
_Fun_Res
SEG_SET_
ODO_NUM
(
uint8_t
m_Flag
,
uint32_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
;
_Fun_Res
m_Res
;
uint
32
_t
Num
;
uint
8
_t
Num
;
uint8_t
m8
;
uint8_t
m8
;
if
((
m_
Flag
>
2u
)
||
(
m_NUM
>
999999
u
))
if
((
m_
hour
>=
99u
)
||
(
m_minute
>=
99u
)
||
(
m_icon
>
1u
)
||
(
m_Flag1
>
1u
)
||
(
m_Flag2
>
1
u
))
{
{
m_Res
=
EX_ERR
;
m_Res
=
EX_ERR
;
}
}
else
else
{
{
if
(
m_
Flag
==
1u
)
if
(
m_
icon
==
1u
)
{
{
IC2_SEG051
=
IC_SEG_ON
;
IC2_SEG084
=
IC_SEG_ON
;
IC2_SEG104
=
IC_SEG_ON
;
}
else
/*十万位*/
{
Num
=
(
m_NUM
/
100000u
);
IC2_SEG084
=
IC_SEG_OFF
;
}
if
(
m_Flag1
==
1u
)
{
Num
=
m_hour
/
10u
;
/*86104-11*/
m8
=
SEG_DISPLAY_NUMBER0
[
Num
];
m8
=
SEG_DISPLAY_NUMBER0
[
Num
];
if
(
Bit_Is_Set
(
m8
,
0
))
if
(
Bit_Is_Set
(
m8
,
0
))
{
{
IC2_SEG0
67
=
IC_SEG_ON
;
IC2_SEG0
36
=
IC_SEG_ON
;
}
}
else
else
{
{
IC2_SEG0
67
=
IC_SEG_OFF
;
IC2_SEG0
36
=
IC_SEG_OFF
;
}
}
if
(
Bit_Is_Set
(
m8
,
1
))
if
(
Bit_Is_Set
(
m8
,
1
))
{
{
IC2_SEG0
66
=
IC_SEG_ON
;
IC2_SEG0
35
=
IC_SEG_ON
;
}
}
else
else
{
{
IC2_SEG0
66
=
IC_SEG_OFF
;
IC2_SEG0
35
=
IC_SEG_OFF
;
}
}
if
(
Bit_Is_Set
(
m8
,
2
))
if
(
Bit_Is_Set
(
m8
,
2
))
{
{
IC2_SEG0
64
=
IC_SEG_ON
;
IC2_SEG0
79
=
IC_SEG_ON
;
}
}
else
else
{
{
IC2_SEG0
64
=
IC_SEG_OFF
;
IC2_SEG0
79
=
IC_SEG_OFF
;
}
}
if
(
Bit_Is_Set
(
m8
,
3
))
if
(
Bit_Is_Set
(
m8
,
3
))
{
{
IC2_SEG0
63
=
IC_SEG_ON
;
IC2_SEG0
78
=
IC_SEG_ON
;
}
}
else
else
{
{
IC2_SEG0
63
=
IC_SEG_OFF
;
IC2_SEG0
78
=
IC_SEG_OFF
;
}
}
if
(
Bit_Is_Set
(
m8
,
5
))
if
(
Bit_Is_Set
(
m8
,
5
))
{
{
IC2_SEG0
61
=
IC_SEG_ON
;
IC2_SEG0
37
=
IC_SEG_ON
;
}
}
else
else
{
{
IC2_SEG0
61
=
IC_SEG_OFF
;
IC2_SEG0
37
=
IC_SEG_OFF
;
}
}
if
(
Bit_Is_Set
(
m8
,
4
))
if
(
Bit_Is_Set
(
m8
,
4
))
{
{
IC2_SEG0
62
=
IC_SEG_ON
;
IC2_SEG0
39
=
IC_SEG_ON
;
}
}
else
else
{
{
IC2_SEG0
62
=
IC_SEG_OFF
;
IC2_SEG0
39
=
IC_SEG_OFF
;
}
}
if
(
Bit_Is_Set
(
m8
,
6
))
if
(
Bit_Is_Set
(
m8
,
6
))
{
{
IC2_SEG0
65
=
IC_SEG_ON
;
IC2_SEG0
38
=
IC_SEG_ON
;
}
}
else
else
{
{
IC2_SEG0
65
=
IC_SEG_OFF
;
IC2_SEG0
38
=
IC_SEG_OFF
;
}
}
/*万位*/
Num
=
m_hour
%
10u
;
Num
=
(
m_NUM
/
10000u
)
%
10u
;
m8
=
SEG_DISPLAY_NUMBER0
[
Num
];
m8
=
SEG_DISPLAY_NUMBER0
[
Num
];
if
(
Bit_Is_Set
(
m8
,
0
))
if
(
Bit_Is_Set
(
m8
,
0
))
{
{
IC2_SEG0
68
=
IC_SEG_ON
;
IC2_SEG0
33
=
IC_SEG_ON
;
}
}
else
else
{
{
IC2_SEG0
68
=
IC_SEG_OFF
;
IC2_SEG0
33
=
IC_SEG_OFF
;
}
}
if
(
Bit_Is_Set
(
m8
,
1
))
if
(
Bit_Is_Set
(
m8
,
1
))
{
{
IC2_SEG0
74
=
IC_SEG_ON
;
IC2_SEG0
32
=
IC_SEG_ON
;
}
}
else
else
{
{
IC2_SEG0
74
=
IC_SEG_OFF
;
IC2_SEG0
32
=
IC_SEG_OFF
;
}
}
if
(
Bit_Is_Set
(
m8
,
2
))
if
(
Bit_Is_Set
(
m8
,
2
))
{
{
IC2_SEG0
7
3
=
IC_SEG_ON
;
IC2_SEG0
8
3
=
IC_SEG_ON
;
}
}
else
else
{
{
IC2_SEG0
7
3
=
IC_SEG_OFF
;
IC2_SEG0
8
3
=
IC_SEG_OFF
;
}
}
if
(
Bit_Is_Set
(
m8
,
3
))
if
(
Bit_Is_Set
(
m8
,
3
))
{
{
IC2_SEG0
7
2
=
IC_SEG_ON
;
IC2_SEG0
8
2
=
IC_SEG_ON
;
}
}
else
else
{
{
IC2_SEG0
7
2
=
IC_SEG_OFF
;
IC2_SEG0
8
2
=
IC_SEG_OFF
;
}
}
if
(
Bit_Is_Set
(
m8
,
5
))
if
(
Bit_Is_Set
(
m8
,
5
))
{
{
IC2_SEG0
69
=
IC_SEG_ON
;
IC2_SEG0
34
=
IC_SEG_ON
;
}
}
else
else
{
{
IC2_SEG0
69
=
IC_SEG_OFF
;
IC2_SEG0
34
=
IC_SEG_OFF
;
}
}
if
(
Bit_Is_Set
(
m8
,
4
))
if
(
Bit_Is_Set
(
m8
,
4
))
{
{
IC2_SEG0
7
1
=
IC_SEG_ON
;
IC2_SEG0
8
1
=
IC_SEG_ON
;
}
}
else
else
{
{
IC2_SEG0
7
1
=
IC_SEG_OFF
;
IC2_SEG0
8
1
=
IC_SEG_OFF
;
}
}
if
(
Bit_Is_Set
(
m8
,
6
))
if
(
Bit_Is_Set
(
m8
,
6
))
{
{
IC2_SEG0
7
0
=
IC_SEG_ON
;
IC2_SEG0
8
0
=
IC_SEG_ON
;
}
}
else
else
{
{
IC2_SEG0
7
0
=
IC_SEG_OFF
;
IC2_SEG0
8
0
=
IC_SEG_OFF
;
}
}
/*千位*/
}
Num
=
(
m_NUM
/
1000u
)
%
10u
;
else
{
IC2_SEG036
=
IC_SEG_OFF
;
IC2_SEG035
=
IC_SEG_OFF
;
IC2_SEG079
=
IC_SEG_OFF
;
IC2_SEG078
=
IC_SEG_OFF
;
IC2_SEG039
=
IC_SEG_OFF
;
IC2_SEG037
=
IC_SEG_OFF
;
IC2_SEG038
=
IC_SEG_OFF
;
IC2_SEG033
=
IC_SEG_OFF
;
IC2_SEG032
=
IC_SEG_OFF
;
IC2_SEG083
=
IC_SEG_OFF
;
IC2_SEG082
=
IC_SEG_OFF
;
IC2_SEG081
=
IC_SEG_OFF
;
IC2_SEG034
=
IC_SEG_OFF
;
IC2_SEG080
=
IC_SEG_OFF
;
}
if
(
m_Flag2
==
1u
)
{
Num
=
m_minute
/
10u
;
m8
=
SEG_DISPLAY_NUMBER0
[
Num
];
m8
=
SEG_DISPLAY_NUMBER0
[
Num
];
if
(
Bit_Is_Set
(
m8
,
0
))
if
(
Bit_Is_Set
(
m8
,
0
))
{
{
IC2_SEG0
75
=
IC_SEG_ON
;
IC2_SEG0
30
=
IC_SEG_ON
;
}
}
else
else
{
{
IC2_SEG0
75
=
IC_SEG_OFF
;
IC2_SEG0
30
=
IC_SEG_OFF
;
}
}
if
(
Bit_Is_Set
(
m8
,
1
))
if
(
Bit_Is_Set
(
m8
,
1
))
{
{
IC2_SEG0
81
=
IC_SEG_ON
;
IC2_SEG0
29
=
IC_SEG_ON
;
}
}
else
else
{
{
IC2_SEG0
81
=
IC_SEG_OFF
;
IC2_SEG0
29
=
IC_SEG_OFF
;
}
}
if
(
Bit_Is_Set
(
m8
,
2
))
if
(
Bit_Is_Set
(
m8
,
2
))
{
{
IC2_SEG08
0
=
IC_SEG_ON
;
IC2_SEG08
8
=
IC_SEG_ON
;
}
}
else
else
{
{
IC2_SEG08
0
=
IC_SEG_OFF
;
IC2_SEG08
8
=
IC_SEG_OFF
;
}
}
if
(
Bit_Is_Set
(
m8
,
3
))
if
(
Bit_Is_Set
(
m8
,
3
))
{
{
IC2_SEG0
79
=
IC_SEG_ON
;
IC2_SEG0
87
=
IC_SEG_ON
;
}
}
else
else
{
{
IC2_SEG0
79
=
IC_SEG_OFF
;
IC2_SEG0
87
=
IC_SEG_OFF
;
}
}
if
(
Bit_Is_Set
(
m8
,
5
))
if
(
Bit_Is_Set
(
m8
,
5
))
{
{
IC2_SEG0
76
=
IC_SEG_ON
;
IC2_SEG0
31
=
IC_SEG_ON
;
}
}
else
else
{
{
IC2_SEG0
76
=
IC_SEG_OFF
;
IC2_SEG0
31
=
IC_SEG_OFF
;
}
}
if
(
Bit_Is_Set
(
m8
,
4
))
if
(
Bit_Is_Set
(
m8
,
4
))
{
IC2_SEG078
=
IC_SEG_ON
;
}
else
{
IC2_SEG078
=
IC_SEG_OFF
;
}
if
(
Bit_Is_Set
(
m8
,
6
))
{
IC2_SEG077
=
IC_SEG_ON
;
}
else
{
IC2_SEG077
=
IC_SEG_OFF
;
}
/*百位*/
Num
=
(
m_NUM
/
100u
)
%
10u
;
m8
=
SEG_DISPLAY_NUMBER0
[
Num
];
if
(
Bit_Is_Set
(
m8
,
0
))
{
IC2_SEG082
=
IC_SEG_ON
;
}
else
{
IC2_SEG082
=
IC_SEG_OFF
;
}
if
(
Bit_Is_Set
(
m8
,
1
))
{
IC2_SEG088
=
IC_SEG_ON
;
}
else
{
IC2_SEG088
=
IC_SEG_OFF
;
}
if
(
Bit_Is_Set
(
m8
,
2
))
{
IC2_SEG087
=
IC_SEG_ON
;
}
else
{
IC2_SEG087
=
IC_SEG_OFF
;
}
if
(
Bit_Is_Set
(
m8
,
3
))
{
{
IC2_SEG086
=
IC_SEG_ON
;
IC2_SEG086
=
IC_SEG_ON
;
}
}
...
@@ -1864,15 +1895,7 @@ _Fun_Res SEG_SET_ODO_NUM(uint8_t m_Flag, uint32_t m_NUM)
...
@@ -1864,15 +1895,7 @@ _Fun_Res SEG_SET_ODO_NUM(uint8_t m_Flag, uint32_t m_NUM)
{
{
IC2_SEG086
=
IC_SEG_OFF
;
IC2_SEG086
=
IC_SEG_OFF
;
}
}
if
(
Bit_Is_Set
(
m8
,
5
))
if
(
Bit_Is_Set
(
m8
,
6
))
{
IC2_SEG083
=
IC_SEG_ON
;
}
else
{
IC2_SEG083
=
IC_SEG_OFF
;
}
if
(
Bit_Is_Set
(
m8
,
4
))
{
{
IC2_SEG085
=
IC_SEG_ON
;
IC2_SEG085
=
IC_SEG_ON
;
}
}
...
@@ -1880,59 +1903,25 @@ _Fun_Res SEG_SET_ODO_NUM(uint8_t m_Flag, uint32_t m_NUM)
...
@@ -1880,59 +1903,25 @@ _Fun_Res SEG_SET_ODO_NUM(uint8_t m_Flag, uint32_t m_NUM)
{
{
IC2_SEG085
=
IC_SEG_OFF
;
IC2_SEG085
=
IC_SEG_OFF
;
}
}
if
(
Bit_Is_Set
(
m8
,
6
))
Num
=
m_minute
%
10u
;
{
IC2_SEG084
=
IC_SEG_ON
;
}
else
{
IC2_SEG084
=
IC_SEG_OFF
;
}
/*十位*/
Num
=
(
m_NUM
/
10u
)
%
10u
;
m8
=
SEG_DISPLAY_NUMBER0
[
Num
];
m8
=
SEG_DISPLAY_NUMBER0
[
Num
];
if
(
Bit_Is_Set
(
m8
,
0
))
if
(
Bit_Is_Set
(
m8
,
0
))
{
{
IC2_SEG0
89
=
IC_SEG_ON
;
IC2_SEG0
27
=
IC_SEG_ON
;
}
}
else
else
{
{
IC2_SEG0
89
=
IC_SEG_OFF
;
IC2_SEG0
27
=
IC_SEG_OFF
;
}
}
if
(
Bit_Is_Set
(
m8
,
1
))
if
(
Bit_Is_Set
(
m8
,
1
))
{
{
IC2_SEG0
95
=
IC_SEG_ON
;
IC2_SEG0
26
=
IC_SEG_ON
;
}
}
else
else
{
{
IC2_SEG0
95
=
IC_SEG_OFF
;
IC2_SEG0
26
=
IC_SEG_OFF
;
}
}
if
(
Bit_Is_Set
(
m8
,
2
))
if
(
Bit_Is_Set
(
m8
,
2
))
{
IC2_SEG094
=
IC_SEG_ON
;
}
else
{
IC2_SEG094
=
IC_SEG_OFF
;
}
if
(
Bit_Is_Set
(
m8
,
3
))
{
IC2_SEG093
=
IC_SEG_ON
;
}
else
{
IC2_SEG093
=
IC_SEG_OFF
;
}
if
(
Bit_Is_Set
(
m8
,
5
))
{
IC2_SEG090
=
IC_SEG_ON
;
}
else
{
IC2_SEG090
=
IC_SEG_OFF
;
}
if
(
Bit_Is_Set
(
m8
,
4
))
{
{
IC2_SEG092
=
IC_SEG_ON
;
IC2_SEG092
=
IC_SEG_ON
;
}
}
...
@@ -1940,7 +1929,7 @@ _Fun_Res SEG_SET_ODO_NUM(uint8_t m_Flag, uint32_t m_NUM)
...
@@ -1940,7 +1929,7 @@ _Fun_Res SEG_SET_ODO_NUM(uint8_t m_Flag, uint32_t m_NUM)
{
{
IC2_SEG092
=
IC_SEG_OFF
;
IC2_SEG092
=
IC_SEG_OFF
;
}
}
if
(
Bit_Is_Set
(
m8
,
6
))
if
(
Bit_Is_Set
(
m8
,
3
))
{
{
IC2_SEG091
=
IC_SEG_ON
;
IC2_SEG091
=
IC_SEG_ON
;
}
}
...
@@ -1948,135 +1937,66 @@ _Fun_Res SEG_SET_ODO_NUM(uint8_t m_Flag, uint32_t m_NUM)
...
@@ -1948,135 +1937,66 @@ _Fun_Res SEG_SET_ODO_NUM(uint8_t m_Flag, uint32_t m_NUM)
{
{
IC2_SEG091
=
IC_SEG_OFF
;
IC2_SEG091
=
IC_SEG_OFF
;
}
}
/*个位*/
Num
=
m_NUM
%
10u
;
m8
=
SEG_DISPLAY_NUMBER0
[
Num
];
if
(
Bit_Is_Set
(
m8
,
0
))
{
IC2_SEG096
=
IC_SEG_ON
;
}
else
{
IC2_SEG096
=
IC_SEG_OFF
;
}
if
(
Bit_Is_Set
(
m8
,
1
))
{
IC2_SEG102
=
IC_SEG_ON
;
}
else
{
IC2_SEG102
=
IC_SEG_OFF
;
}
if
(
Bit_Is_Set
(
m8
,
2
))
{
IC2_SEG101
=
IC_SEG_ON
;
}
else
{
IC2_SEG101
=
IC_SEG_OFF
;
}
if
(
Bit_Is_Set
(
m8
,
3
))
{
IC2_SEG100
=
IC_SEG_ON
;
}
else
{
IC2_SEG100
=
IC_SEG_OFF
;
}
if
(
Bit_Is_Set
(
m8
,
5
))
if
(
Bit_Is_Set
(
m8
,
5
))
{
{
IC2_SEG0
97
=
IC_SEG_ON
;
IC2_SEG0
28
=
IC_SEG_ON
;
}
}
else
else
{
{
IC2_SEG0
97
=
IC_SEG_OFF
;
IC2_SEG0
28
=
IC_SEG_OFF
;
}
}
if
(
Bit_Is_Set
(
m8
,
4
))
if
(
Bit_Is_Set
(
m8
,
4
))
{
{
IC2_SEG09
9
=
IC_SEG_ON
;
IC2_SEG09
0
=
IC_SEG_ON
;
}
}
else
else
{
{
IC2_SEG09
9
=
IC_SEG_OFF
;
IC2_SEG09
0
=
IC_SEG_OFF
;
}
}
if
(
Bit_Is_Set
(
m8
,
6
))
if
(
Bit_Is_Set
(
m8
,
6
))
{
{
IC2_SEG0
98
=
IC_SEG_ON
;
IC2_SEG0
89
=
IC_SEG_ON
;
}
}
else
else
{
{
IC2_SEG0
98
=
IC_SEG_OFF
;
IC2_SEG0
89
=
IC_SEG_OFF
;
}
}
}
}
else
else
{
{
IC2_SEG051
=
IC_SEG_OFF
;
IC2_SEG030
=
IC_SEG_OFF
;
IC2_SEG103
=
IC_SEG_OFF
;
IC2_SEG029
=
IC_SEG_OFF
;
IC2_SEG104
=
IC_SEG_OFF
;
IC2_SEG105
=
IC_SEG_OFF
;
IC2_SEG061
=
IC_SEG_OFF
;
IC2_SEG062
=
IC_SEG_OFF
;
IC2_SEG063
=
IC_SEG_OFF
;
IC2_SEG064
=
IC_SEG_OFF
;
IC2_SEG065
=
IC_SEG_OFF
;
IC2_SEG066
=
IC_SEG_OFF
;
IC2_SEG067
=
IC_SEG_OFF
;
IC2_SEG068
=
IC_SEG_OFF
;
IC2_SEG069
=
IC_SEG_OFF
;
IC2_SEG070
=
IC_SEG_OFF
;
IC2_SEG071
=
IC_SEG_OFF
;
IC2_SEG072
=
IC_SEG_OFF
;
IC2_SEG073
=
IC_SEG_OFF
;
IC2_SEG074
=
IC_SEG_OFF
;
IC2_SEG075
=
IC_SEG_OFF
;
IC2_SEG076
=
IC_SEG_OFF
;
IC2_SEG077
=
IC_SEG_OFF
;
IC2_SEG078
=
IC_SEG_OFF
;
IC2_SEG079
=
IC_SEG_OFF
;
IC2_SEG080
=
IC_SEG_OFF
;
IC2_SEG081
=
IC_SEG_OFF
;
IC2_SEG082
=
IC_SEG_OFF
;
IC2_SEG083
=
IC_SEG_OFF
;
IC2_SEG084
=
IC_SEG_OFF
;
IC2_SEG085
=
IC_SEG_OFF
;
IC2_SEG086
=
IC_SEG_OFF
;
IC2_SEG087
=
IC_SEG_OFF
;
IC2_SEG088
=
IC_SEG_OFF
;
IC2_SEG088
=
IC_SEG_OFF
;
IC2_SEG089
=
IC_SEG_OFF
;
IC2_SEG087
=
IC_SEG_OFF
;
IC2_SEG090
=
IC_SEG_OFF
;
IC2_SEG086
=
IC_SEG_OFF
;
IC2_SEG091
=
IC_SEG_OFF
;
IC2_SEG031
=
IC_SEG_OFF
;
IC2_SEG085
=
IC_SEG_OFF
;
IC2_SEG027
=
IC_SEG_OFF
;
IC2_SEG026
=
IC_SEG_OFF
;
IC2_SEG092
=
IC_SEG_OFF
;
IC2_SEG092
=
IC_SEG_OFF
;
IC2_SEG093
=
IC_SEG_OFF
;
IC2_SEG091
=
IC_SEG_OFF
;
IC2_SEG094
=
IC_SEG_OFF
;
IC2_SEG090
=
IC_SEG_OFF
;
IC2_SEG095
=
IC_SEG_OFF
;
IC2_SEG028
=
IC_SEG_OFF
;
IC2_SEG096
=
IC_SEG_OFF
;
IC2_SEG089
=
IC_SEG_OFF
;
IC2_SEG097
=
IC_SEG_OFF
;
IC2_SEG098
=
IC_SEG_OFF
;
IC2_SEG099
=
IC_SEG_OFF
;
IC2_SEG100
=
IC_SEG_OFF
;
IC2_SEG101
=
IC_SEG_OFF
;
IC2_SEG102
=
IC_SEG_OFF
;
}
}
m_Res
=
EX_OK
;
m_Res
=
EX_OK
;
}
}
return
m_Res
;
return
m_Res
;
}
}
/**@brief
小计里程
显示函数
/**@brief
累计时间
显示函数
* @param[in] m_
Flag 是否显示 -1 显示 -0 不显示
* @param[in] m_
hour 小时
* @param[in] m_
NUM 显示数值 0<m_NUM<=999.9
* @param[in] m_
Flag 是否显示 -1 显示 -0 不显示
* @return 函数执行结果
* @return 函数执行结果
* - EX_OK 上报成功
* - EX_OK 上报成功
* - EX_ERR 上报失败
* - EX_ERR 上报失败
*/
*/
_Fun_Res
SEG_SET_
TRIP_NUM
(
uint8_t
m_Flag
,
uint16
_t
m_NUM
)
_Fun_Res
SEG_SET_
Clock_ALL
(
uint8_t
m_Flag
,
uint32
_t
m_NUM
)
{
{
_Fun_Res
m_Res
;
_Fun_Res
m_Res
;
uint
16
_t
Num
;
uint
32
_t
Num
;
uint8_t
m8
;
uint8_t
m8
;
if
((
m_Flag
>
3u
)
||
(
m_NUM
>
9999u
))
if
((
m_Flag
>
2u
)
||
(
m_NUM
>
9
9999u
))
{
{
m_Res
=
EX_ERR
;
m_Res
=
EX_ERR
;
}
}
...
@@ -2084,625 +2004,383 @@ _Fun_Res SEG_SET_TRIP_NUM(uint8_t m_Flag, uint16_t m_NUM)
...
@@ -2084,625 +2004,383 @@ _Fun_Res SEG_SET_TRIP_NUM(uint8_t m_Flag, uint16_t m_NUM)
{
{
if
(
m_Flag
==
1u
)
if
(
m_Flag
==
1u
)
{
{
IC1_SEG074
=
IC_SEG_ON
;
IC2_SEG077
=
IC_SEG_ON
;
IC1_SEG115
=
IC_SEG_ON
;
IC1_SEG101
=
IC_SEG_ON
;
/*千位*/
Num
=
m_NUM
/
10000u
;
Num
=
(
m_NUM
/
1000u
)
%
10u
;
if
(
m_NUM
>
10000
)
m8
=
SEG_UNDISPLAY_NUMBER0
[
Num
];
if
(
Bit_Is_Set
(
m8
,
0
))
{
IC1_SEG082
=
IC_SEG_ON
;
}
else
{
IC1_SEG082
=
IC_SEG_OFF
;
}
if
(
Bit_Is_Set
(
m8
,
1
))
{
IC1_SEG088
=
IC_SEG_ON
;
}
else
{
IC1_SEG088
=
IC_SEG_OFF
;
}
if
(
Bit_Is_Set
(
m8
,
2
))
{
IC1_SEG086
=
IC_SEG_ON
;
}
else
{
IC1_SEG086
=
IC_SEG_OFF
;
}
if
(
Bit_Is_Set
(
m8
,
3
))
{
IC1_SEG085
=
IC_SEG_ON
;
}
else
{
{
IC1_SEG085
=
IC_SEG_OFF
;
m8
=
SEG_DISPLAY_NUMBER0
[
Num
];
}
if
(
Bit_Is_Set
(
m8
,
5
))
{
IC1_SEG083
=
IC_SEG_ON
;
}
else
{
IC1_SEG083
=
IC_SEG_OFF
;
}
if
(
Bit_Is_Set
(
m8
,
4
))
{
IC1_SEG084
=
IC_SEG_ON
;
}
else
{
IC1_SEG084
=
IC_SEG_OFF
;
}
if
(
Bit_Is_Set
(
m8
,
6
))
{
IC1_SEG087
=
IC_SEG_ON
;
}
}
else
else
{
{
IC1_SEG087
=
IC_SEG_OFF
;
m8
=
SEG_UNDISPLAY_NUMBER0
[
Num
]
;
}
}
/*百位*/
Num
=
(
m_NUM
/
100u
)
%
10u
;
m8
=
SEG_DISPLAY_NUMBER0
[
Num
];
if
(
Bit_Is_Set
(
m8
,
0
))
if
(
Bit_Is_Set
(
m8
,
0
))
{
{
IC1_SEG095
=
IC_SEG_ON
;
IC2_SEG047
=
IC_SEG_ON
;
}
else
{
IC1_SEG095
=
IC_SEG_OFF
;
}
if
(
Bit_Is_Set
(
m8
,
1
))
{
IC1_SEG094
=
IC_SEG_ON
;
}
else
{
IC1_SEG094
=
IC_SEG_OFF
;
}
if
(
Bit_Is_Set
(
m8
,
2
))
{
IC1_SEG093
=
IC_SEG_ON
;
}
else
{
IC1_SEG093
=
IC_SEG_OFF
;
}
if
(
Bit_Is_Set
(
m8
,
3
))
{
IC1_SEG092
=
IC_SEG_ON
;
}
else
{
IC1_SEG092
=
IC_SEG_OFF
;
}
if
(
Bit_Is_Set
(
m8
,
5
))
{
IC1_SEG089
=
IC_SEG_ON
;
}
else
{
IC1_SEG089
=
IC_SEG_OFF
;
}
if
(
Bit_Is_Set
(
m8
,
4
))
{
IC1_SEG091
=
IC_SEG_ON
;
}
else
{
IC1_SEG091
=
IC_SEG_OFF
;
}
if
(
Bit_Is_Set
(
m8
,
6
))
{
IC1_SEG090
=
IC_SEG_ON
;
}
else
{
IC1_SEG090
=
IC_SEG_OFF
;
}
/*十位*/
Num
=
(
m_NUM
/
10u
)
%
10u
;
m8
=
SEG_DISPLAY_NUMBER0
[
Num
];
if
(
Bit_Is_Set
(
m8
,
0
))
{
IC1_SEG096
=
IC_SEG_ON
;
}
else
{
IC1_SEG096
=
IC_SEG_OFF
;
}
if
(
Bit_Is_Set
(
m8
,
1
))
{
IC1_SEG110
=
IC_SEG_ON
;
}
else
{
IC1_SEG110
=
IC_SEG_OFF
;
}
if
(
Bit_Is_Set
(
m8
,
2
))
{
IC1_SEG100
=
IC_SEG_ON
;
}
else
{
IC1_SEG100
=
IC_SEG_OFF
;
}
if
(
Bit_Is_Set
(
m8
,
3
))
{
IC1_SEG099
=
IC_SEG_ON
;
}
else
{
IC1_SEG099
=
IC_SEG_OFF
;
}
if
(
Bit_Is_Set
(
m8
,
5
))
{
IC1_SEG097
=
IC_SEG_ON
;
}
else
{
IC1_SEG097
=
IC_SEG_OFF
;
}
if
(
Bit_Is_Set
(
m8
,
4
))
{
IC1_SEG098
=
IC_SEG_ON
;
}
else
{
IC1_SEG098
=
IC_SEG_OFF
;
}
if
(
Bit_Is_Set
(
m8
,
6
))
{
IC1_SEG109
=
IC_SEG_ON
;
}
else
{
IC1_SEG109
=
IC_SEG_OFF
;
}
/*个位*/
Num
=
m_NUM
%
10u
;
m8
=
SEG_DISPLAY_NUMBER0
[
Num
];
if
(
Bit_Is_Set
(
m8
,
0
))
{
IC1_SEG106
=
IC_SEG_ON
;
}
}
else
else
{
{
IC
1_SEG106
=
IC_SEG_OFF
;
IC
2_SEG047
=
IC_SEG_OFF
;
}
}
if
(
Bit_Is_Set
(
m8
,
1
))
if
(
Bit_Is_Set
(
m8
,
1
))
{
{
IC
1_SEG105
=
IC_SEG_ON
;
IC
2_SEG046
=
IC_SEG_ON
;
}
}
else
else
{
{
IC
1_SEG105
=
IC_SEG_OFF
;
IC
2_SEG046
=
IC_SEG_OFF
;
}
}
if
(
Bit_Is_Set
(
m8
,
2
))
if
(
Bit_Is_Set
(
m8
,
2
))
{
{
IC
1_SEG10
4
=
IC_SEG_ON
;
IC
2_SEG04
4
=
IC_SEG_ON
;
}
}
else
else
{
{
IC
1_SEG10
4
=
IC_SEG_OFF
;
IC
2_SEG04
4
=
IC_SEG_OFF
;
}
}
if
(
Bit_Is_Set
(
m8
,
3
))
if
(
Bit_Is_Set
(
m8
,
3
))
{
{
IC1_SEG103
=
IC_SEG_ON
;
IC2_SEG043
=
IC_SEG_ON
;
}
else
{
IC1_SEG103
=
IC_SEG_OFF
;
}
if
(
Bit_Is_Set
(
m8
,
5
))
{
IC1_SEG107
=
IC_SEG_ON
;
}
else
{
IC1_SEG107
=
IC_SEG_OFF
;
}
if
(
Bit_Is_Set
(
m8
,
4
))
{
IC1_SEG102
=
IC_SEG_ON
;
}
}
else
else
{
{
IC1_SEG102
=
IC_SEG_OFF
;
IC2_SEG043
=
IC_SEG_OFF
;
}
}
if
(
Bit_Is_Set
(
m8
,
6
))
if
(
Bit_Is_Set
(
m8
,
4
))
{
{
IC1_SEG108
=
IC_SEG_ON
;
IC2_SEG042
=
IC_SEG_ON
;
}
}
else
else
{
{
IC1_SEG108
=
IC_SEG_OFF
;
IC2_SEG042
=
IC_SEG_OFF
;
}
}
}
if
(
Bit_Is_Set
(
m8
,
5
))
else
{
{
IC2_SEG041
=
IC_SEG_ON
;
}
IC1_SEG074
=
IC_SEG_OFF
;
else
IC1_SEG114
=
IC_SEG_OFF
;
{
IC1_SEG115
=
IC_SEG_OFF
;
IC2_SEG041
=
IC_SEG_OFF
;
IC1_SEG116
=
IC_SEG_OFF
;
}
IC1_SEG101
=
IC_SEG_OFF
;
if
(
Bit_Is_Set
(
m8
,
6
))
{
IC1_SEG082
=
IC_SEG_OFF
;
IC2_SEG045
=
IC_SEG_ON
;
IC1_SEG083
=
IC_SEG_OFF
;
}
IC1_SEG084
=
IC_SEG_OFF
;
else
IC1_SEG085
=
IC_SEG_OFF
;
{
IC1_SEG086
=
IC_SEG_OFF
;
IC2_SEG045
=
IC_SEG_OFF
;
IC1_SEG087
=
IC_SEG_OFF
;
}
IC1_SEG088
=
IC_SEG_OFF
;
/*千位*/
IC1_SEG089
=
IC_SEG_OFF
;
Num
=
(
m_NUM
/
1000u
)
%
10u
;
IC1_SEG090
=
IC_SEG_OFF
;
if
(
m_NUM
>
1000
)
IC1_SEG091
=
IC_SEG_OFF
;
{
IC1_SEG092
=
IC_SEG_OFF
;
m8
=
SEG_DISPLAY_NUMBER0
[
Num
];
IC1_SEG093
=
IC_SEG_OFF
;
}
IC1_SEG094
=
IC_SEG_OFF
;
else
IC1_SEG095
=
IC_SEG_OFF
;
{
IC1_SEG096
=
IC_SEG_OFF
;
m8
=
SEG_UNDISPLAY_NUMBER0
[
Num
];
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
;
}
return
m_Res
;
}
/**@brief 时间显示函数
* @param[in] m_hour 小时
* @param[in] m_minute 分钟
* @param[in] m_icon 中间冒号是否显示 -1 显示 -0 不显示
* @param[in] m_Flag1 小时是否显示 -1 显示 -0 不显示
* @param[in] m_Flag2 分钟是否显示 -1 显示 -0 不显示
* @return 函数执行结果
* - EX_OK 上报成功
* - EX_ERR 上报失败
*/
_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
))
{
m_Res
=
EX_ERR
;
}
else
{
if
(
m_icon
==
1u
)
{
IC2_SEG084
=
IC_SEG_ON
;
}
else
{
IC2_SEG084
=
IC_SEG_OFF
;
}
if
(
m_Flag1
==
1u
)
{
Num
=
m_hour
/
10u
;
/*86104-11*/
m8
=
SEG_DISPLAY_NUMBER0
[
Num
];
if
(
Bit_Is_Set
(
m8
,
0
))
if
(
Bit_Is_Set
(
m8
,
0
))
{
{
IC2_SEG0
36
=
IC_SEG_ON
;
IC2_SEG0
54
=
IC_SEG_ON
;
}
}
else
else
{
{
IC2_SEG0
36
=
IC_SEG_OFF
;
IC2_SEG0
54
=
IC_SEG_OFF
;
}
}
if
(
Bit_Is_Set
(
m8
,
1
))
if
(
Bit_Is_Set
(
m8
,
1
))
{
{
IC2_SEG0
35
=
IC_SEG_ON
;
IC2_SEG0
53
=
IC_SEG_ON
;
}
}
else
else
{
{
IC2_SEG0
35
=
IC_SEG_OFF
;
IC2_SEG0
53
=
IC_SEG_OFF
;
}
}
if
(
Bit_Is_Set
(
m8
,
2
))
if
(
Bit_Is_Set
(
m8
,
2
))
{
{
IC2_SEG0
79
=
IC_SEG_ON
;
IC2_SEG0
51
=
IC_SEG_ON
;
}
}
else
else
{
{
IC2_SEG0
79
=
IC_SEG_OFF
;
IC2_SEG0
51
=
IC_SEG_OFF
;
}
}
if
(
Bit_Is_Set
(
m8
,
3
))
if
(
Bit_Is_Set
(
m8
,
3
))
{
{
IC2_SEG0
78
=
IC_SEG_ON
;
IC2_SEG0
50
=
IC_SEG_ON
;
}
}
else
else
{
{
IC2_SEG0
78
=
IC_SEG_OFF
;
IC2_SEG0
50
=
IC_SEG_OFF
;
}
}
if
(
Bit_Is_Set
(
m8
,
5
))
if
(
Bit_Is_Set
(
m8
,
4
))
{
{
IC2_SEG0
37
=
IC_SEG_ON
;
IC2_SEG0
49
=
IC_SEG_ON
;
}
}
else
else
{
{
IC2_SEG0
37
=
IC_SEG_OFF
;
IC2_SEG0
49
=
IC_SEG_OFF
;
}
}
if
(
Bit_Is_Set
(
m8
,
4
))
if
(
Bit_Is_Set
(
m8
,
5
))
{
{
IC2_SEG0
39
=
IC_SEG_ON
;
IC2_SEG0
48
=
IC_SEG_ON
;
}
}
else
else
{
{
IC2_SEG0
39
=
IC_SEG_OFF
;
IC2_SEG0
48
=
IC_SEG_OFF
;
}
}
if
(
Bit_Is_Set
(
m8
,
6
))
if
(
Bit_Is_Set
(
m8
,
6
))
{
{
IC2_SEG0
38
=
IC_SEG_ON
;
IC2_SEG0
52
=
IC_SEG_ON
;
}
}
else
else
{
{
IC2_SEG0
38
=
IC_SEG_OFF
;
IC2_SEG0
52
=
IC_SEG_OFF
;
}
}
Num
=
m_hour
%
10u
;
/*百位*/
m8
=
SEG_DISPLAY_NUMBER0
[
Num
];
Num
=
(
m_NUM
/
100u
)
%
10u
;
if
(
m_NUM
>
100
)
{
m8
=
SEG_DISPLAY_NUMBER0
[
Num
];
}
else
{
m8
=
SEG_UNDISPLAY_NUMBER0
[
Num
];
}
if
(
Bit_Is_Set
(
m8
,
0
))
if
(
Bit_Is_Set
(
m8
,
0
))
{
{
IC2_SEG0
33
=
IC_SEG_ON
;
IC2_SEG0
61
=
IC_SEG_ON
;
}
}
else
else
{
{
IC2_SEG0
33
=
IC_SEG_OFF
;
IC2_SEG0
61
=
IC_SEG_OFF
;
}
}
if
(
Bit_Is_Set
(
m8
,
1
))
if
(
Bit_Is_Set
(
m8
,
1
))
{
{
IC2_SEG0
32
=
IC_SEG_ON
;
IC2_SEG0
60
=
IC_SEG_ON
;
}
}
else
else
{
{
IC2_SEG0
32
=
IC_SEG_OFF
;
IC2_SEG0
60
=
IC_SEG_OFF
;
}
}
if
(
Bit_Is_Set
(
m8
,
2
))
if
(
Bit_Is_Set
(
m8
,
2
))
{
{
IC2_SEG0
83
=
IC_SEG_ON
;
IC2_SEG0
58
=
IC_SEG_ON
;
}
}
else
else
{
{
IC2_SEG0
83
=
IC_SEG_OFF
;
IC2_SEG0
58
=
IC_SEG_OFF
;
}
}
if
(
Bit_Is_Set
(
m8
,
3
))
if
(
Bit_Is_Set
(
m8
,
3
))
{
{
IC2_SEG0
82
=
IC_SEG_ON
;
IC2_SEG0
57
=
IC_SEG_ON
;
}
}
else
else
{
{
IC2_SEG0
82
=
IC_SEG_OFF
;
IC2_SEG0
57
=
IC_SEG_OFF
;
}
}
if
(
Bit_Is_Set
(
m8
,
5
))
if
(
Bit_Is_Set
(
m8
,
4
))
{
{
IC2_SEG0
34
=
IC_SEG_ON
;
IC2_SEG0
56
=
IC_SEG_ON
;
}
}
else
else
{
{
IC2_SEG0
34
=
IC_SEG_OFF
;
IC2_SEG0
56
=
IC_SEG_OFF
;
}
}
if
(
Bit_Is_Set
(
m8
,
4
))
if
(
Bit_Is_Set
(
m8
,
5
))
{
{
IC2_SEG0
81
=
IC_SEG_ON
;
IC2_SEG0
55
=
IC_SEG_ON
;
}
}
else
else
{
{
IC2_SEG0
81
=
IC_SEG_OFF
;
IC2_SEG0
55
=
IC_SEG_OFF
;
}
}
if
(
Bit_Is_Set
(
m8
,
6
))
if
(
Bit_Is_Set
(
m8
,
6
))
{
{
IC2_SEG0
80
=
IC_SEG_ON
;
IC2_SEG0
59
=
IC_SEG_ON
;
}
}
else
else
{
{
IC2_SEG0
80
=
IC_SEG_OFF
;
IC2_SEG0
59
=
IC_SEG_OFF
;
}
}
}
/*十位*/
else
Num
=
(
m_NUM
/
10u
)
%
10u
;
{
if
(
m_NUM
>
10
)
IC2_SEG036
=
IC_SEG_OFF
;
{
IC2_SEG035
=
IC_SEG_OFF
;
m8
=
SEG_DISPLAY_NUMBER0
[
Num
];
IC2_SEG079
=
IC_SEG_OFF
;
IC2_SEG069
=
IC_SEG_ON
;
IC2_SEG078
=
IC_SEG_OFF
;
}
IC2_SEG039
=
IC_SEG_OFF
;
else
IC2_SEG037
=
IC_SEG_OFF
;
{
IC2_SEG038
=
IC_SEG_OFF
;
m8
=
SEG_UNDISPLAY_NUMBER0
[
Num
];
IC2_SEG033
=
IC_SEG_OFF
;
IC2_SEG069
=
IC_SEG_OFF
;
IC2_SEG032
=
IC_SEG_OFF
;
}
IC2_SEG083
=
IC_SEG_OFF
;
IC2_SEG082
=
IC_SEG_OFF
;
IC2_SEG081
=
IC_SEG_OFF
;
IC2_SEG034
=
IC_SEG_OFF
;
IC2_SEG080
=
IC_SEG_OFF
;
}
if
(
m_Flag2
==
1u
)
{
Num
=
m_minute
/
10u
;
m8
=
SEG_DISPLAY_NUMBER0
[
Num
];
if
(
Bit_Is_Set
(
m8
,
0
))
if
(
Bit_Is_Set
(
m8
,
0
))
{
{
IC2_SEG0
30
=
IC_SEG_ON
;
IC2_SEG0
68
=
IC_SEG_ON
;
}
}
else
else
{
{
IC2_SEG0
30
=
IC_SEG_OFF
;
IC2_SEG0
68
=
IC_SEG_OFF
;
}
}
if
(
Bit_Is_Set
(
m8
,
1
))
if
(
Bit_Is_Set
(
m8
,
1
))
{
{
IC2_SEG0
29
=
IC_SEG_ON
;
IC2_SEG0
67
=
IC_SEG_ON
;
}
}
else
else
{
{
IC2_SEG0
29
=
IC_SEG_OFF
;
IC2_SEG0
67
=
IC_SEG_OFF
;
}
}
if
(
Bit_Is_Set
(
m8
,
2
))
if
(
Bit_Is_Set
(
m8
,
2
))
{
{
IC2_SEG0
88
=
IC_SEG_ON
;
IC2_SEG0
66
=
IC_SEG_ON
;
}
}
else
else
{
{
IC2_SEG0
88
=
IC_SEG_OFF
;
IC2_SEG0
66
=
IC_SEG_OFF
;
}
}
if
(
Bit_Is_Set
(
m8
,
3
))
if
(
Bit_Is_Set
(
m8
,
3
))
{
{
IC2_SEG0
87
=
IC_SEG_ON
;
IC2_SEG0
65
=
IC_SEG_ON
;
}
}
else
else
{
{
IC2_SEG0
87
=
IC_SEG_OFF
;
IC2_SEG0
65
=
IC_SEG_OFF
;
}
}
if
(
Bit_Is_Set
(
m8
,
5
))
if
(
Bit_Is_Set
(
m8
,
4
))
{
{
IC2_SEG0
31
=
IC_SEG_ON
;
IC2_SEG0
64
=
IC_SEG_ON
;
}
}
else
else
{
{
IC2_SEG0
31
=
IC_SEG_OFF
;
IC2_SEG0
64
=
IC_SEG_OFF
;
}
}
if
(
Bit_Is_Set
(
m8
,
4
))
if
(
Bit_Is_Set
(
m8
,
5
))
{
{
IC2_SEG0
86
=
IC_SEG_ON
;
IC2_SEG0
62
=
IC_SEG_ON
;
}
}
else
else
{
{
IC2_SEG0
86
=
IC_SEG_OFF
;
IC2_SEG0
62
=
IC_SEG_OFF
;
}
}
if
(
Bit_Is_Set
(
m8
,
6
))
if
(
Bit_Is_Set
(
m8
,
6
))
{
{
IC2_SEG0
85
=
IC_SEG_ON
;
IC2_SEG0
63
=
IC_SEG_ON
;
}
}
else
else
{
{
IC2_SEG0
85
=
IC_SEG_OFF
;
IC2_SEG0
63
=
IC_SEG_OFF
;
}
}
Num
=
m_minute
%
10u
;
/*个位*/
Num
=
m_NUM
%
10u
;
m8
=
SEG_DISPLAY_NUMBER0
[
Num
];
m8
=
SEG_DISPLAY_NUMBER0
[
Num
];
if
(
Bit_Is_Set
(
m8
,
0
))
if
(
Bit_Is_Set
(
m8
,
0
))
{
{
IC2_SEG0
27
=
IC_SEG_ON
;
IC2_SEG0
76
=
IC_SEG_ON
;
}
}
else
else
{
{
IC2_SEG0
27
=
IC_SEG_OFF
;
IC2_SEG0
76
=
IC_SEG_OFF
;
}
}
if
(
Bit_Is_Set
(
m8
,
1
))
if
(
Bit_Is_Set
(
m8
,
1
))
{
{
IC2_SEG0
26
=
IC_SEG_ON
;
IC2_SEG0
75
=
IC_SEG_ON
;
}
}
else
else
{
{
IC2_SEG0
26
=
IC_SEG_OFF
;
IC2_SEG0
75
=
IC_SEG_OFF
;
}
}
if
(
Bit_Is_Set
(
m8
,
2
))
if
(
Bit_Is_Set
(
m8
,
2
))
{
{
IC2_SEG0
92
=
IC_SEG_ON
;
IC2_SEG0
73
=
IC_SEG_ON
;
}
}
else
else
{
{
IC2_SEG0
92
=
IC_SEG_OFF
;
IC2_SEG0
73
=
IC_SEG_OFF
;
}
}
if
(
Bit_Is_Set
(
m8
,
3
))
if
(
Bit_Is_Set
(
m8
,
3
))
{
{
IC2_SEG0
91
=
IC_SEG_ON
;
IC2_SEG0
72
=
IC_SEG_ON
;
}
}
else
else
{
{
IC2_SEG0
91
=
IC_SEG_OFF
;
IC2_SEG0
72
=
IC_SEG_OFF
;
}
}
if
(
Bit_Is_Set
(
m8
,
5
))
if
(
Bit_Is_Set
(
m8
,
4
))
{
{
IC2_SEG0
28
=
IC_SEG_ON
;
IC2_SEG0
71
=
IC_SEG_ON
;
}
}
else
else
{
{
IC2_SEG0
28
=
IC_SEG_OFF
;
IC2_SEG0
71
=
IC_SEG_OFF
;
}
}
if
(
Bit_Is_Set
(
m8
,
4
))
if
(
Bit_Is_Set
(
m8
,
5
))
{
{
IC2_SEG0
9
0
=
IC_SEG_ON
;
IC2_SEG0
7
0
=
IC_SEG_ON
;
}
}
else
else
{
{
IC2_SEG0
9
0
=
IC_SEG_OFF
;
IC2_SEG0
7
0
=
IC_SEG_OFF
;
}
}
if
(
Bit_Is_Set
(
m8
,
6
))
if
(
Bit_Is_Set
(
m8
,
6
))
{
{
IC2_SEG0
89
=
IC_SEG_ON
;
IC2_SEG0
74
=
IC_SEG_ON
;
}
}
else
else
{
{
IC2_SEG0
89
=
IC_SEG_OFF
;
IC2_SEG0
74
=
IC_SEG_OFF
;
}
}
}
}
else
else
{
{
IC2_SEG030
=
IC_SEG_OFF
;
IC2_SEG041
=
IC_SEG_OFF
;
IC2_SEG029
=
IC_SEG_OFF
;
IC2_SEG042
=
IC_SEG_OFF
;
IC2_SEG088
=
IC_SEG_OFF
;
IC2_SEG043
=
IC_SEG_OFF
;
IC2_SEG087
=
IC_SEG_OFF
;
IC2_SEG044
=
IC_SEG_OFF
;
IC2_SEG086
=
IC_SEG_OFF
;
IC2_SEG045
=
IC_SEG_OFF
;
IC2_SEG031
=
IC_SEG_OFF
;
IC2_SEG046
=
IC_SEG_OFF
;
IC2_SEG085
=
IC_SEG_OFF
;
IC2_SEG047
=
IC_SEG_OFF
;
IC2_SEG027
=
IC_SEG_OFF
;
IC2_SEG048
=
IC_SEG_OFF
;
IC2_SEG026
=
IC_SEG_OFF
;
IC2_SEG049
=
IC_SEG_OFF
;
IC2_SEG092
=
IC_SEG_OFF
;
IC2_SEG050
=
IC_SEG_OFF
;
IC2_SEG091
=
IC_SEG_OFF
;
IC2_SEG051
=
IC_SEG_OFF
;
IC2_SEG090
=
IC_SEG_OFF
;
IC2_SEG052
=
IC_SEG_OFF
;
IC2_SEG028
=
IC_SEG_OFF
;
IC2_SEG053
=
IC_SEG_OFF
;
IC2_SEG089
=
IC_SEG_OFF
;
IC2_SEG054
=
IC_SEG_OFF
;
IC2_SEG055
=
IC_SEG_OFF
;
IC2_SEG056
=
IC_SEG_OFF
;
IC2_SEG057
=
IC_SEG_OFF
;
IC2_SEG058
=
IC_SEG_OFF
;
IC2_SEG059
=
IC_SEG_OFF
;
IC2_SEG060
=
IC_SEG_OFF
;
IC2_SEG061
=
IC_SEG_OFF
;
IC2_SEG062
=
IC_SEG_OFF
;
IC2_SEG063
=
IC_SEG_OFF
;
IC2_SEG064
=
IC_SEG_OFF
;
IC2_SEG065
=
IC_SEG_OFF
;
IC2_SEG066
=
IC_SEG_OFF
;
IC2_SEG067
=
IC_SEG_OFF
;
IC2_SEG068
=
IC_SEG_OFF
;
IC2_SEG069
=
IC_SEG_OFF
;
IC2_SEG070
=
IC_SEG_OFF
;
IC2_SEG071
=
IC_SEG_OFF
;
IC2_SEG072
=
IC_SEG_OFF
;
IC2_SEG073
=
IC_SEG_OFF
;
IC2_SEG074
=
IC_SEG_OFF
;
IC2_SEG075
=
IC_SEG_OFF
;
IC2_SEG076
=
IC_SEG_OFF
;
IC2_SEG077
=
IC_SEG_OFF
;
}
}
m_Res
=
EX_OK
;
m_Res
=
EX_OK
;
}
}
return
m_Res
;
return
m_Res
;
}
}
// uint8_t check_SEG_step = 0;
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
;
void
SEG_Scan_SET_EspeedDial
(
void
)
{
uint16_t
a
=
0
;
a
=
(
Espeed_check_SEG_step
/
2
)
*
100
;
// SEG_SET_EspeedDial(1, a / 1000, a);
}
uint8_t
check_SEG_step
=
0
;
///*仪表段码扫描函数*/
///*仪表段码扫描函数*/
// void Check_SEG_Display(void)
// void Check_SEG_Display(void)
...
@@ -2742,39 +2420,24 @@ void Checkself_Init(void)
...
@@ -2742,39 +2420,24 @@ void Checkself_Init(void)
{
{
Checkself_SEG_step
=
0
;
Checkself_SEG_step
=
0
;
Checkself_SEG_step_count
=
0
;
Checkself_SEG_step_count
=
0
;
check_SEG_step
=
0
;
Espeed_check_SEG_step
=
0
;
fuel_check_SEG_step
=
0
;
}
}
uint8_t
soc_all
=
0
;
void
Checkself_SEG_Display
(
void
)
void
Checkself_SEG_Display
(
void
)
{
{
uint16_t
Vspeed
=
0
;
// uint16_t Fuel = 0;
uint16_t
Espeed
=
0
;
uint16_t
Fuel
=
0
;
uint16_t
Trip
=
0
;
uint16_t
Trip
=
0
;
uint16_t
hour
=
0
;
uint16_t
hour
=
0
;
uint16_t
min
=
0
;
uint16_t
min
=
0
;
uint32_t
ODO
=
0
;
uint32_t
ODO
=
0
;
soc_all
=
(
Checkself_SEG_step
/
3
)
*
11
+
100
;
Fuel
=
Checkself_SEG_step
/
5u
;
uint32_t
allhour
=
(
Checkself_SEG_step
/
3
)
*
11111
;
SEG_SET_FuelDial
(
1
,
Fuel
);
// 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_EleDial_AllSOC
(
1
,
soc_all
);
SEG_SET_EleDial_2SOC
(
1
,(
Checkself_SEG_step
/
3
)
+
1
);
Vspeed
=
Checkself_SEG_step
*
7
;
SEG_SET_EleDial_1SOC
(
1
,(
Checkself_SEG_step
/
3
)
+
1
);
if
(
Vspeed
>
198
)
SEG_SET_Clock_ALL
(
1
,
allhour
);
{
Vspeed
=
198
;
}
Trip
=
(
Checkself_SEG_step
/
3
)
*
1111
;
SEG_SET_TRIP_NUM
(
1
,
Trip
);
ODO
=
(
Checkself_SEG_step
/
3
)
*
111111
;
SEG_SET_ODO_NUM
(
1
,
ODO
);
hour
=
(
Checkself_SEG_step
/
3
)
*
11
;
hour
=
(
Checkself_SEG_step
/
3
)
*
11
;
min
=
(
Checkself_SEG_step
/
3
)
*
11
;
min
=
(
Checkself_SEG_step
/
3
)
*
11
;
SEG_SET_Clock
(
hour
,
min
,
1
,
1
,
1
);
SEG_SET_Clock
(
hour
,
min
,
1
,
1
,
1
);
...
@@ -2827,6 +2490,8 @@ void Checkself_SEG_Display(void)
...
@@ -2827,6 +2490,8 @@ void Checkself_SEG_Display(void)
if
(
Checkself_SEG_step
==
0
)
if
(
Checkself_SEG_step
==
0
)
{
{
Checkself_SEG_step
=
0
;
Checkself_SEG_step
=
0
;
SEG_SET_EleDial_2SOC
(
1
,
0
);
SEG_SET_EleDial_1SOC
(
1
,
0
);
}
}
else
else
{
{
...
...
Firmware/Source/Application/SEG_DISPLAY/SEG_DISPLAY.h
View file @
a085e505
...
@@ -46,11 +46,17 @@ _Fun_Res SEG_SET_Frame(uint8_t m_Flag);
...
@@ -46,11 +46,17 @@ _Fun_Res SEG_SET_Frame(uint8_t m_Flag);
/**@brief 挡位显示函数*/
/**@brief 挡位显示函数*/
_Fun_Res
SEG_SET_GEAR
(
uint8_t
m_Gear_Flag
,
uint8_t
m_Gear
);
_Fun_Res
SEG_SET_GEAR
(
uint8_t
m_Gear_Flag
,
uint8_t
m_Gear
);
/**@brief 电量表盘显示函数*/
/**@brief 电量表盘
1SOC
显示函数*/
_Fun_Res
SEG_SET_EleDial
(
uint8_t
m_Flag
,
uint8_t
m_SEG
,
uint16_t
m_NUM
);
_Fun_Res
SEG_SET_EleDial
_1SOC
(
uint8_t
m_Flag
,
uint8_t
m_SEG
);
/**@brief 燃油表盘显示函数*/
/**@brief 电量表盘2SOC显示函数*/
_Fun_Res
SEG_SET_FuelDial
(
uint8_t
m_Flag
,
uint8_t
m_SEG
);
_Fun_Res
SEG_SET_EleDial_2SOC
(
uint8_t
m_Flag
,
uint8_t
m_SEG
);
/**@brief 电量表盘AllSOC显示函数*/
_Fun_Res
SEG_SET_EleDial_AllSOC
(
uint8_t
m_Flag
,
uint16_t
m_NUM
);
// /**@brief 燃油表盘显示函数*/
// _Fun_Res SEG_SET_FuelDial(uint8_t m_Flag,uint8_t m_SEG);
/**@brief 转速表盘显示函数*/
/**@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);
...
@@ -67,21 +73,18 @@ _Fun_Res SEG_SET_VSpeed_NUM(uint8_t m_Flag , uint16_t m_NUM);
...
@@ -67,21 +73,18 @@ _Fun_Res SEG_SET_VSpeed_NUM(uint8_t m_Flag , uint16_t m_NUM);
/**@brief L8字段显示函数*/
/**@brief L8字段显示函数*/
_Fun_Res
SEG_SET_L8_NUM
(
uint8_t
m_Flag
,
uint8_t
m_NUM
);
_Fun_Res
SEG_SET_L8_NUM
(
uint8_t
m_Flag
,
uint8_t
m_NUM
);
/**@brief 总计里程显示函数*/
_Fun_Res
SEG_SET_ODO_NUM
(
uint8_t
m_Flag
,
uint32_t
m_NUM
);
/**@brief 小计里程显示函数*/
_Fun_Res
SEG_SET_TRIP_NUM
(
uint8_t
m_Flag
,
uint16_t
m_NUM
);
/**@brief 故障码显示函数*/
/**@brief 故障码显示函数*/
_Fun_Res
SEG_SET_Fault_Code
(
uint8_t
m_Flag
,
uint16_t
m_NUM
);
_Fun_Res
SEG_SET_Fault_Code
(
uint8_t
m_Flag
,
uint16_t
m_NUM
);
/**@brief 时间显示函数*/
/**@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
);
_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
);
/**@brief 累计时间显示函数*/
_Fun_Res
SEG_SET_Clock_ALL
(
uint8_t
m_Flag
,
uint32_t
m_NUM
);
uint8_t
Check_SEG_Display
(
void
);
uint8_t
Check_SEG_Display
(
void
);
extern
uint8_t
check_SEG_step
;
...
...
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