python - 当数据到达python中的串口时触发的功能
问题描述
我通过在单独的线程中连续读取而检查传入的数据。我不希望它一直工作。有没有只有数据到达时才会触发的功能?
我的代码:
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()
解决方案
推荐阅读
- typescript - 精炼联合型
- java - jacoco 代码覆盖率报告除了应用程序代码之外还包括 maven 依赖项
- javascript - HTML更改单选按钮背景
- android - 我应该怎么做才能从 Firebase 隐藏弹出菜单?
- laravel - 为什么排队 7k 作业后出现超时错误?
- c# - C# Windows 窗体 WMPLib 无法设置当前位置
- bash - 逐行重新排序或排序
- c - 我是否需要从另一个目录编译单独包含的头文件?
- java - 为什么 System.out.println 不能打印“C:\Users\Public”?
- c - 有没有办法在 VSCode 调试器中禁用段错误异常?