Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python串行通信每秒5波特_Python_Serial Port_Baud Rate_Obd Ii - Fatal编程技术网

Python串行通信每秒5波特

Python串行通信每秒5波特,python,serial-port,baud-rate,obd-ii,Python,Serial Port,Baud Rate,Obd Ii,我正在编写一些代码,以便使用Python串行从OBD II模拟器中读取。如果我以每秒115200波特的速度连接,我可以正常与它通信 但是为了初始化它,我需要以每秒5波特的速度通过串行写入0x33。但我在Python串行中只能使用以下波特率: (50, 75, 110, 134, 150, 200, 300, 600, 1200, 1800, 2400, 4800, 9600, 19200, 38400, 57600, 115200) 有人知道如何以每秒5波特的速度发送数据吗? 我尝试过很多疯狂

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

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

(50, 75, 110, 134, 150, 200, 300, 600, 1200, 1800, 2400, 4800, 9600, 19200, 38400, 57600, 115200)
有人知道如何以每秒5波特的速度发送数据吗?

我尝试过很多疯狂的事情(比如睡觉读甜菜),但都没有成功


任何帮助都将不胜感激

我可能错了,但您可能需要缓慢启动: 在中,指定通过“ATSI”命令执行此操作:
“协议3和协议4使用有时称为5波特或慢速启动序列来开始通信。通常,该序列在需要发送第一条消息时执行,然后立即发送消息。但是,一些ECU可能需要在这两者之间花费更多的时间,并且使用单独的启动命令允许您要控制这个时间,只需在SI发送,稍等片刻,然后发送消息。您可能需要进行一些实验,以获得适当的延迟量。 必须选择协议3或4才能使用AT SI命令,否则将导致错误。“


希望有帮助。

你是说每秒5位吗?据我所知,这不是RS232通信的标准波特率。你确定这就是规范要求的吗?如果是这样,那么这意味着ODB II不使用RS232协议进行通信,因此您需要自己实现一些功能。您能否链接到规范中描述此要求的部分?假设确实需要5波特,您必须手动重新编程波特率生成器。这不是应用程序中的典型任务。我使用的是带有ISO 9141-2协议的Ecusim 200。以下是指向用户指南的链接:。并链接到硬件说明:忘了说,请参阅《用户指南》第10页第6.1节。不要将
初始配置
串行通信
混用。对于
初始设置
,这只是通过串行端口接受逻辑输入。