Android OBD命令响应不是以十六进制形式出现的

时间:2014-08-25 09:22:21

标签: android obd-ii

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

2 个答案:

答案 0 :(得分:0)

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

  

[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?” );

匹配函数返回布尔值。

无效响应的regEx将包含WORDS识别模式。 现在我也在使用OBD连接器工具,因此我将在正确测试时提供更多代码。

答案 1 :(得分:0)

看起来多个回复正在交织。请检查您的接收缓冲区/代码。