最近在折腾树莓派,用到了串口,为了在自己的程序(基于Python)中可以控制串口的收发,便研究了下如何使用Python控制串口
在Python中控制串口,我使用的是pyserial模块,为了方便自己在其他地方的使用,封装了一个串口访问的类方便调用,在这记录下,整体类代码如下,仅供学习交流。
# coding:UTF-8
import serial
import time
import serial.tools.list_ports
'''
串口功能封装,实现的功能包括
1.自动获取计算机中的列表
2.配置串口参数包括串口号、波特率、数据位、校验位、停止位
3.收发数据
4.打开关闭串口
'''
class serial_tools:
'''
初始化:实例化类后执行的函数,实现功能如下
1.调用串口
2.设置runing状态标志位,判断串口是否处于打开状态,用于后面返回接口状态并根据状态进行打开关闭串口操作
3.打印初始化信息
'''
def __init__(self,window):
self.ser=serial.Serial()
self.runing=True
print('from '+window+' initialing serial tools...')
def Com_list(self):
'''
获取串口列表:获取计算机中所有串口,以列表形式返回。若没有实际串口,也没有虚拟串口则返回‘无可用串口’
'''
plist = list(serial.tools.list_ports.comports())
if len(plist) <= 0:
return ['无可用串口']
else:
list_com=[]
for i in range(len(plist)):
list_com.append(str(plist[i]))
return list_com
def format_serial_config(self, s_config):
'''
格式化串口配置信息:将数据位、校验位、停止位转化为pyserial中可识别的属性值,返回字典
'''
s_bytesize={'5':ser
来源:https://blog.csdn.net/jayhgq/article/details/102754401