Я в 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