pySerial - обновление слишком медленное - PullRequest
0 голосов
/ 25 февраля 2019

Я в Windows, читаю данные через Serial с другого устройства со скоростью 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
...