【发布时间】:2022-06-18 23:26:05
【问题描述】:
我能够接触到我想通过 CAPL 读取 VIN 值的 ECU。但我只能在单帧而不是连续帧中得到响应。我通过 CAN 连接到 ECU。
那么如何从 ECU 读取长值? 我也知道,这个 ECU 会定期发送一些消息,那么当我知道 ID 时,如何实时读取它们?
variables
{
message 0x123 Request;
message 0x124 Response;
}
on key 'v'
{
Request.DLC = 8;
Request.byte(0) = 0x03;
Request.byte(1) = 0x22;
Request.byte(2) = 0xXX; //command for reading VIN
Request.byte(3) = 0xYY; //command for reading VIN
Request.byte(4) = 0x00;
Request.byte(5) = 0x00;
Request.byte(6) = 0x00;
Request.byte(7) = 0x00;
output(Request);
}
在跟踪中,我可以看到积极的响应,但只是单帧。而且我明确地知道,VIN 比那个长。
03 22 XX YY 00 00 00 00
03 62 XX YY 12 34 56 78
我从vector(OSEK_TP等)阅读了一些材料,但我无法应用它们,因为我是capl的新手。
【问题讨论】: