python 串口多线程
时间: 2023-06-25 14:07:35 浏览: 128
python多线程编程实现网络串口透传
在 Python 中使用多线程来进行串口操作,可以使用 PySerial 库。以下是一个简单的例子:
```python
import threading
import serial
ser = serial.Serial('/dev/ttyUSB0', 9600) # 根据实际情况设置串口号和波特率
class SerialThread(threading.Thread):
def __init__(self):
threading.Thread.__init__(self)
def run(self):
while True:
data = ser.readline().strip() # 读取串口数据
if data:
print(data.decode('utf-8')) # 输出串口数据
if __name__ == '__main__':
serial_thread = SerialThread()
serial_thread.start() # 启动串口线程
while True:
user_input = input('Enter your command: ')
ser.write(user_input.encode('utf-8')) # 向串口写入数据
```
在上面的例子中,我们使用了一个 `SerialThread` 类来封装串口读取操作,并在其中使用了一个死循环来不断读取串口数据。在主线程中,我们通过 `input` 函数读取用户输入并向串口写入数据。通过这种方式,我们可以同时进行串口读写操作而不会相互干扰。
阅读全文