OBD 14230 Slow, Addr激活

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

原文地址:https://www.cnblogs.com/Montauk/p/5916188.html