python-3.x - 在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 时更改波特率)?谢谢!
解决方案
推荐阅读
- mysql - 我们如何在 mongodb 中编写以下 mysql 查询?我需要通过忽略用户集合中存储的用户名字段中的一些字符来搜索文本
- amazon-web-services - 我如何“体验”我的 S3 对象已加密
- regex - 我该如何结合
- apache-kafka - KafkaMessageListenerContainer.stop() 没有停止在消息侦听器中消费消息
- javascript - 如何保存 Firebase 身份验证的成功登录结果?
- php - PHP 创建同一个对象的 2 个或多个实例,是否可以从第一个对象中检索信息?
- node.js - 从浏览器外部(即在服务器上)访问 Mesibo 视频和音频流
- android - Google Play/App Store 应用内商品,限制用户购买商品
- javascript - ng-select 多个复选框选择
- facebook - Facebook Marketing API 在“故障调用”上返回错误