Pyserial readline возвращает пустую строку при вызове из внешнего метода - PullRequest
0 голосов
/ 29 октября 2019

Хорошо, у меня есть arduino с кодом, который отвечает на определенные ключевые слова. Он отлично работает в последовательном мониторе arduino, но мой код на python не распечатывает ответ и зависает после ввода.

Вот мой код

import serial
from time import sleep

ser = serial.Serial('COM4', baudrate = 9600, timeout = 1)

def requestData(query):
    ser.write(bytes(query, 'utf-8'))
    data = ser.readline().decode('ascii')
    return data

while True:
    rc = ser.readline()
    if len(rc) > 2:
        print(rc.decode('ascii'))
        if rc.startswith(bytes('READY', 'utf-8')):
            userInput = input('QUERY?')
            print(requestData(userInput))
    sleep(.1)

Сообщения, отправленные во время настройки в arduino, отображаются нормально, но больше ничего после этого.

...