在Ubuntu系统中,可以使用多种方式来实现串口的多线程通信,其中一种比较常见且简单的方法是使用Python编程语言结合pySerial库来实现。
以下是一个示例代码,演示了如何在Ubuntu系统中使用Python和pySerial库实现串口的多线程通信:
import serial import threading # 串口配置 ser = serial.Serial('/dev/ttyUSB0', 9600, timeout=1) # 读取串口数据的线程 def read_serial(): while True: data = ser.readline().decode().strip() if data: print(f"Received data: {data}") # 写入串口数据的线程 def write_serial(): while True: data = https://www.yisu.com/ask/input("Enter data to send: ") ser.write(data.encode()) # 创建并启动读取串口数据的线程 read_thread = threading.Thread(target=read_serial) read_thread.start() # 创建并启动写入串口数据的线程 write_thread = threading.Thread(target=write_serial) write_thread.start()
在上面的代码中,首先配置了串口(/dev/ttyUSB0),然后创建了两个线程,一个用于读取串口数据,另一个用于写入串口数据。read_serial函数通过ser.readline()方法读取串口数据,write_serial函数通过ser.write()方法向串口写入数据。
通过这种方式,我们可以实现串口的收发数据功能,并且读取和写入串口数据的操作是在不同的线程中进行,保证了并发性和实时性。