最近开发一个项目需要使用python进行串口的数据发送和接收,在查询资料和实际测试后终于找到一个比较好用的串口通信代码,如下:
# -*- coding: utf-8 -*-
import serial
#打开串口
serialPort="COM3" #串口号
baudRate=9600 #波特率
ser=serial.Serial(serialPort,baudRate,timeout=0.5)
print("参数设置:串口=%s ,波特率=%d"%(serialPort,baudRate))#输出串口号和波特率
#收发数据
while 1:
str = input("请输入要发送的数据(非中文)并同时接收数据: ")
ser.write((str+'\n').encode())
print(ser.readline())#可以接收中文
ser.close()
串口通信调试双方为:python端和串口通信助手
为能够在一台电脑上测试串口通信,我们需要借助VSPD这个软件。借助VSPD这个软件将电脑上COM3和COM4的 TX 和 RX相互短接起来,具体操作是在右边:
First port选择COM3
Second port选择COM4
其实First port和 Second port的顺序并不重要,颠倒顺序也是可以的。选择完毕后点击Add pair即可实现COM3 和 COM4间的通信,并且建立通信的串口会在左侧Virtual ports显示出来。如果需要删除选中的COM口,选中后点击右边下面的Delete pair即可。
在建立COM3和COM4之间的通讯联系后,分别使用串口调试助手和python代码打开COM4和COM3进行串口的通信,具体操作如下:
串口通信测试结果如下: