如何在没有输入任何命令的情况下使用while 1时在pyserial python中终止ser.read?

时间:2018-06-06 14:43:36

标签: python python-2.7 serial-port pyserial uart

我正在尝试编写一个脚本,目前我正在直接使用ser.read()并打印值,但是我想编写一个函数,它等待一段时间读取所有char而不是循环。当前循环打印所有char但没有离开循环,我必须编辑并通过键盘单击退出。但我想要一个脚本,它读取和退出,用户不需要做任何事情。对不起,如果一个noob问题,但新的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 :(得分:0)

如果您想在退出前等待一段时间,请尝试这样的事情。在此示例中,代码将等待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")