我正在使用距离命令(0131\r)从 Car 获取 Obd 响应。但是我得到的距离命令的响应是:N10DO DATA、0PS0DDP、0O0S、ADE,这些不是十六进制的。那么我该如何处理呢?
问问题
184 次
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 回答