0

我正在编写一些代码以使用Python Serial从OBD II 模拟器中读取。如果我使用每秒 115200 波特进行连接,我可以正常与它通信。

但为了初始化它,我需要以每秒 5 波特的速度通过串行写入 0x33。但我可以在 Python Serial 中使用的唯一波特率如下:

(50, 75, 110, 134, 150, 200, 300, 600, 1200, 1800, 2400, 4800, 9600, 19200, 38400, 57600, 115200)

有人知道如何以每秒 5 波特的速度发送数据吗?

我尝试了许多疯狂的事情(比如在阅读之间睡觉),但没有任何成功。

任何帮助将不胜感激!

4

1 回答 1

0

我可能错了,但您可能需要进行慢速启动:在ELM327 数据表中指定这是通过“ ATSI ”命令完成的:
“协议 3 和 4 使用有时称为 5 波特或慢速启动序列的命令开始通信。通常,在需要发送第一个消息时执行该序列,然后立即发送消息。但是,某些 ECU 可能需要在两者之间花费更多时间,并且具有单独的启动命令可以让您控制这次只需发送 AT SI,稍等片刻,然后发送消息。您可能需要进行一些试验才能获得合适的延迟量。必须选择协议 3 或 4 才能使用 AT SI 命令,否则会出错结果。”

希望能帮助到你。

于 2015-03-06T14:52:41.533 回答