最近由于工作需要,因此我对使用python编写程序来实现与串口的通讯进行了学习。
首先我先说一下python中对串口操作所使用的模块Serial,安装方法如下所示:
打开cmd窗口输入:python -m pip install pyserial
安装成功之后就可以使用它来进行与串口之间的通讯了。
serial模块中常用的函数方法如下:
#第一个参数为串口名称,第二个参数为波特率
serial = serial.Serial('COM1', 9600)
#第一个参数为串口名称,第二个参数为波特率(linux)
serial2 = serial.Serial('/dev/ttyS0', 9600)
#打开串口
serial.open()
#关闭串口
serial.close()
#看到第一个串口的标识
print(serial.portstr)
#写数据
serial.write("python")
#读取n个字符
data = serial.read(n)
#读取一行数据,以换行符(/n)结束
serial.readline()
#设置波特率
serial.baudrate = 9600
#查看串口状态
print(serial)
#判断串口是否已经打开,若打开返回true
serial.isOpen()
#判断当前接收的数据
serial.inWaiting()
#清除输入缓冲区数据
serial.flushInput()
#清除输出缓冲区数据并终止输出
serial.flushOutput()
下面是进行串口通讯的程序代码:
#!/usr/bin/python
# coding=UTF-8
import serial
serial = serial.Serial('COM1', 115200)
print(serial)
if serial.isOpen():
print("open success")
else:
print("open failed")
try:
while True:
count = serial.inWaiting()
if count > 0:
data = serial.read(count)
print("receive:", data)
serial.write(b'receive:')
serial.write(data)
except KeyboardInterrupt:
if serial != None:
serial.close()
接下来与串口进行通讯,我这里用的虚拟串口软件,如果有需要可以去我的下载中心下载,我会上传上去。