首页 > 解决方案 > 在pyserial中管理读写切换之间的正确时间?

问题描述

我在 Python 3 中使用 pyserial 模块。我首先写入串行,然后将波特率从 300 更改为 4800,然后读取它。但中间有一些问题。那么在更改 UART 设置之前,如何确保消息的每个字节都已发送(在物理线路上)?下面是我的代码。

try:
    ser.write(Acknowledgement_message) #Sending Ack Message to Serial
    print("Acknowledgement messsage sent")  
except:
    print("could not send Acknowledgement message")
    ser.close()
    return ""
ser.baudrate=new_baudrate   #Setting new baud-rate as 4800 after sending the Ack message
time.sleep(tr)
print("baud-rate set to 4800")
datablock = ""
try:
    x=ser.read() #Again reading the data block
    print(x)
except:
    print("Could not read STX----")
    ser.close()
    return ""

是否有任何解决方案来管理正确的时序(当最后一个字节的停止位离开 UART 时更改波特率)?谢谢!

标签: python-3.xserial-portpyserialrs485

解决方案


推荐阅读