当数据进入python中的串行端口时触发的函数

问题描述

我通过在一个单独的线程中连续读入true的同时检查传入的数据。我不希望它持续工作。是否有仅在数据到达时才触发的功能

我的代码

import threading
import serial

connected = False
port = "COM3"
baud = 115200

serial_port = serial.Serial(port,baud,timeout=0)

def handle_data(data):
    print(data)

def read_from_port(ser):
        select_read(serial_port)
        serin = ser.read()
        connected = True

        while True:
           reading = serial_port.in_waiting
           reading = ser.readline().decode()
           if len(reading) > 5:       
                handle_data(reading)


def set_data():
    while True:
        print("input: ")
        num1 = str(input())
        serial_port.write(num1.encode());

thread = threading.Thread(target=read_from_port,args=(serial_port,))
thread2 = threading.Thread(target=set_data)
thread.start()
thread2.start()

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)