根据我从 ELM327:OBD 到 RS232 文档的了解,使用多线响应,最多可以接收 6 个 PID。我想知道扫描工具如何一次接收十几个 PID。
问问题
868 次
1 回答
1
您最多可以同时从主控制器请求 6 个 PID。ECU 将在多帧中对其进行响应。在这里,我已经回答了 MCP2515 芯片的多帧问题,但对于任何其他芯片(如 ELM327 等)可能都是相同的,因为它是 CAN 协议,只有上下文可能不同。
您的问题的答案是“是”,您可以,但不仅在一个请求中。许多记录仪设备将 1 Hz 视为安全记录所有 OBD 数据的最短请求时间,低于 1 Hz 可能会起作用,也可能不起作用。
您应该首先请求Mode 1 PID 00
将在一条消息中响应的消息,它包含 ECU 按位顺序支持 OBD 的所有 PID。如何解析此消息在此维基百科链接中定义:此处。
现在您拥有所有受支持的 PID,现在您可以以 6 个 PID 为一组请求它们。这就是任何扫描工具或 OBD 记录器的工作方式。
问候,
于 2017-02-21T08:08:45.853 回答