0

我正在使用距离命令(0131\r)从 Car 获取 Obd 响应。但是我得到的距离命令的响应是:N10DO DATA、0PS0DDP、0O0S、ADE,这些不是十六进制的。那么我该如何处理呢?

4

2 回答 2

0

我建议你通过正则表达式来识别响应。有效响应的正则表达式必须类似于

[0-9A-Fa-f]{1,2} [0-9A-Fa-f]{2} [0-9A-Fa-f]{2}

或类似的东西。所以java代码将是:

response.matches("[0-9A-Fa-f]{1,2} [0-9A-Fa-f]{2} [0-9A-Fa-f]{2}\r?" );

匹配函数返回布尔值。

无效响应的正则表达式将包含 WORDS 识别模式。现在我也在开发 OBD 连接器工具,所以我会在正确测试时提供更多代码。

于 2014-09-29T19:40:59.060 回答
0

看起来多种反应交织在一起。请检查您的接收缓冲区/代码。

于 2017-05-28T13:32:04.257 回答