我正在使用distance命令(0131 \ r \ n)从Car获取Obd响应。 但我得到的距离指令响应如下: N10DO DATA, 0PS0DDP, 0O0S, ADE, 这些不是十六进制。那我怎么办呢?
答案 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)
看起来多个回复正在交织。请检查您的接收缓冲区/代码。