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

问题描述 投票:2回答:1

解决: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'\x54\x30\x34\x0D'

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)

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

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

python serial-port pyserial
1个回答
© www.soinside.com 2019 - 2024. All rights reserved.