[pyserial]使用Python控制串口

∥☆過路亽.° 提交于 2019-12-02 11:07:50

最近在折腾树莓派,用到了串口,为了在自己的程序(基于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
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!