pyserial库来建立串口通信的简单示例代码。以下是一个基本的例子,展示了如何打开串口,发送和接收数据:
# 安装pyserial
pip install pyserial
# 建立通信
import serial
import time
# 串口配置参数
SERIAL_PORT = '/dev/ttyUSB0' # 串口名称,Windows上可能是'COM3'或类似的
BAUD_RATE = 9600 # 波特率
# 打开串口
ser = serial.Serial(SERIAL_PORT, BAUD_RATE, timeout=1)
# 检查串口是否打开
if ser.is_open:
print(f"串口 {SERIAL_PORT} 已打开,波特率为 {BAUD_RATE}")
else:
print("无法打开串口")
exit()
try:
# 发送数据
message = b'Hello, serial port!' # 要发送的数据,注意是字节类型
ser.write(message)
print(f"已发送数据: {message}")
# 接收数据
if ser.in_waiting > 0:
response = ser.read(ser.in_waiting).decode() # 读取所有可用的数据,并解码为字符串
print(f"接收到数据: {response}")
else:
print("没有接收到数据")
# 可以进行更多的读写操作...
# 延时一段时间以便于观察
time.sleep(2)
except serial.SerialException as e:
print(f"串口错误: {e}")
finally:
# 关闭串口
if ser.is_open:
ser.close()
print("串口已关闭")
请注意,你需要将SERIAL_PORT变量设置为你机器上实际的串口名称。在Windows上,它可能是COM3、COM4等;在Linux和macOS上,它可能是/dev/ttyUSB0、/dev/ttyACM0等。同样,你可能需要根据你的设备设置来调整BAUD_RATE。
这个脚本首先尝试打开指定的串口,并检查是否成功。然后,它发送一个字节字符串到串口,并尝试读取任何返回的响应。最后,它关闭串口连接