【发布时间】:2016-05-04 16:14:11
【问题描述】:
我正在开发一个 Android 应用程序,每当我的客户用他的汽车测试该应用程序时,他都会收到不同长度的响应,并且它失败了。在我的代码中发生了这种情况,我需要处理消息的长度才能继续进行。
知道为什么 OBD II 设备会得到不同长度的响应
来自设备的示例响应是:
410100040000410100068000
0101410100040000410100068000
谢谢大家
【问题讨论】:
我正在开发一个 Android 应用程序,每当我的客户用他的汽车测试该应用程序时,他都会收到不同长度的响应,并且它失败了。在我的代码中发生了这种情况,我需要处理消息的长度才能继续进行。
知道为什么 OBD II 设备会得到不同长度的响应
来自设备的示例响应是:
410100040000410100068000
0101410100040000410100068000
谢谢大家
【问题讨论】:
首先,您要向 OBD II 设备发送什么命令?
我的猜测是车辆使用不同的协议做出响应。您可以通过向 OBD II 设备发送以下命令来检查车辆正在使用哪些协议:
ATZ
ATSP0
ATDPN
ATDPN 会以一个字符作为响应,告诉我们车辆正在使用什么协议。
如果车辆使用不同的协议,那么您必须根据使用的协议对返回的数据进行不同的解析。此规格表将有助于实现这一目标:
【讨论】: