pySerial-更新太慢

时间:2019-02-25 13:38:24

标签: python python-3.x 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

0 个答案:

没有答案