Commit 6c520d78 authored by 李冠华's avatar 李冠华

🐞 fix:修改累计工作时长从E方获取后被改的问题

parent 6c0643c3
......@@ -556,7 +556,7 @@ const st_CANMsgAttribute CAN_CH0_CAN_MSG_CONST_ARRAY[CAN_CH0_ID_TOTAL_MAX] =
20000ul,
0x339ul,
(( void * )0),
(( void * )0),
(CAN_0x339_Receive),
(( void * )0),
},
{
......
......@@ -662,3 +662,7 @@ void CAN_0x170_Receive(uint8_t CopyData [])
#endif
}
void CAN_0x339_Receive(uint8_t CopyData [])
{
g_u8ID339flag = 1U;
}
......@@ -45,5 +45,6 @@ extern void CAN_0x220_Receive(uint8_t CopyData []);
extern void CAN_0x16B_Receive(uint8_t CopyData []);
extern void CAN_0x22F_Receive(uint8_t CopyData []);
extern void CAN_0x170_Receive(uint8_t CopyData []);
extern void CAN_0x339_Receive(uint8_t CopyData []);
#endif
......@@ -4,6 +4,7 @@
DataTimeStruct_st_t Time;
uint16_t u16EngineTimeCount;
uint8_t g_u8ID339flag = 0U;
void Data_Time_KL30_Init(void)
{
......@@ -13,6 +14,7 @@ void Data_Time_KL30_Init(void)
Time.SingleValid = 0U;
Time.KeepTimeCount = 0U;
u16EngineTimeCount = 0U;
g_u8ID339flag = 0U;
}
void Data_Time_KL15_Init(void)
......@@ -21,10 +23,11 @@ void Data_Time_KL15_Init(void)
uint32_t u32Data_read[1] = {0};
Time.KeepTimeCount = 0U;
u16EngineTimeCount = 0U;
g_u8ID339flag = 0U;
#if (PART_NUMBER == G54_A01)
for(uint8_t i = 0U; i < 3U; i++ )
{
eeprom_ReadRecord(EEPROM_BLOCK_00, (uint8_t *)u32Data_read, 4);
u16Result = eeprom_ReadRecord(EEPROM_BLOCK_00, (uint8_t *)u32Data_read, 4);
if(u16Result == 0x2U)
{
break;
......@@ -106,7 +109,7 @@ void Data_Time_Total_Working_Hours(void)
uint16_t u16Result = 0U;
uint32_t AccumulatedWorkHours = 0U;
if (CAN_MSG_Status(&CAN_CH0_CanMsgOp, Co_Can_ConvertSubID_CAN_CH0(CAN_CH0_ID_CAN_0x339_Msg)) == CAN_SIG_NORMAL)
if ((CAN_MSG_Status(&CAN_CH0_CanMsgOp, Co_Can_ConvertSubID_CAN_CH0(CAN_CH0_ID_CAN_0x339_Msg)) == CAN_SIG_NORMAL) && (g_u8ID339flag == 1U))
{
AccumulatedWorkHours = (uint32_t) Get_CAN_CH0_ID_339_Sig_MMCU_AccumulatedWorkHours();
if(AccumulatedWorkHours != Time.TotalHour)
......
......@@ -16,6 +16,7 @@ typedef struct //__attribute__((aligned(4)))
}DataTimeStruct_st_t;
extern uint8_t g_u8ID339flag;
extern void Data_Time_KL30_Init(void);
extern void Data_Time_KL15_Init(void);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment