Как завершить ser.read в pyserial python при использовании с while 1 без ввода каких-либо команд? - PullRequest
0 голосов
/ 06 июня 2018

Я пытаюсь написать скрипт, в настоящее время я использую ser.read () напрямую и печатаю значения, но я хочу написать функцию, в которой она ждет некоторое время, читает все символы и затем выходит из цикла.Текущий цикл печатает весь символ, но не выходит из цикла, и мне нужно либо отредактировать его, и заставить его выйти щелчком клавиатуры.Но мне нужен скрипт, где он читает и завершает работу, и пользователю не нужно ничего делать.Извините, если новый вопрос, но новый с Python и Pyserial

if(ser.isOpen()):
    try:
def read():
    ser.flushInput()    
    while 1:
    try:
        check = ser.read()
        print check
    except Exception:
        print("Error")
else:
    print("Port not open")

1 Ответ

0 голосов
/ 06 июня 2018

Если вы хотите подождать некоторое время перед выходом, попробуйте что-то вроде этого.В этом примере код будет ждать 5 секунд.

import time

def read():
    ser.flushInput()
    start_time = time.time()
    while time.time() - start_time < 5:
        try:
            check = ser.read()
            print check
        except Exception:
            print("Error")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...