我将HC-05连接到Arduino的Serial3。我还能够成功与汽车中的OBD2-ELM适配器配对,
我的草图中有一个代码可以与OBD / ELM进行简单的通信
if (Serial3.available()) {
Serial.write(Serial3.read());
}
if (Serial.available()) {
Serial3.write(Serial.read());
}
挑战在于:
如果键入ATZ,则会得到“ ELM327 v2.1>”
输入ATTP5,我得到“确定>”
键入ATRV,返回“ 12.6”
但是如果输入0105,则会得到不同的响应,例如:
“ LM327410v2 ELMv241 M2.11099” ,或“确定> LM7v41A” 或“确定> OK> 41055.1 327v”
其他时候我得到正确的“ 4105 5A>”
响应当我输入0100或任何其他PID代码时,我得到相同的结果。
请问有人对造成这种情况的原因以及如何 修复它。
谢谢
答案 0 :(得分:0)
首先,请记住,默认情况下,ELM327适配器响应终止为NavLink
。将其直接打印在控制台上会导致问题。尝试将height: 100%
替换为\r>
,然后应该会看到更好的输出,例如:
\r
当然,实际输出随发送PID(例如\n
)还是内部ELM327命令(例如>ATRV
11.9V
>0100
18 DA F1 10 06 41 00 B8 7B 30 10 00
18 DA F1 17 06 41 00 80 00 80 03 00
)而变化。