const u8 LinkCmd14230[6] = { 0xC2, 0x33, 0xF1, 0x01, 0x00, 0xE7 };
u8 ISO14230ADDR_Check()
{
ErrorStatus err;
u8 i;
IWDG_Feed();
//这里将程序简化并深化了, 先唤醒, 然后link, 有响应就算是激活成功.
if (Wakeup_Addr(0x33) == SUCCESS) {
for (i = 0;i < 5;i++) //无响应,需要多次发送后才能正常使用。
{
Send_KWP2000Frame((u8*)LinkCmd14230,&err);
//delay_s(1);
//delay_ms(500);
if (err == SUCCESS)
{
Protocal=ISO14230ADDR;
return 1;
}
}
}
return 0;
}
抓到的包:
00
00
00
55 EF 8F
70 CC C2 33 F1 01 00 E7 //这里是link
86 F1 11 41 00 FF FF FF FF C5 //回应
C2 33 F1 01 00 E7
86 F1 11 41 00 FF FF FF FF C5
C2 33 F1 01 20 07
86 F1 11 41 20 FF FF FF FF E5
C2 33 F1 01 40 27
86 F1 11 41 40 FF FF FF FF 05
00
00
00
55 EF 8F
70 CC C2 33 F1 01 00 E7 //继续link
86 F1 11 41 00 FF FF FF FF C5 //回应
C2 33 F1 01 0C F3
84 F1 11 41 0C 17 C7 B1 C1 33 F1 03 E8
87 F1 11 43 00 00 00 00 00 00 CC
C2 33 F1 01 0C F3
84 F1 11 41 0C 17 27 11
C2 33 F1 01 0D F4
83 F1 11 41 0D 36 09
C2 33 F1 01 05 EC
83 F1 11 41 05 A8 73
C2 33 F1 01 10 F7
84 F1 11 41 10 1F EB E1
C2 33 F1 01 0F F6
83 F1 11 41 0F 28 FD
C2 33 F1 01 0C F3
84 F1 11 41 0C 17 27 11
C2 33 F1 01 0D F4
83 F1 11 41 0D 36 09
C2 33 F1 01 05 EC
83 F1 11 41 05 A8 73
C2 33 F1 01 10 F7
84 F1 11 41 10 20 8C 83
C2 33 F1 01 0F F6
83 F1 11 41 0F 28 FD
C2 33 F1 01 0C F3
84 F1 11 41 0C 17 27 11
C2 33 F1 01 0D F4