我正在尝试制作一个在 Windows 下运行并与 ELM327 设备通信的软件。我创建了第一个版本,然后我进入了我的 SMART ForTwo (SMART 451) 车辆,并设法与仪表板连接(发送 CAN ID 为 782,接收 CAN ID 为 783)。但是我对流控制有一个很大的问题。这是日志:
TX:ATI RX:ELM327 v1.5a
发送:ATE0 接收:ATE0 正常
发送:ATSP6 接收:好的
TX:ATH1 RX:好的
TX:ATL1 RX:好的
TX:ATCFC1 接收:好的
TX:ATFCSM0 RX:正常
TX:ATAL RX:好的
TX:ATSH782 RX:好的
发送:ATCRA783 接收:?
TX:ATST64 RX:好的
发送:1092 接收:783 02 1A 87
发送:1A87 接收:783 10 16 5A 87 05 6E 00 08
我使用了另一个工具,我看到 ELM327 设备立即发送流控制帧。它是这样的:
891.438 782 02 1A 87
891.444 783 10 16 5A 87 05 6E 00 08
891.444 782 30 00 00 00 00 00 00 00
如您所见 - 流量控制帧与第一帧完全相同,即从其他设备发送。我确信另一台设备在接收“流控制”帧时有问题。我研究了 ELM327 文档,但没有找到任何有关如何延迟流控制帧的信息。我应该如何正确发送请求“1A 87”并接收响应?