我无法从我的 BLE 设备收到完整的响应,而我应该收到使用 flutter_blue 写入特征的命令的完整响应。我收到的响应是我发送的写入命令本身。收到的响应正在正确解码。
我试图编写的命令是 OBDII 协议(protocol)
AT Z
AT H0
AT H0
AT L0
AT S0
01 0C
令人惊讶的是,命令“AT Z”给出了正确的响应“ELM 327v1.5”。这是我收到正确响应的唯一命令。所有其他命令都返回命令本身,这是部分正确的,因为大多数时候实际响应是与命令名称一起接收的。
响应读取和解码是通过以下方式实现的
await read_CX.setNotifyValue(true);
read_CX.value.listen((response) {
print(utf8.decode(response));
}
有人遇到过类似的接收不完整数据的问题吗?谁能帮帮我吗?
谢谢!!
最佳答案
首先,将 ATE0\r
添加到您的初始化序列中,这将阻止适配器回显您发送的内容。
然后,熟悉一下ELM327提供的AT命令,例如:通过阅读https://www.elmelectronics.com/wp-content/uploads/2016/07/ELM327DS.pdf .
关于flutter - 从 BLE 设备收到的不完整响应出现抖动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65436630/