python串口同时接收和发送数据
时间: 2023-08-25 16:04:53 浏览: 53
在Python中,你可以使用`pyserial`库来实现串口的同时接收和发送数据。下面是一个简单的示例代码:
```python
import serial
import threading
# 创建串口对象
ser = serial.Serial('COM1', 9600)
# 接收数据的线程函数
def receive_data():
while True:
if ser.in_waiting:
data = ser.readline().decode().strip()
print('接收到数据:', data)
# 启动接收数据的线程
receive_thread = threading.Thread(target=receive_data)
receive_thread.start()
# 发送数据
while True:
message = input('请输入要发送的数据:')
ser.write(message.encode())
```
在上面的代码中,我们首先创建了一个串口对象`ser`,指定了串口的名称和波特率。然后定义了一个`receive_data()`函数作为接收数据的线程函数,该函数不断地从串口缓冲区中读取数据并打印出来。接着启动了一个线程来执行接收数据的函数。
在主线程中,我们通过`input()`函数获取用户输入的数据,并使用`ser.write()`方法将数据发送到串口。
这样,程序就可以同时接收和发送串口数据了。记得根据实际情况修改串口名称和波特率。