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] = ...@@ -556,7 +556,7 @@ const st_CANMsgAttribute CAN_CH0_CAN_MSG_CONST_ARRAY[CAN_CH0_ID_TOTAL_MAX] =
20000ul, 20000ul,
0x339ul, 0x339ul,
(( void * )0), (( void * )0),
(( void * )0), (CAN_0x339_Receive),
(( void * )0), (( void * )0),
}, },
{ {
......
...@@ -662,3 +662,7 @@ void CAN_0x170_Receive(uint8_t CopyData []) ...@@ -662,3 +662,7 @@ void CAN_0x170_Receive(uint8_t CopyData [])
#endif #endif
} }
void CAN_0x339_Receive(uint8_t CopyData [])
{
g_u8ID339flag = 1U;
}
...@@ -45,5 +45,6 @@ extern void CAN_0x220_Receive(uint8_t CopyData []); ...@@ -45,5 +45,6 @@ extern void CAN_0x220_Receive(uint8_t CopyData []);
extern void CAN_0x16B_Receive(uint8_t CopyData []); extern void CAN_0x16B_Receive(uint8_t CopyData []);
extern void CAN_0x22F_Receive(uint8_t CopyData []); extern void CAN_0x22F_Receive(uint8_t CopyData []);
extern void CAN_0x170_Receive(uint8_t CopyData []); extern void CAN_0x170_Receive(uint8_t CopyData []);
extern void CAN_0x339_Receive(uint8_t CopyData []);
#endif #endif
...@@ -4,6 +4,7 @@ ...@@ -4,6 +4,7 @@
DataTimeStruct_st_t Time; DataTimeStruct_st_t Time;
uint16_t u16EngineTimeCount; uint16_t u16EngineTimeCount;
uint8_t g_u8ID339flag = 0U;
void Data_Time_KL30_Init(void) void Data_Time_KL30_Init(void)
{ {
...@@ -13,6 +14,7 @@ void Data_Time_KL30_Init(void) ...@@ -13,6 +14,7 @@ void Data_Time_KL30_Init(void)
Time.SingleValid = 0U; Time.SingleValid = 0U;
Time.KeepTimeCount = 0U; Time.KeepTimeCount = 0U;
u16EngineTimeCount = 0U; u16EngineTimeCount = 0U;
g_u8ID339flag = 0U;
} }
void Data_Time_KL15_Init(void) void Data_Time_KL15_Init(void)
...@@ -21,10 +23,11 @@ void Data_Time_KL15_Init(void) ...@@ -21,10 +23,11 @@ void Data_Time_KL15_Init(void)
uint32_t u32Data_read[1] = {0}; uint32_t u32Data_read[1] = {0};
Time.KeepTimeCount = 0U; Time.KeepTimeCount = 0U;
u16EngineTimeCount = 0U; u16EngineTimeCount = 0U;
g_u8ID339flag = 0U;
#if (PART_NUMBER == G54_A01) #if (PART_NUMBER == G54_A01)
for(uint8_t i = 0U; i < 3U; i++ ) 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) if(u16Result == 0x2U)
{ {
break; break;
...@@ -106,7 +109,7 @@ void Data_Time_Total_Working_Hours(void) ...@@ -106,7 +109,7 @@ void Data_Time_Total_Working_Hours(void)
uint16_t u16Result = 0U; uint16_t u16Result = 0U;
uint32_t AccumulatedWorkHours = 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(); AccumulatedWorkHours = (uint32_t) Get_CAN_CH0_ID_339_Sig_MMCU_AccumulatedWorkHours();
if(AccumulatedWorkHours != Time.TotalHour) if(AccumulatedWorkHours != Time.TotalHour)
......
...@@ -16,6 +16,7 @@ typedef struct //__attribute__((aligned(4))) ...@@ -16,6 +16,7 @@ typedef struct //__attribute__((aligned(4)))
}DataTimeStruct_st_t; }DataTimeStruct_st_t;
extern uint8_t g_u8ID339flag;
extern void Data_Time_KL30_Init(void); extern void Data_Time_KL30_Init(void);
extern void Data_Time_KL15_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