python - pySerial - 更新太慢
问题描述
我在 Windows 上,通过串行以 115200 波特率从另一台设备读取数据。传入的数据来自一个微控制器,该微控制器连接了一个传感器,发送整数传感器(陀螺仪)读数,范围从 1 到 25。
我使用 PuTTY 连接到它,我可以完美地读取这些值,并且当我移动陀螺仪时它们几乎会立即更新。
但是,当我使用下面的 python 代码时,在我移动陀螺仪后它需要将近 20-25 秒才能更新。为什么需要这么长时间?我如何解决它?我尝试了各种各样的事情,比如改变超时,增加睡眠延迟,没有任何效果。
import serial
ser = serial.Serial(COM1, 115200, timeout=0)
ser.flushInput()
while True:
DATA = ser.readline()
VAL = DATA[0:len(DATA)-1].decode("utf-8")
print(VAL)
编辑:
import serial
import time
ser = serial.Serial(COM1, 115200, timeout=0)
ser.flushInput()
while True:
DATA = ser.readline()
VAL = DATA[0:len(DATA)-1].decode("utf-8")
print(VAL)
bufClear = ser.read(ser.inWaiting())
time.sleep(0.5)
现在我可以让它快速更新,但它似乎删除了一些信息。有时。例如,如果我将陀螺仪移动到对应于 22 的值。打印输出就像
22
22
2
2
2
22
解决方案
推荐阅读
- reactjs - TypeError: 获取 API 失败。反应原生
- node.js - eciesjs 解密时出错`错误:预期的私钥是长度为 32 的 Uint8Array`
- xml - 如何在 XMLTABLE Oracle 中为单个列使用不同的路径
- html - 正文内容与页脚重叠
- python - TypeError: no default __reduce__ 由于非平凡的 __cinit__
- database - 如何避免不同项目修改数据库的冗余?
- angular - 自定义路由名称 Angular
- tensorflow - 自定义优化器错误--> TypeError: Expected tf.group() expected Tensor arguments not 'None' with type '
' - apache-spark - java.io.InvalidClassException:; 无法在 spark 中创建 java.io.ObjectInputStream.readSerialData 导致的实例
- php - 使用 php 使用单个插入语句在 mongodb 集合中插入多个文档