Python Cmd - прослушивать последовательный порт в режиме ожидания - PullRequest
0 голосов
/ 07 февраля 2019

Я пишу программу на Python с использованием пакетов Cmd и pySerial.

Программа запускает оболочку cmd, в которой пользователь пишет команду, команда переводится в формат сообщения, сообщение отправляетсячерез последовательный порт программа прослушивает последовательный порт для ответа, программа печатает ответ.

пример:

ser = serial.Serial(COM1, 115200)

class cmdClass(Cmd):
    def do_read_register(self, args):
        msg_tx = ...
        ser.write(msg_tx)
        time.sleep(1)
        while ser.inWaiting() > 0:
            msg_rx += ser.read()
        print(">> " + msg_rx)

if __name__=='__main__':
    cmdMain = cmdClass()
    cmdMain.cmdloop()

Устройство, подключенное к последовательному порту, также может инициировать сообщения,без предварительного получения сообщения от программы (игнорируйте возможные проблемы с последовательным портом).

Можно ли заставить программу прослушивать последовательный порт каждые несколько секунд для сообщений во время простоя программы (в ожидании команд от пользователя) и выводить их на экран?

Спасибо!

...