Commit ab34077c authored by 何锐's avatar 何锐

feat:实时读取UUID

parent 7c0f8b94
...@@ -706,7 +706,6 @@ void can_submit(void) ...@@ -706,7 +706,6 @@ void can_submit(void)
init_CAN_Frame(&m_msg8, 0x51B, 8, 1, data8); init_CAN_Frame(&m_msg8, 0x51B, 8, 1, data8);
break; break;
case 11: case 11:
begin714 = 0;
POWER_CTRL_KL30 = 0u; //B+ POWER_CTRL_KL30 = 0u; //B+
POWER_CTRL_KL15 = 0u; //KL15 POWER_CTRL_KL15 = 0u; //KL15
break; break;
...@@ -864,10 +863,10 @@ void Get_SW_msg(void); ...@@ -864,10 +863,10 @@ void Get_SW_msg(void);
void Get_HW_msg(void); void Get_HW_msg(void);
void Get_PN_msg(void); void Get_PN_msg(void);
extern uint32_t send0x714time; extern uint32_t send0x714time;
uint8_t begin714; uint8_t begin714 = 0;;
uint8_t UIDdelay; uint8_t UIDdelay;
uint8_t SWINtestresult; uint8_t SWINtestresult;
void send_0x714_fuc() void Send_UDS_fuc()
{ {
CAN_Frame_st_t m_msg7; CAN_Frame_st_t m_msg7;
...@@ -887,16 +886,16 @@ void send_0x714_fuc() ...@@ -887,16 +886,16 @@ void send_0x714_fuc()
else else
{ {
data7[0] = 0x03; data7[0] = 0x03;
data7[1] = 0x22; data7[1] = 0x22;
data7[2] = 0xF1; data7[2] = 0xF1;
data7[3] = 0x89; data7[3] = 0x89;
data7[4] = 0xAA; data7[4] = 0xAA;
data7[5] = 0xAA; data7[5] = 0xAA;
data7[6] = 0xAA; data7[6] = 0xAA;
data7[7] = 0xAA; data7[7] = 0xAA;
init_CAN_Frame(&m_msg7, 0x7A1, 8, 1, data7); init_CAN_Frame(&m_msg7, 0x7A1, 8, 1, data7);
can_mid(m_msg7); can_mid(m_msg7);
zhenduanstep++; zhenduanstep++;
} }
break; break;
...@@ -1013,46 +1012,51 @@ void send_0x714_fuc() ...@@ -1013,46 +1012,51 @@ void send_0x714_fuc()
Get_SWIN_msg(); Get_SWIN_msg();
zhenduanstep++; zhenduanstep++;
break; break;
case 11: //读取UID
if(writeflag == 0)
{
data7[0] = 0x03;
data7[1] = 0x22;
data7[2] = 0x50;
data7[3] = 0x01;
data7[4] = 0xAA;
data7[5] = 0xAA;
data7[6] = 0xAA;
data7[7] = 0xAA;
init_CAN_Frame(&m_msg7, 0x7A1, 8, 1, data7);
can_mid(m_msg7);
zhenduanstep++;
}
break;
case 12:
if(writeflag == 0)
{
Get_UID_msg();
data7[0] = 0x30;
data7[1] = 0x00;
data7[2] = 0x00;
data7[3] = 0xAA;
data7[4] = 0xAA;
data7[5] = 0xAA;
data7[6] = 0xAA;
data7[7] = 0xAA;
init_CAN_Frame(&m_msg7, 0x7A1, 8, 1, data7);
can_mid(m_msg7);
Get_UID_msg();
}
zhenduanstep++;
break;
default: default:
zhenduanstep = 11;
begin714 = 1; begin714 = 1;
break; break;
} }
}
uint8_t readstep = 0;
void UIDRead(void)
{
CAN_Frame_st_t m_msg9;
uint8_t data9[8] = {0, 0, 0, 0, 0, 0, 0, 0};
switch(readstep)
{
case 0: //读取UID
data9[0] = 0x03;
data9[1] = 0x22;
data9[2] = 0x50;
data9[3] = 0x01;
data9[4] = 0xAA;
data9[5] = 0xAA;
data9[6] = 0xAA;
data9[7] = 0xAA;
init_CAN_Frame(&m_msg9, 0x7A1, 8, 1, data9);
can_mid(m_msg9);
readstep++;
break;
case 1:
data9[0] = 0x30;
data9[1] = 0x00;
data9[2] = 0x00;
data9[3] = 0xAA;
data9[4] = 0xAA;
data9[5] = 0xAA;
data9[6] = 0xAA;
data9[7] = 0xAA;
init_CAN_Frame(&m_msg9, 0x7A1, 8, 1, data9);
can_mid(m_msg9);
readstep++;
break;
default:
readstep = 0;
break;
}
} }
uint8_t UIDNumber[19] = {84,89,87,0,0,0,0,0,0,0,0,0,0,1,2,0,2,5,0xFF}; uint8_t UIDNumber[19] = {84,89,87,0,0,0,0,0,0,0,0,0,0,1,2,0,2,5,0xFF};
uint8_t UIDNumber2[15] = {0,5,2,2,0,0,0,0,0,0,0,0,0,0,0xFF}; uint8_t UIDNumber2[15] = {0,5,2,2,0,0,0,0,0,0,0,0,0,0,0xFF};
...@@ -1062,10 +1066,22 @@ uint8_t UIDStep; ...@@ -1062,10 +1066,22 @@ uint8_t UIDStep;
uint8_t seedresult[4] = {0}; uint8_t seedresult[4] = {0};
void get_seed_msg(void); void get_seed_msg(void);
uint8_t getseedresult = 0; uint8_t getseedresult = 0;
uint8_t waittime = 0;
void UIDWrite(void) void UIDWrite(void)
{ {
CAN_Frame_st_t m_msg8; CAN_Frame_st_t m_msg8;
uint8_t data8[8] = {0, 0, 0, 0, 0, 0, 0, 0}; uint8_t data8[8] = {0, 0, 0, 0, 0, 0, 0, 0};
if(UIDStep == 2)
{
waittime++;
if(waittime > 3)
{
waittime = 0;
UIDStep = 0;
}
}
switch (UIDStep) switch (UIDStep)
{ {
case 0: case 0:
...@@ -1103,6 +1119,7 @@ void UIDWrite(void) ...@@ -1103,6 +1119,7 @@ void UIDWrite(void)
} }
break; break;
case 3: case 3:
waittime = 0;
data8[0] = 0x06; data8[0] = 0x06;
data8[1] = 0x27; data8[1] = 0x27;
data8[2] = 0x02; data8[2] = 0x02;
...@@ -1212,7 +1229,6 @@ void UIDWrite(void) ...@@ -1212,7 +1229,6 @@ void UIDWrite(void)
break; break;
default: default:
writeflag = 0; writeflag = 0;
begin714 = 0;
UIDStep = 0; UIDStep = 0;
writebeing = 1; writebeing = 1;
UIDresult = 0; UIDresult = 0;
...@@ -1340,8 +1356,21 @@ void Get_PN_msg(void) ...@@ -1340,8 +1356,21 @@ void Get_PN_msg(void)
PNtestresult = 1; PNtestresult = 1;
} }
} }
uint8_t canlost;
uint8_t resettime = 0;
void uidreset(void)
{
if(resettime > 50)
{
UIDresult = 0;
resettime = 0;
Display_TFT_Clear_UID2();
canlost = 1;
}
}
uint8_t writebeing = 1; uint8_t writebeing = 1;
uint8_t UIDresult = 0; uint8_t UIDresult = 0;
uint8_t UIDcode1last[33];
void Get_UID_msg(void) void Get_UID_msg(void)
{ {
u8get714msg[0] = Get_CAN_CH0_ID_7A9_byte0_Sig(); u8get714msg[0] = Get_CAN_CH0_ID_7A9_byte0_Sig();
...@@ -1409,11 +1438,30 @@ void Get_UID_msg(void) ...@@ -1409,11 +1438,30 @@ void Get_UID_msg(void)
{ {
UIDcode1[31] = u8get714msg[1]; UIDcode1[31] = u8get714msg[1];
UIDcode1[32] = 0xFF; UIDcode1[32] = 0xFF;
UIDresult = 6; UIDresult = 0;
if(writebeing) resettime = 0;
if(canlost == 0)
{
for(int i = 0;i<33;i++)
{
if(UIDcode1last[i] != UIDcode1[i])
{
General_Number_Disp(UIDcode1, 95, 225);
shouuid();
}
}
}
else
{ {
General_Number_Disp(UIDcode1, 95, 225); General_Number_Disp(UIDcode1, 95, 225);
writebeing = 0; shouuid();
canlost = 0;
}
for(int i = 0;i<33;i++)
{
UIDcode1last[i] = UIDcode1[i];
} }
} }
} }
...@@ -1515,7 +1563,6 @@ uint8_t chaengUDSstep = 0; ...@@ -1515,7 +1563,6 @@ uint8_t chaengUDSstep = 0;
uint8_t seednum[4] = {0}; uint8_t seednum[4] = {0};
uint32_t UDS_time = 0; uint32_t UDS_time = 0;
extern uint32_t fakedelay; extern uint32_t fakedelay;
uint8_t resettime = 0;
extern uint32_t fakedelay; extern uint32_t fakedelay;
uint32_t resetpowtime = 0; uint32_t resetpowtime = 0;
uint32_t FUresetpowtime = 0; uint32_t FUresetpowtime = 0;
......
...@@ -47,7 +47,7 @@ void Can_BusOffRecover(void); ...@@ -47,7 +47,7 @@ void Can_BusOffRecover(void);
uint8_t CrcCheckSum(uint8_t *data, uint8_t len); uint8_t CrcCheckSum(uint8_t *data, uint8_t len);
void can_submit(void); void can_submit(void);
void Get_ID_0x794_Msg(void); void Get_ID_0x794_Msg(void);
void send_0x714_fuc(void); void Send_UDS_fuc(void);
extern uint8_t ruanjianbanbenhao[8]; extern uint8_t ruanjianbanbenhao[8];
void Get_PN_msg(void); void Get_PN_msg(void);
extern void Get_UID_msg(void); extern void Get_UID_msg(void);
...@@ -58,6 +58,8 @@ void UIDWrite(void); ...@@ -58,6 +58,8 @@ void UIDWrite(void);
extern void Get_SW_msg(void); extern void Get_SW_msg(void);
extern void Get_SWIN_msg(void); extern void Get_SWIN_msg(void);
extern void Get_HW_msg(void); extern void Get_HW_msg(void);
extern void UIDRead(void);
extern void uidreset(void);
extern uint8_t UIDcode1[33]; extern uint8_t UIDcode1[33];
extern uint8_t UIDcode2[33]; extern uint8_t UIDcode2[33];
extern uint8_t UIDNumber[19]; extern uint8_t UIDNumber[19];
...@@ -73,4 +75,5 @@ extern uint8_t UIDdelay; ...@@ -73,4 +75,5 @@ extern uint8_t UIDdelay;
extern uint8_t SWINtestresult; extern uint8_t SWINtestresult;
extern uint8_t SWtestresult; extern uint8_t SWtestresult;
extern uint8_t HWtestresult; extern uint8_t HWtestresult;
extern uint8_t resettime;
#endif #endif
...@@ -3484,7 +3484,7 @@ void Display_TFT_Clear_UID(void) ...@@ -3484,7 +3484,7 @@ void Display_TFT_Clear_UID(void)
void Display_TFT_Clear_UID2(void) void Display_TFT_Clear_UID2(void)
{ {
TFT_LCD_Draw_Box(0, 220, 300, 290, TFT_LCD_FILL_FULL, TFT_LCD_TYPE_CLR); TFT_LCD_Draw_Box(0, 220, 239, 290, TFT_LCD_FILL_FULL, TFT_LCD_TYPE_CLR);
} }
void Display_Add(void) void Display_Add(void)
...@@ -4212,6 +4212,10 @@ void Get_static_Current(void) ...@@ -4212,6 +4212,10 @@ void Get_static_Current(void)
} }
} }
void shouuid(void)
{
TFT_LCD_Draw_Bmp(3, 225, ( uint8_t * )gImage_JCT_08X0_Y0 ); //读取UID
}
const uint16_t testNum[] = {200,190,180}; const uint16_t testNum[] = {200,190,180};
// void Check_PWM(void) // void Check_PWM(void)
// { // {
...@@ -4271,7 +4275,6 @@ void Display_Version_Info(uint32_t ON_OFF) ...@@ -4271,7 +4275,6 @@ void Display_Version_Info(uint32_t ON_OFF)
TFT_LCD_Draw_Bmp(3, 100, ( uint8_t * )gImage_Dyy_words_2X6_Y46 ); //硬件版本号 TFT_LCD_Draw_Bmp(3, 100, ( uint8_t * )gImage_Dyy_words_2X6_Y46 ); //硬件版本号
TFT_LCD_Draw_Bmp(3, 25, ( uint8_t * )gImage_JCT_01X0_Y0 ); //检测台版本号 TFT_LCD_Draw_Bmp(3, 25, ( uint8_t * )gImage_JCT_01X0_Y0 ); //检测台版本号
TFT_LCD_Draw_Bmp(3, 120, ( uint8_t * )gImage_Dyy_words_3X6_Y75 ); //写入UID TFT_LCD_Draw_Bmp(3, 120, ( uint8_t * )gImage_Dyy_words_3X6_Y75 ); //写入UID
TFT_LCD_Draw_Bmp(3, 225, ( uint8_t * )gImage_JCT_08X0_Y0 ); //读取UID
// TFT_LCD_Draw_Bmp(3, 70, ( uint8_t * )gImage_Dyy_words_3X6_Y75 ); //零件号 // TFT_LCD_Draw_Bmp(3, 70, ( uint8_t * )gImage_Dyy_words_3X6_Y75 ); //零件号
// TFT_LCD_Draw_Bmp(3, 90+30+30, ( uint8_t * )gImage_gImage_dianyuanwaifX6_Y165 ); //仪表电电源检测外发对比检验 // TFT_LCD_Draw_Bmp(3, 90+30+30, ( uint8_t * )gImage_gImage_dianyuanwaifX6_Y165 ); //仪表电电源检测外发对比检验
...@@ -4295,7 +4298,7 @@ void Display_Version_Info(uint32_t ON_OFF) ...@@ -4295,7 +4298,7 @@ void Display_Version_Info(uint32_t ON_OFF)
// TFT_LCD_Draw_Bmp(3, 160, ( uint8_t * )gImage_Alarm_12_WordX6_Y165); //24脚输出占空比 // TFT_LCD_Draw_Bmp(3, 160, ( uint8_t * )gImage_Alarm_12_WordX6_Y165); //24脚输出占空比
// TFT_LCD_Draw_Bmp(210, 160, ( uint8_t * )gImage_Alarm_13_ImageX222_Y166); //% // TFT_LCD_Draw_Bmp(210, 160, ( uint8_t * )gImage_Alarm_13_ImageX222_Y166); //%
// TFT_LCD_Draw_Bmp(3, 290, ( uint8_t * )gImage_gImage_checkVX6_Y165 ); //检测台版本号 // TFT_LCD_Draw_Bmp(3, 290, ( uint8_t * )gImage_gImage_checkVX6_Y165 ); //检测台版本号
uint8_t mbuff [10] = {2,0,2,5,97,0,7,1,5,0xff}; uint8_t mbuff [10] = {2,0,2,5,97,0,9,2,3,0xff};
General_Number_Disp(mbuff, 115, 25); //检测台版本号 General_Number_Disp(mbuff, 115, 25); //检测台版本号
General_Number_Disp(UIDNumber, 85, 120); //固定UID数字 General_Number_Disp(UIDNumber, 85, 120); //固定UID数字
General_Number_Disp(UIDNumber2, 70, 146); //可调UID数字 General_Number_Disp(UIDNumber2, 70, 146); //可调UID数字
......
...@@ -56,7 +56,7 @@ extern void HW_Static_Current_Check(uint32_t cmd); ...@@ -56,7 +56,7 @@ extern void HW_Static_Current_Check(uint32_t cmd);
void HW_Voltage_Check(uint32_t cmd); void HW_Voltage_Check(uint32_t cmd);
void Display_TFT_Clear(void); void Display_TFT_Clear(void);
void Display_TFT_Clear_UID(void); void Display_TFT_Clear_UID(void);
void Display_TFT_Clear_UID2(void); extern void Display_TFT_Clear_UID2(void);
void Display_Add(void); void Display_Add(void);
unsigned int Get_Display_Type(void); unsigned int Get_Display_Type(void);
void General_Number_Disp(unsigned char *p, unsigned short x, unsigned short y); void General_Number_Disp(unsigned char *p, unsigned short x, unsigned short y);
...@@ -77,6 +77,7 @@ void Buzzer_Start(void); ...@@ -77,6 +77,7 @@ void Buzzer_Start(void);
void Buzzer_Stop(void); void Buzzer_Stop(void);
extern void Buzzer_Init(void); extern void Buzzer_Init(void);
extern void Buzzer_Warning(void); extern void Buzzer_Warning(void);
extern void shouuid(void);
void Display_Send_Vspead(uint8_t menu); void Display_Send_Vspead(uint8_t menu);
extern void Get_static_Current(void); extern void Get_static_Current(void);
......
...@@ -108,9 +108,7 @@ void Key_Operation_SW3(Key_Event_en_t enKeyEvent) ...@@ -108,9 +108,7 @@ void Key_Operation_SW3(Key_Event_en_t enKeyEvent)
{ {
if ( enKeyEvent == KEY_EVENT_SHORT_PRESS ) if ( enKeyEvent == KEY_EVENT_SHORT_PRESS )
{ {
begin714 = 0;
UIDresult = 0;
writebeing = 1;
} }
else if ( enKeyEvent == KEY_EVENT_LONG_PRESS ) else if ( enKeyEvent == KEY_EVENT_LONG_PRESS )
{ {
......
...@@ -32,7 +32,6 @@ void Sys_Run_Mode_Pseudo_Real_Time_Tasks(void) ...@@ -32,7 +32,6 @@ void Sys_Run_Mode_Pseudo_Real_Time_Tasks(void)
// UDS_Server_Application_Service( ); // UDS_Server_Application_Service( );
TFT_LCD_Display_Update_Service( ); TFT_LCD_Display_Update_Service( );
Get_PN_msg(); Get_PN_msg();
// Get_UID_msg();
if(SWINtestresult == 1) if(SWINtestresult == 1)
{ {
Get_SWIN_msg(); Get_SWIN_msg();
...@@ -79,6 +78,16 @@ extern uint8_t fuelreset3; ...@@ -79,6 +78,16 @@ extern uint8_t fuelreset3;
extern uint8_t fuelreset4; extern uint8_t fuelreset4;
void Sys_Run_Mode_10ms_Tasks_Group(void) void Sys_Run_Mode_10ms_Tasks_Group(void)
{ {
if((resettime < 250) && (writeflag == 0))
{
resettime++;
}
if((writeflag == 0) && (begin714 == 1))
{
uidreset();
UIDRead();
}
if(MENU_CHECK_STEP == 1 && fuelreset1 == 0) if(MENU_CHECK_STEP == 1 && fuelreset1 == 0)
{ {
fuelreset1 = 1; fuelreset1 = 1;
...@@ -129,7 +138,7 @@ void Sys_Run_Mode_10ms_Tasks_Group(void) ...@@ -129,7 +138,7 @@ void Sys_Run_Mode_10ms_Tasks_Group(void)
{ {
if(begin714 == 0) if(begin714 == 0)
{ {
send_0x714_fuc(); Send_UDS_fuc();
send0x714time = 0; send0x714time = 0;
} }
} }
...@@ -190,7 +199,6 @@ void Sys_Run_Mode_50ms_Tasks_Group(void) ...@@ -190,7 +199,6 @@ void Sys_Run_Mode_50ms_Tasks_Group(void)
{ {
timer_100ms = 0; timer_100ms = 0;
} }
// Get_UID_msg();
} }
/*============================================================================== /*==============================================================================
......
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