我已经使用了pyserial几天了。但是,今天出现了问题。我遇到了串行写入超时。几天前,当我使用开关时,一切正常。但是今天我换了另一个开关。然后出现串行写入超时。我没有更改任何代码,但是问题实际上非常严重。更严重的是,超时并不总是发生,这意味着有时我可以成功地写入串行。

ser = serial.Serial( #Serial COM configuration
    port='COM5',
    baudrate=9600,
    parity=serial.PARITY_NONE,
    stopbits=serial.STOPBITS_ONE,
    bytesize=serial.EIGHTBITS,
    rtscts=True,
    timeout=2,
    writeTimeout=5
  )
strInput = "show ver"
ser.flushInput()
ser.flushOutput()
ser.write(strInput.encode('utf-8')+b'\n')


我确保端口为COM5,交换机的波特率为9600。非常感谢您回答我的问题。

最佳答案

我最近遇到了这个问题。我发现设置write_timeout=0解决了该问题(也不太确定为什么甚至存在写超时...)

另一个答案here暗示了同样的事情:)

关于python - python串行写入超时,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39032581/

10-12 22:05