Commit 8e00d7fe authored by 何锐's avatar 何锐

feat:完成扫码写码功能

parent 547c70f6
...@@ -304,47 +304,47 @@ void datacheck(void) ...@@ -304,47 +304,47 @@ void datacheck(void)
{ {
if(BarCode[5] == 0x50 && BarCode[6] == 0x3) if(BarCode[5] == 0x50 && BarCode[6] == 0x3)
{ {
zhenduansendStep++; zhenduansendStep = 3;
RS485_TX_finish = 0; RS485_TX_finish = 0;
} }
} }
break; break;
case 1: case 1:
if(BarCode[2] == 0x14) // if(BarCode[2] == 0x14)
{ // {
if(BarCode[5] == 0x67 && BarCode[6] == 0x1) // if(BarCode[5] == 0x67 && BarCode[6] == 0x1)
{ // {
seed_value[0] = BarCode[7]; // seed_value[0] = BarCode[7];
seed_value[1] = BarCode[8]; // seed_value[1] = BarCode[8];
seed_value[2] = BarCode[9]; // seed_value[2] = BarCode[9];
seed_value[3] = BarCode[10]; // seed_value[3] = BarCode[10];
get_key(); // get_key();
zhenduansendStep++; // zhenduansendStep++;
RS485_TX_finish = 0; // RS485_TX_finish = 0;
} // }
} // }
break; break;
case 2: case 2:
if(BarCode[2] == 0x14) // if(BarCode[2] == 0x14)
{ // {
if(BarCode[5] == 0x67 && BarCode[6] == 0x2) // if(BarCode[5] == 0x67 && BarCode[6] == 0x2)
{ // {
zhenduansendStep++; // zhenduansendStep++;
RS485_TX_finish = 0; // RS485_TX_finish = 0;
} // }
else if(BarCode[5] != 0x67) // else if(BarCode[5] != 0x67)
{ // {
zhenduansendStep = 0; // zhenduansendStep = 0;
RS485_TX_finish = 0; // RS485_TX_finish = 0;
} // }
else // else
{ // {
; // ;
} // }
} // }
break; break;
case 3: case 3:
if(BarCode[2] == 0x14) if(BarCode[2] == 0x14) //写码
{ {
if((BarCode[5] == 0x6E) && (BarCode[6] == 0x50) && (BarCode[7] == 0)) if((BarCode[5] == 0x6E) && (BarCode[6] == 0x50) && (BarCode[7] == 0))
{ {
...@@ -353,7 +353,7 @@ void datacheck(void) ...@@ -353,7 +353,7 @@ void datacheck(void)
saomafinish = 1; saomafinish = 1;
waittimer = 0; waittimer = 0;
} }
if(BarCode[5] == 0x7F && BarCode[6] == 0x2E && BarCode[7] == 0x78 ) if(BarCode[5] == 0x7F && BarCode[6] == 0x2E && BarCode[7] == 0x78 ) //等待后重发10 03
{ {
if(waittimer >= 2) if(waittimer >= 2)
{ {
...@@ -366,8 +366,9 @@ void datacheck(void) ...@@ -366,8 +366,9 @@ void datacheck(void)
waittimer++; waittimer++;
} }
} }
if(BarCode[5] == 0x7F && BarCode[6] == 0x2E && BarCode[7] == 0x31 ) if(BarCode[5] == 0x7F && BarCode[6] == 0x2E && BarCode[7] == 0x31 ) //写入内容不对
{ {
zhenduansendStep = 0;
RS485_TX_finish = 0; RS485_TX_finish = 0;
} }
} }
...@@ -377,7 +378,7 @@ void datacheck(void) ...@@ -377,7 +378,7 @@ void datacheck(void)
} }
break; break;
case 5: case 5:
if(BarCode[0] == 0x59 && BarCode[1] == 0x44) if(BarCode[0] == 0x59 && BarCode[1] == 0x44) //扫码
{ {
if(((BarCode[arraynum]) == 0x4A) && ((BarCode[arraynum-1]) == 0x4B)) if(((BarCode[arraynum]) == 0x4A) && ((BarCode[arraynum-1]) == 0x4B))
{ {
...@@ -401,33 +402,37 @@ void datacheck(void) ...@@ -401,33 +402,37 @@ void datacheck(void)
} }
else if(zhenduanflag == Data_Mode_Read) else if(zhenduanflag == Data_Mode_Read)
{ {
// if(BarCode[0] == 0x59 && BarCode[1] == 0x44) if(BarCode[0] == 0x59 && BarCode[1] == 0x44)
// { {
// for(int i = 0;i<255;i++) for(int i = 0;i<255;i++)
// { {
// if(BarCode[i] == 0x4A && BarCode[i - 1] == 0x4B) if(BarCode[i] == 0x4A && BarCode[i - 1] == 0x4B)
// { {
// arraynum = i; arraynum = i;
// } }
// } }
// if(((BarCode[arraynum]) == 0x4A) && ((BarCode[arraynum-1]) == 0x4B)) if(((BarCode[arraynum]) == 0x4A) && ((BarCode[arraynum-1]) == 0x4B))
// { {
// if(BarCode[4] == 0x62 && BarCode[5] == 0x50 && BarCode[6] == 0) if(BarCode[5] == 0x50 && BarCode[6] == 0x03)
// { {
// memcpy(get_num_buf,BarCode+7,34 ); zhenduansendStep = 4;
// comparestart = 1; }
// zhenduanflag = 3; else if(BarCode[5] == 0x62 && BarCode[6] == 0x50 && BarCode[7] == 0)
{
// } memcpy(mimaread,BarCode+8,34 );
saomafinish = 2;
// } }
// } else
{
zhenduansendStep = 0;
}
}
}
} }
} }
uint8_t cmpresult = 3; uint8_t cmpresult = 3;
void BarCodeDataGet(void) void BarCodeDataGet(void)
{ {
if((mDataBufPtr1[0] == 0x59) && (mDataBufPtr1[1] == 0x59)&&(mDataBufPtr1[39] != 0x0)) if((mDataBufPtr1[0] == 0x59) && (mDataBufPtr1[1] == 0x59)&&(mDataBufPtr1[39] != 0x0))
{ {
memcpy(barcode_Msg,&mDataBufPtr1[6],34); memcpy(barcode_Msg,&mDataBufPtr1[6],34);
......
...@@ -274,6 +274,15 @@ uint8_t yibiaoshuju[34]; ...@@ -274,6 +274,15 @@ uint8_t yibiaoshuju[34];
} }
else if(saomafinish == 1) else if(saomafinish == 1)
{ {
for(int i = 0;i<34;i++)
{
if(barcode_Msg[i] != erweima[i])
{
Display_TFT_Clear();
break;
}
}
memcpy(erweima,barcode_Msg,34); memcpy(erweima,barcode_Msg,34);
erweima[34] = 0xFF; erweima[34] = 0xFF;
General_Number_Disp(erweima, 3, 60); General_Number_Disp(erweima, 3, 60);
......
...@@ -46,6 +46,7 @@ extern unsigned int CAN_Msg_Tx_Enable; ...@@ -46,6 +46,7 @@ extern unsigned int CAN_Msg_Tx_Enable;
extern uint8_t loc_Type_back; extern uint8_t loc_Type_back;
extern uint8_t LED_Waring ; extern uint8_t LED_Waring ;
extern uint8_t writefail[5]; extern uint8_t writefail[5];
extern uint8_t erweima[64] ;;
void SET_IPK_NONE(void); void SET_IPK_NONE(void);
void Clear_IPK_NONE(void); void Clear_IPK_NONE(void);
void CHECK_IPK_COUNT(void); void CHECK_IPK_COUNT(void);
......
...@@ -4776,10 +4776,7 @@ void Display_Version_Info(uint32_t ON_OFF) ...@@ -4776,10 +4776,7 @@ void Display_Version_Info(uint32_t ON_OFF)
uint8_t wuliao[16]; uint8_t wuliao[16];
// for(int i =0;i < 16; i++)
// {
// wuliao[i] = barcode_Msg[i];
// }
wuliao[0] = R485_IDB4h.Sig.MaterialCode01; wuliao[0] = R485_IDB4h.Sig.MaterialCode01;
wuliao[1] = R485_IDB4h.Sig.MaterialCode02; wuliao[1] = R485_IDB4h.Sig.MaterialCode02;
wuliao[2] = R485_IDB4h.Sig.MaterialCode03; wuliao[2] = R485_IDB4h.Sig.MaterialCode03;
...@@ -4831,41 +4828,41 @@ void Display_Version_Info(uint32_t ON_OFF) ...@@ -4831,41 +4828,41 @@ void Display_Version_Info(uint32_t ON_OFF)
TFT_LCD_Draw_Bmp(3, 50+30, ( uint8_t * )gImage_Dyy_words_2X6_Y46 ); //硬件版本号 TFT_LCD_Draw_Bmp(3, 50+30, ( uint8_t * )gImage_Dyy_words_2X6_Y46 ); //硬件版本号
TFT_LCD_Draw_Bmp(0, 70+30, ( uint8_t * )gImage_Dyy_words_3X6_Y75 ); //零件号 TFT_LCD_Draw_Bmp(0, 70+30, ( 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 ); //仪表电电源检测外发对比检验
// if(powerstdio == 1) if(powerstdio == 1)
// { {
// TFT_LCD_Draw_Bmp(200, 90+40+30, ( uint8_t * )gImage_cuo ); //仪表电电源检测外发对比检验 错 TFT_LCD_Draw_Bmp(200, 90+40+30, ( uint8_t * )gImage_cuo ); //仪表电电源检测外发对比检验 错
// } }
// else else
// { {
// TFT_LCD_Draw_Bmp(200, 90+40+30, ( uint8_t * )gImage_dui ); //仪表电电源检测外发对比检验 对 TFT_LCD_Draw_Bmp(200, 90+40+30, ( uint8_t * )gImage_dui ); //仪表电电源检测外发对比检验 对
// } }
// TFT_LCD_Draw_Bmp(3, 90+25+25+35+30, ( uint8_t * )gImage_gImage_yibiaowaif1X6_Y16 ); //仪表外发对比检验 TFT_LCD_Draw_Bmp(3, 90+25+25+35+30, ( uint8_t * )gImage_gImage_yibiaowaif1X6_Y16 ); //仪表外发对比检验
// if(checknumwrong == 1) if(checknumwrong == 1)
// { {
// TFT_LCD_Draw_Bmp(200, 90+25+25+35+30, ( uint8_t * )gImage_cuo ); //仪表外发对比检验 错 TFT_LCD_Draw_Bmp(200, 90+25+25+35+30, ( uint8_t * )gImage_cuo ); //仪表外发对比检验 错
// } }
// else if(checknumwrong == 0) else if(checknumwrong == 0)
// { {
// TFT_LCD_Draw_Bmp(200, 90+25+25+35+30, ( uint8_t * )gImage_dui ); //仪表外发对比检验 对 TFT_LCD_Draw_Bmp(200, 90+25+25+35+30, ( uint8_t * )gImage_dui ); //仪表外发对比检验 对
// } }
// else else
// { {
// TFT_LCD_Draw_Bmp(200, 90+25+25+35+30, ( uint8_t * )gImage_dui ); //仪表外发对比检验 对 TFT_LCD_Draw_Bmp(200, 90+25+25+35+30, ( uint8_t * )gImage_dui ); //仪表外发对比检验 对
// } }
// if(line_stdio == 0) if(line_stdio == 0)
// { {
// TFT_LCD_Draw_Bmp(200, 90+25+25+30+30+30, ( uint8_t * )gImage_cuo ); //硬线指示灯外发对比 错 TFT_LCD_Draw_Bmp(200, 90+25+25+30+30+30, ( uint8_t * )gImage_cuo ); //硬线指示灯外发对比 错
// } }
// else if(line_stdio == 1) else if(line_stdio == 1)
// { {
// TFT_LCD_Draw_Bmp(200, 90+25+25+30+30+30, ( uint8_t * )gImage_dui ); //硬线指示灯外发对比 对 TFT_LCD_Draw_Bmp(200, 90+25+25+30+30+30, ( uint8_t * )gImage_dui ); //硬线指示灯外发对比 对
// } }
// else else
// { {
// TFT_LCD_Draw_Bmp(200, 90+25+25+30+30+30, ( uint8_t * )gImage_dui ); //硬线指示灯外发对比 对 TFT_LCD_Draw_Bmp(200, 90+25+25+30+30+30, ( uint8_t * )gImage_dui ); //硬线指示灯外发对比 对
// } }
// TFT_LCD_Draw_Bmp(3, 90+25+25+30+30+30+5, ( uint8_t * )gImage_gImage_LEDwaif1X6_Y16 ); //硬线指示灯外发对比 TFT_LCD_Draw_Bmp(3, 90+25+25+30+30+30+5, ( uint8_t * )gImage_gImage_LEDwaif1X6_Y16 ); //硬线指示灯外发对比
// TFT_LCD_Draw_Bmp(3, 90+25+25+30+25+30+30+5, ( uint8_t * )gImage_gImage_SV1X6_Y16 ); //软件版本号对比 // TFT_LCD_Draw_Bmp(3, 90+25+25+30+25+30+30+5, ( uint8_t * )gImage_gImage_SV1X6_Y16 ); //软件版本号对比
// if((R485_ID4Dh.Sig.ESP322 != 0) && ( R485_ID4Dh.Sig.G0312 != 0)) // if((R485_ID4Dh.Sig.ESP322 != 0) && ( R485_ID4Dh.Sig.G0312 != 0))
// { // {
...@@ -4905,7 +4902,7 @@ void Display_Version_Info(uint32_t ON_OFF) ...@@ -4905,7 +4902,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 [7] = {2,5,1,1,0,9,0xff}; uint8_t mbuff [7] = {2,5,1,1,1,2,0xff};
General_Number_Disp(mbuff, 160, 290); General_Number_Disp(mbuff, 160, 290);
} }
......
...@@ -18,6 +18,8 @@ void Key_Operation_SW5(Key_Event_en_t enKeyEvent) //下一步 ...@@ -18,6 +18,8 @@ void Key_Operation_SW5(Key_Event_en_t enKeyEvent) //下一步
MENU_CHECK_STEP_ADD( ); MENU_CHECK_STEP_ADD( );
zhenduansendStep = 0; zhenduansendStep = 0;
zhenduanflag = Data_Mode_Dot; zhenduanflag = Data_Mode_Dot;
memset(erweima, 0, 64);
memset(barcode_Msg, 0, 64);
} }
} }
} }
...@@ -78,6 +80,13 @@ void Key_Operation_SW7(Key_Event_en_t enKeyEvent) ...@@ -78,6 +80,13 @@ void Key_Operation_SW7(Key_Event_en_t enKeyEvent)
if(firstpowerflag == 2) if(firstpowerflag == 2)
{ {
if(zhenduanflag == Data_Mode_Write) if(zhenduanflag == Data_Mode_Write)
{
if(saomafinish == 1)
{
zhenduansendStep = 5;
}
}
else if(((zhenduansendStep == 4) && (zhenduanflag == Data_Mode_Read)))
{ {
zhenduansendStep = 5; zhenduansendStep = 5;
} }
...@@ -98,6 +107,8 @@ void Key_Operation_SW8(Key_Event_en_t enKeyEvent) ...@@ -98,6 +107,8 @@ void Key_Operation_SW8(Key_Event_en_t enKeyEvent)
if ( enKeyEvent == KEY_EVENT_SHORT_PRESS ) if ( enKeyEvent == KEY_EVENT_SHORT_PRESS )
{ {
zhenduanflag = Data_Mode_Write; zhenduanflag = Data_Mode_Write;
zhenduansendStep = 0;
saomafinish = 0;
} }
else if ( enKeyEvent == KEY_EVENT_LONG_PRESS ) else if ( enKeyEvent == KEY_EVENT_LONG_PRESS )
{ {
......
...@@ -638,19 +638,18 @@ uint32_t R485_Send_0x04(void) ...@@ -638,19 +638,18 @@ uint32_t R485_Send_0x04(void)
case 0: case 0:
R485_zhenduan_Msg[0] = 0x10; R485_zhenduan_Msg[0] = 0x10;
R485_zhenduan_Msg[1] = 0x03; R485_zhenduan_Msg[1] = 0x03;
zhenduansendStep = 3;
break; break;
case 1: case 1:
R485_zhenduan_Msg[0] = 0x27; // R485_zhenduan_Msg[0] = 0x27;
R485_zhenduan_Msg[1] = 0x1; // R485_zhenduan_Msg[1] = 0x1;
break; break;
case 2: case 2:
R485_zhenduan_Msg[0] = 0x27; // R485_zhenduan_Msg[0] = 0x27;
R485_zhenduan_Msg[1] = 0x2; // R485_zhenduan_Msg[1] = 0x2;
R485_zhenduan_Msg[2] = key_array[0]; // R485_zhenduan_Msg[2] = key_array[0];
R485_zhenduan_Msg[3] = key_array[1]; // R485_zhenduan_Msg[3] = key_array[1];
R485_zhenduan_Msg[4] = key_array[2]; // R485_zhenduan_Msg[4] = key_array[2];
R485_zhenduan_Msg[5] = key_array[3]; // R485_zhenduan_Msg[5] = key_array[3];
break; break;
case 3: case 3:
R485_zhenduan_Msg[0] = 0x2E; R485_zhenduan_Msg[0] = 0x2E;
......
...@@ -256,7 +256,7 @@ void Sys_Run_Mode_100ms_Tasks_Group(void) ...@@ -256,7 +256,7 @@ void Sys_Run_Mode_100ms_Tasks_Group(void)
} }
} }
if(firstpowerflag == 1) if(firstpowerflag == 1)
{ {
zhenduanflag = Data_Mode_Read; zhenduanflag = Data_Mode_Read;
Total_Check(); Total_Check();
...@@ -275,7 +275,6 @@ void Sys_Run_Mode_100ms_Tasks_Group(void) ...@@ -275,7 +275,6 @@ void Sys_Run_Mode_100ms_Tasks_Group(void)
Total_Check(); Total_Check();
firstpowerflag = 3; firstpowerflag = 3;
} }
} }
else else
{ {
......
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