Commit 7134ed56 authored by 张金硕's avatar 张金硕

🐞 fix:更换故障码文件,修复故障码的bug

parent dc80ae3d
#include "FaultCode.h" #include "FaultCode.h"
#include "CAN_CH0_CAN_Communication_Matrix.h" #include "CAN_CH0_CAN_Communication_Matrix.h"
static _st_Init FaultCodeInit; FaultCodeList_t FaultCode_t;
static uint16_t u16FaultCodeDtcCount = 0; uint32_t FaultCodeList [MaxFaultCode];
static uint16_t u16FaultCodeDtcCountBack = 0;
static uint16_t u16FaultCodeDtcCounttemp = 0;
static _st_FaultCode stFaultCode[MaxFaultCode] = {0};
static _st_FaultCode stFaultCodeBack[MaxFaultCode] = {0};
static _st_FaultCode stFaultCodetemp[MaxFaultCode] = {0};
static uint8_t u8FaultCodeValid = 0; static uint8_t u8FaultCodeValid = 0;
uint32_t Get_FaultCodeDtc1(void) uint32_t Get_FaultCodeDtc1(void)
{ {
...@@ -75,10 +70,10 @@ uint32_t Get_FaultCodeDtc1(void) ...@@ -75,10 +70,10 @@ uint32_t Get_FaultCodeDtc1(void)
// DTC1 |= DTCM1 & 0xF; // DTC1 |= DTCM1 & 0xF;
// } // }
if (DTC1 == 0) // if (DTC1 == 0)
{ // {
return 0XFFFF; // return 0XFFFF;
} // }
u16FaultCode = DTC1; u16FaultCode = DTC1;
...@@ -148,226 +143,163 @@ uint32_t Get_FaultCodeDtc2(void) ...@@ -148,226 +143,163 @@ uint32_t Get_FaultCodeDtc2(void)
// DTC2 |= DTCM2 & 0xF; // DTC2 |= DTCM2 & 0xF;
// } // }
if (DTC2 == 0) // if (DTC2 == 0)
{ // {
return 0XFFFF; // return 0XFFFF;
} // }
u16FaultCode = DTC2; u16FaultCode = DTC2;
return u16FaultCode; return u16FaultCode;
} }
uint16_t Get_FaultCodeNum(void) /**
* @brief 故障码初始化函数
*/
void FaultCode_Init(void)
{ {
uint16_t u16FaultCode = 0x0000; FaultCode_t.Get_FaultCode1_cbk = Get_FaultCodeDtc1;
FaultCode_t.Get_FaultCode2_cbk = Get_FaultCodeDtc2;
u16FaultCode = Get_CAN_CH0_ID_402_Sig_ECU_DTC1Amnt(); FaultCode_t.Get_FaultCodeNum_cbk = Get_CAN_CH0_ID_402_Sig_ECU_DTC1Amnt;
return u16FaultCode; FaultCode_t.disp_timer = DISP_TIMER;
List_Init(&FaultCode_t, FaultCodeList, (uint8_t)MaxFaultCode);
} }
uint16_t Get_FaultCodeValid(void)
uint8_t List_GetNum(FaultCodeList_t *CodeList)
{ {
return 1; if(CodeList == NULL)
{
return 0;
}
return CodeList->tail - CodeList->hade;
} }
/** uint8_t List_Init(FaultCodeList_t *CodeList, uint32_t Arr[], uint8_t Len)
* @brief 故障码初始化函数
*/
void FaultCode_Init(void)
{ {
uint16_t i = 0; if((CodeList == NULL) || (Arr == NULL))
for (i = 0; i < MaxFaultCode; i++)
{ {
stFaultCode[i].u16FaultCode = 0; return 2;//空指针,初始化失败
stFaultCode[i].u16FaultCodeCount = 0;
stFaultCodeBack[i].u16FaultCode = 0;
stFaultCodeBack[i].u16FaultCodeCount = 0;
stFaultCodetemp[i].u16FaultCode = 0;
stFaultCodetemp[i].u16FaultCodeCount = 0;
} }
if(Len < 1)
FaultCodeInit.callbacks[DTC1] = Get_FaultCodeDtc1; {
FaultCodeInit.callbacks[DTC2] = Get_FaultCodeDtc2; return 1;//列表空
FaultCodeInit.callbacks[DTC3] = NULL; }
FaultCodeInit.FaultCodeVaildCbk = Get_FaultCodeValid; CodeList->code_list = Arr;
FaultCodeInit.FaultCodeNumCbk = Get_FaultCodeNum; CodeList->len = Len;
CodeList->hade = 0;
u16FaultCodeDtcCountBack = 0; CodeList->code_num = 0;
u8FaultCodeValid = 0; CodeList->tail = 0;
CodeList->disp = 0;
CodeList->TimeCount = 0;
return 0;
} }
/** uint8_t List_Find(FaultCodeList_t *CodeList, uint32_t FaultCode)
* @brief 查询当前故障码是否存在
* @param u32FaultCode 故障码
* @param FaultCodeGrpup 故障码组
* @param len 故障码组长度
* @return 0:存在 1:不存在 2:无效故障码不存储
*/
uint8_t FaultCode_Check(const uint32_t u32FaultCode, const _st_FaultCode *FaultCodeGrpup, const uint16_t len)
{ {
uint16_t i = 0; if(CodeList == NULL)
uint8_t Result = 1;
if ((u32FaultCode == 0XFFFF) || (u32FaultCode == 0))
{ {
return 2; return 2;
} }
if(List_GetNum(CodeList) == 0)
if (len == 1)
{ {
return 1; return 0;
} }
for(int i=CodeList->hade; i<CodeList->tail; i++)
for (i = 0; i < len; i++)
{ {
if (u32FaultCode == FaultCodeGrpup[i].u16FaultCode) if(CodeList->code_list[i] == FaultCode)
{ {
Result = 0; return 1;
return Result;
} }
} }
return 0;
return Result;
} }
/** uint8_t List_add(FaultCodeList_t *CodeList, uint32_t FaultCode)
* 添加新的故障码到故障码数组中。
* @param faultCodes 指向故障码数组的指针。
* @param count 指向当前已添加故障码数量的指针。
* @param faultCode 要添加的故障码。
* @param len 实际故障码数量,用于检测数组中是否存在当前故障码
* @note 如果故障码数组已满或者新的故障码已存在,则不添加。
*/
void AddNewFaultCode(_st_FaultCode *faultCodes, uint16_t *count, uint32_t faultCode, uint16_t len)
{ {
if (*count >= MaxFaultCode || FaultCode_Check(faultCode, faultCodes, len) != 1) if(CodeList == NULL)
{ {
return; // 数组已满或故障码已存在,不进行添加 return 3;
} }
faultCodes[*count].u16FaultCode = faultCode; if(FaultCode == 0)
(*count)++;
}
/**
* @brief 故障码服务函数
* @param Cycle 建议10ms调用 防止故障码数量过多 接收缓慢
*/
void FaultCode_Service(uint16_t Cycle)
{
uint32_t Dtc1 = 0XFFFF;
uint32_t Dtc2 = 0XFFFF;
uint32_t Dtc3 = 0XFFFF;
uint16_t FaultCodeSum = 0;
uint16_t i = 0;
uint32_t tempFaultCode = 0;
uint16_t Vaild = 0;
if (FaultCodeInit.callbacks[DTC1] != NULL)
{ {
Dtc1 = FaultCodeInit.callbacks[DTC1](); return 4;//无效值:0
} }
if((CodeList->tail+1) >= CodeList->len)
if (FaultCodeInit.callbacks[DTC2] != NULL)
{ {
Dtc2 = FaultCodeInit.callbacks[DTC2](); return 1;//列表满
} }
if(List_Find(CodeList, FaultCode) != 0)
if (FaultCodeInit.callbacks[DTC3] != NULL)
{ {
Dtc3 = FaultCodeInit.callbacks[DTC3](); return 2;//已存在
} }
CodeList->code_list[CodeList->tail] = FaultCode;
CodeList->tail++;
return 0;
}
if (FaultCodeInit.FaultCodeVaildCbk != NULL) uint8_t List_Clear(FaultCodeList_t *CodeList)
{
if(CodeList == NULL)
{ {
Vaild = FaultCodeInit.FaultCodeVaildCbk(); return 2;
} }
CodeList->hade = 0;
CodeList->tail = 0;
//CodeList->disp = 0;
//CodeList->code_num = 0;
return 0;
}
if (FaultCodeInit.FaultCodeNumCbk != NULL) //10ms
void FaultCode_Servers(void)
{
if(FaultCode_t.TimeCount < 2*FaultCode_t.disp_timer)
{ {
FaultCodeSum = FaultCodeInit.FaultCodeNumCbk(); FaultCode_t.TimeCount++;
} }
if (FaultCodeSum > MaxFaultCode) uint16_t FaultCodeNum = FaultCode_t.Get_FaultCodeNum_cbk();
if(FaultCode_t.code_num != FaultCodeNum)//故障码数量变化,清空
{ {
FaultCodeSum = MaxFaultCode; FaultCode_t.code_num = FaultCodeNum;
List_Clear(&FaultCode_t);
} }
if ((Vaild) && (FaultCodeSum > 0)) if((List_GetNum(&FaultCode_t) > FaultCodeNum) )//故障码变化,清空
{ {
if (u16FaultCodeDtcCountBack < FaultCodeSum) /* 当前存储故障码是否小于实际故障码数量 */ List_Clear(&FaultCode_t);
{ }
/* 存储故障码并检查数组中是否存在 */
AddNewFaultCode(stFaultCodeBack, &u16FaultCodeDtcCountBack, Dtc1, FaultCodeSum);
AddNewFaultCode(stFaultCodeBack, &u16FaultCodeDtcCountBack, Dtc2, FaultCodeSum);
}
/* 接收故障码大于0后进行显示 */ if(FaultCodeNum != 0)
if (u16FaultCodeDtcCountBack > 0) {
List_add(&FaultCode_t, FaultCode_t.Get_FaultCode1_cbk());
if(FaultCodeNum > 1)
{ {
/* 当前存储故障码等于实际故障码数量 用于实时更新故障码*/ List_add(&FaultCode_t, FaultCode_t.Get_FaultCode2_cbk());
if (u16FaultCodeDtcCountBack == FaultCodeSum)
{
u16FaultCodeDtcCountBack = 0;
}
/* 更新故障码显示 */
for (i = 0; i < FaultCodeSum; i++)
{
if (stFaultCodetemp[i].u16FaultCode != stFaultCodeBack[i].u16FaultCode)
{
stFaultCodetemp[i].u16FaultCode = stFaultCodeBack[i].u16FaultCode;
stFaultCode[i].u16FaultCode = stFaultCodetemp[i].u16FaultCode;
}
}
u8FaultCodeValid = 1;
/* 大于故障码数量的数组进行清0处理 */
for (i = FaultCodeSum; i < MaxFaultCode; i++)
{
stFaultCode[i].u16FaultCode = 0;
stFaultCodetemp[i].u16FaultCode = 0;
stFaultCodeBack[i].u16FaultCode = 0;
}
} }
}
}
if (stFaultCode[0].u16FaultCode != 0XFFFF) uint32_t List_Display(FaultCodeList_t *CodeList)
{ {
/* 故障码计时 */ if((CodeList == NULL) || (List_GetNum(CodeList) == 0))
if (stFaultCode[0].u16FaultCodeCount < FaultCodeCount) {
{ return 0;
stFaultCode[0].u16FaultCodeCount += Cycle;
}
else
{
/* 计时结束 更新位置 */
stFaultCode[0].u16FaultCodeCount = 0;
tempFaultCode = stFaultCode[0].u16FaultCode;
if (FaultCodeSum > 1)
{
for (i = 0; i < FaultCodeSum - 1; i++)
{
stFaultCode[i].u16FaultCode = stFaultCode[i + 1].u16FaultCode;
}
stFaultCode[FaultCodeSum - 1].u16FaultCode = tempFaultCode;
}
}
}
} }
else if(CodeList->TimeCount >= CodeList->disp_timer)
{ {
u8FaultCodeValid = 0; CodeList->TimeCount = 0;
for (i = 0; i < MaxFaultCode; i++) if(++(CodeList->disp) >= (CodeList->tail))
{ {
stFaultCode[i].u16FaultCode = 0; CodeList->disp = CodeList->hade;
stFaultCode[i].u16FaultCodeCount = 0;
stFaultCodeBack[i].u16FaultCode = 0;
stFaultCodeBack[i].u16FaultCodeCount = 0;
stFaultCodetemp[i].u16FaultCode = 0;
stFaultCodetemp[i].u16FaultCodeCount = 0;
} }
u16FaultCodeDtcCountBack = 0;
} }
return CodeList->code_list[CodeList->disp];
} }
/** /**
...@@ -375,27 +307,27 @@ void FaultCode_Service(uint16_t Cycle) ...@@ -375,27 +307,27 @@ void FaultCode_Service(uint16_t Cycle)
*/ */
uint32_t Get_Current_FaultCode(void) uint32_t Get_Current_FaultCode(void)
{ {
return stFaultCode[0].u16FaultCode; return List_Display(&FaultCode_t);
} }
uint8_t Get_Current_Hight_FaultCode(void) uint8_t Get_Current_Hight_FaultCode(void)
{ {
uint8_t u8FaultHight = 0; uint8_t u8FaultHight = 0;
u8FaultHight = ((stFaultCode[0].u16FaultCode)&(0xFF00))>>8; u8FaultHight = ((List_Display(&FaultCode_t))&(0xFF00))>>8;
return u8FaultHight; return u8FaultHight;
} }
uint8_t Get_Current_Mid_FaultCode(void) uint8_t Get_Current_Mid_FaultCode(void)
{ {
uint8_t u8FaultMid = 0; uint8_t u8FaultMid = 0;
u8FaultMid = ((stFaultCode[0].u16FaultCode)&(0x00FF)); u8FaultMid = ((List_Display(&FaultCode_t))&(0x00FF));
return u8FaultMid; return u8FaultMid;
} }
uint8_t Get_FaultCode_Valid(void) // uint8_t Get_FaultCode_Valid(void)
{ // {
return u8FaultCodeValid; // return u8FaultCodeValid;
} // }
/* /*
*NAME : Get_FaultCode_Lost() *NAME : Get_FaultCode_Lost()
*FUNCTION : 获取发送故障码的CAN是否掉线 *FUNCTION : 获取发送故障码的CAN是否掉线
......
...@@ -6,55 +6,40 @@ ...@@ -6,55 +6,40 @@
#include <string.h> #include <string.h>
/*故障码类型A can报文轮询发送方式*/
#define FaultCodeType_A 1
#define FaultCodeType FaultCodeType_A #define MaxFaultCode 72
#define MaxFaultCode 40
#define FaultCodeCount 5000 #define FaultCodeCount 5000
#define DISP_TIMER 500
typedef enum
{
DTC1,
DTC2,
DTC3,
NUM_FAULT_TYPES,
} FaultCodeType_Num;
typedef uint32_t (*FaultCodeCallback)(void); /* 故障码回调函数 */
typedef uint16_t (*FaultCodeNumback)(void); /* 故障码个数回调函数 */
typedef uint16_t (*FaultCodeValidback)(void); /* 故障码有效回调函数 */
typedef struct
{
uint32_t u16FaultCode; /* 故障码 */
uint16_t u16FaultCodeCount; /* 故障码总数 */
} _st_FaultCode;
typedef uint32_t(*Get_FaultCode)(void);
typedef struct typedef uint8_t(*Get_FaultCodeNum)(void);
typedef struct __attribute__((aligned(4)))
{ {
FaultCodeCallback callbacks[NUM_FAULT_TYPES]; uint32_t *code_list; //故障码列表
FaultCodeNumback FaultCodeNumCbk; uint8_t hade; //列表头
FaultCodeValidback FaultCodeVaildCbk; uint8_t tail; //列表尾
uint8_t code_num; //获取的故障码数量
} _st_Init; uint8_t len; //故障码列表最大长度
uint8_t disp; //故障码显示下标
uint16_t TimeCount; //故障码循环显示用的定时器
uint16_t disp_timer; //故障码显示的超时时间,超时显示下一个
Get_FaultCode Get_FaultCode1_cbk; //获取故障码的回调函数1
Get_FaultCode Get_FaultCode2_cbk; //获取故障码的回调函数2
Get_FaultCodeNum Get_FaultCodeNum_cbk; //获取故障码数量的回调函数
}FaultCodeList_t;
uint8_t List_Init(FaultCodeList_t *CodeList, uint32_t Arr[], uint8_t Len);
void FaultCode_Init(void);
extern void FaultCode_Service(uint16_t Cycle); void FaultCode_Servers(void);
extern void FaultCode_Init(void);
extern uint32_t Get_Current_FaultCode(void); extern uint32_t Get_Current_FaultCode(void);
extern uint8_t Get_Current_Hight_FaultCode(void); extern uint8_t Get_Current_Hight_FaultCode(void);
extern uint8_t Get_Current_Hight_FaultCode(void); extern uint8_t Get_Current_Mid_FaultCode(void);
extern uint8_t Get_FaultCode_Valid(void); // extern uint8_t Get_FaultCode_Valid(void);
#endif #endif
\ No newline at end of file
...@@ -33,7 +33,7 @@ void AMT630H_GUI_SETTING(void); ...@@ -33,7 +33,7 @@ void AMT630H_GUI_SETTING(void);
void AMT630H_GUI_Quit(void); void AMT630H_GUI_Quit(void);
void AMT630H_GUI_Phone_Connect(void); void AMT630H_GUI_Phone_Connect(void);
void AMT630H_GUI_Fault_Information(void); void AMT630H_GUI_Fault_Information(void);
void AMT630H_GUI_FaultCode(uint8_t FaultCodeLost,uint8_t FaultCodevalid,uint8_t FaultCode_hight,uint8_t FaultCode_mid); void AMT630H_GUI_FaultCode(uint8_t FaultCodeLost);
void AMT630H_GUI_Language_Information(void); void AMT630H_GUI_Language_Information(void);
void AMT630H_GUI_Unit_Information(void); void AMT630H_GUI_Unit_Information(void);
void AMT630H_GUI_Display_Mode_Information(void); void AMT630H_GUI_Display_Mode_Information(void);
...@@ -142,7 +142,7 @@ void AMT630H_GUI_Fault_Information(void) ...@@ -142,7 +142,7 @@ void AMT630H_GUI_Fault_Information(void)
SetPagePic(GRAPHICS_PAGE_0, Pic_0168_350_290); SetPagePic(GRAPHICS_PAGE_0, Pic_0168_350_290);
SetPagePic(GRAPHICS_PAGE_0, Pic_0169_353_227);/*历史故障*/ SetPagePic(GRAPHICS_PAGE_0, Pic_0169_353_227);/*历史故障*/
SetPagePic(GRAPHICS_PAGE_0, Pic_0170_354_162);/*当前故障*/ SetPagePic(GRAPHICS_PAGE_0, Pic_0170_354_162);/*当前故障*/
AMT630H_GUI_FaultCode(Get_FaultCode_Lost(),Get_FaultCode_Valid(),Get_Current_Hight_FaultCode(),Get_Current_Mid_FaultCode()); AMT630H_GUI_FaultCode(Get_FaultCode_Lost());
} }
else if(g_u8Language == EN) else if(g_u8Language == EN)
{ {
...@@ -159,7 +159,7 @@ void AMT630H_GUI_Fault_Information(void) ...@@ -159,7 +159,7 @@ void AMT630H_GUI_Fault_Information(void)
SetPagePic(GRAPHICS_PAGE_0, Pic_0096_338_228);/*Fault history*/ SetPagePic(GRAPHICS_PAGE_0, Pic_0096_338_228);/*Fault history*/
SetPagePic(GRAPHICS_PAGE_0, Pic_0097_334_163);/*current fault*/ SetPagePic(GRAPHICS_PAGE_0, Pic_0097_334_163);/*current fault*/
AMT630H_GUI_FaultCode(Get_FaultCode_Lost(),Get_FaultCode_Valid(),Get_Current_Hight_FaultCode(),Get_Current_Mid_FaultCode()); AMT630H_GUI_FaultCode(Get_FaultCode_Lost());
} }
/*os MCU版本*/ /*os MCU版本*/
/* RGB 0 0 0 --- 黑*/ /* RGB 0 0 0 --- 黑*/
...@@ -186,7 +186,7 @@ void AMT630H_GUI_Fault_Information(void) ...@@ -186,7 +186,7 @@ void AMT630H_GUI_Fault_Information(void)
SetPagePic(GRAPHICS_PAGE_0, Pic_0356_353_227);/*历史故障*/ SetPagePic(GRAPHICS_PAGE_0, Pic_0356_353_227);/*历史故障*/
SetPagePic(GRAPHICS_PAGE_0, Pic_0357_354_162);/*当前故障*/ SetPagePic(GRAPHICS_PAGE_0, Pic_0357_354_162);/*当前故障*/
AMT630H_GUI_FaultCode(Get_FaultCode_Lost(),Get_FaultCode_Valid(),Get_Current_Hight_FaultCode(),Get_Current_Mid_FaultCode()); AMT630H_GUI_FaultCode(Get_FaultCode_Lost());
} }
else if(g_u8Language == EN) else if(g_u8Language == EN)
{ {
...@@ -203,7 +203,7 @@ void AMT630H_GUI_Fault_Information(void) ...@@ -203,7 +203,7 @@ void AMT630H_GUI_Fault_Information(void)
SetPagePic(GRAPHICS_PAGE_0, Pic_0284_338_228); SetPagePic(GRAPHICS_PAGE_0, Pic_0284_338_228);
SetPagePic(GRAPHICS_PAGE_0, Pic_0285_334_163);/*current fault*/ SetPagePic(GRAPHICS_PAGE_0, Pic_0285_334_163);/*current fault*/
AMT630H_GUI_FaultCode(Get_FaultCode_Lost(),Get_FaultCode_Valid(),Get_Current_Hight_FaultCode(),Get_Current_Mid_FaultCode()); AMT630H_GUI_FaultCode(Get_FaultCode_Lost());
} }
/*os MCU版本*/ /*os MCU版本*/
/* RGB 0 0 0 --- 黑*/ /* RGB 0 0 0 --- 黑*/
...@@ -243,30 +243,27 @@ static uint16_t NumbeList_FaultCode_night[]={ ...@@ -243,30 +243,27 @@ static uint16_t NumbeList_FaultCode_night[]={
uint8_t FaultCodevalid_monitor = 2; uint8_t FaultCodevalid_monitor = 2;
/*故障码显示函数*/ /*故障码显示函数*/
static void AMT630H_GUI_FaultCode(uint8_t FaultCodeLost,uint8_t FaultCodevalid,uint8_t FaultCode_hight,uint8_t FaultCode_mid) static void AMT630H_GUI_FaultCode(uint8_t FaultCodeLost)
{ {
if(FaultCodeLost == 1) if(FaultCodeLost == 1)
{ {
if(FaultCodevalid == 1) if(g_u8Display_Mode == ModeDAY)
{ {
if(g_u8Display_Mode == ModeDAY) /*当前故障*/
{ PackedTransfer_LabelsList( 0x6009,(uint8_t *)TextFaultCodeNum, 10);
/*当前故障*/ SetPageText(GRAPHICS_PAGE_0, 0x6009, 610 , 229 , 200, ALIGN_LEFT, 0, TEXT_COLOR(0,0,0,0XFF),TEXT_LINE_OFFSET(1,1));
PackedTransfer_LabelsList( 0x6009,(uint8_t *)TextFaultCodeNum, 10); /*历史故障*/
SetPageText(GRAPHICS_PAGE_0, 0x6009, 610 , 229 , 200, ALIGN_LEFT, 0, TEXT_COLOR(0,0,0,0XFF),TEXT_LINE_OFFSET(1,1)); PackedTransfer_LabelsList( 0x6009,(uint8_t *)TextFaultCodeNum, 10);
/*历史故障*/ SetPageText(GRAPHICS_PAGE_0, 0x6009, 610 , 164 , 200, ALIGN_LEFT, 0, TEXT_COLOR(0,0,0,0XFF),TEXT_LINE_OFFSET(1,1));
PackedTransfer_LabelsList( 0x6009,(uint8_t *)TextFaultCodeNum, 10); }
SetPageText(GRAPHICS_PAGE_0, 0x6009, 610 , 164 , 200, ALIGN_LEFT, 0, TEXT_COLOR(0,0,0,0XFF),TEXT_LINE_OFFSET(1,1)); else if(g_u8Display_Mode == ModeNIGHT)
} {
else if(g_u8Display_Mode == ModeNIGHT) /*当前故障*/
{ PackedTransfer_LabelsList( 0x6009,(uint8_t *)TextFaultCodeNum, 10);
/*当前故障*/ SetPageText(GRAPHICS_PAGE_0, 0x6009, 610 , 229 , 200, ALIGN_LEFT, 0, TEXT_COLOR(0XFF,0XFF,0XFF,0XFF),TEXT_LINE_OFFSET(1,1));
PackedTransfer_LabelsList( 0x6009,(uint8_t *)TextFaultCodeNum, 10); /*历史故障*/
SetPageText(GRAPHICS_PAGE_0, 0x6009, 610 , 229 , 200, ALIGN_LEFT, 0, TEXT_COLOR(0XFF,0XFF,0XFF,0XFF),TEXT_LINE_OFFSET(1,1)); PackedTransfer_LabelsList( 0x6009,(uint8_t *)TextFaultCodeNum, 10);
/*历史故障*/ SetPageText(GRAPHICS_PAGE_0, 0x6009, 610 , 164 , 200, ALIGN_LEFT, 0, TEXT_COLOR(0XFF,0XFF,0XFF,0XFF),TEXT_LINE_OFFSET(1,1));
PackedTransfer_LabelsList( 0x6009,(uint8_t *)TextFaultCodeNum, 10);
SetPageText(GRAPHICS_PAGE_0, 0x6009, 610 , 164 , 200, ALIGN_LEFT, 0, TEXT_COLOR(0XFF,0XFF,0XFF,0XFF),TEXT_LINE_OFFSET(1,1));
}
} }
} }
else if(FaultCodeLost == 0) else if(FaultCodeLost == 0)
......
...@@ -34,7 +34,7 @@ void Sys_5ms_Tasks(void) ...@@ -34,7 +34,7 @@ void Sys_5ms_Tasks(void)
void Sys_10ms_Tasks(void) void Sys_10ms_Tasks(void)
{ {
Can_BusOff_Recover(10); Can_BusOff_Recover(10);
FaultCode_Service(10u); FaultCode_Servers();
Line_In_Debounce_Service(10u); Line_In_Debounce_Service(10u);
My_Key_Service(); My_Key_Service();
Data_Mileage_Write_EEPROM(); Data_Mileage_Write_EEPROM();
......
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