无法多次写入同一端口(pyserial)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了无法多次写入同一端口(pyserial)相关的知识,希望对你有一定的参考价值。

解决:dsrdtr = True不应仅用于软件,仅用于正在使用的硬件上

嗨,我正在尝试将电报写入串口,并可以成功发送一个。如果我发送多个没有任何反应。必须关闭脚本,此时成功接收第一个电报。

制造商建议在电报之间间隔50ms,即使间隔> 5s仍然会失败。

s = serial.Serial(
port='COM3',
baudrate=9600,
parity=serial.PARITY_ODD,
stopbits=serial.STOPBITS_ONE,
timeout=0,
bytesize=serial.SEVENBITS,
dsrdtr=True             
)

buttonUP=b'x54x30x34x0D'

s.write(buttonUP)
time.sleep(0.05)
s.write(buttonUP)
time.sleep(0.05)
s.write(buttonUP)

如果相反,我写

s.write(buttonUP)
s.close()
s.open()
s.write(buttonUP)

这有效,但关闭/打开造成的延迟对我们的要求来说太长了。

有没有人对可能导致此问题的原因有任何想法?非常感谢您的帮助

以上是关于无法多次写入同一端口(pyserial)的主要内容,如果未能解决你的问题,请参考以下文章

Pyserial:无法配置端口:(5,'输入/输出错误)

pySerial:端口只工作第一个命令

Pyserial错误:无法打开端口

PySerial 客户端无法写入数据

重启后Pyserial的串行连接问题

linux-pyserial:无法打开端口 /dev/ttyAMA0 没有这样的文件或目录