python第三方库之学习pyserial库--串口通信
pyserial串口通信库
- 1.安装pyserial库
- 2.填写串口参数的注意事项
- 3.简单封装一下
- 4.碰到的bug
1.安装pyserial库
pip install pyserial
version版本3.5
2.填写串口参数的注意事项
timeout 浮点类型(可以控制读超时时间)
write_timeout 浮点类型 (写入超时时间)
发送方和接收方波特率两边要一致
流控(看情况而定)
清空输入缓冲区
flushInput()
清空输出缓冲区
flushOutput()
read()一下读取太多内容,可能会出错,我这里使用场景暂时没有碰到
== 注: 这里要引用import serial,而不是pyserial==
3.简单封装一下
from serial.tools.list_ports import comports
import serialclass L_Serial():def __init__(self,port:str=None, baudrate:int=9600, bytesize=serial.EIGHTBITS,parity=serial.PARITY_NONE, stopbits=serial.STOPBITS_ONE,timeout:float=None, xonxoff:bool=False, rtscts:bool=False, write_timeout:float=None,dsrdtr:bool=False, inter_byte_timeout:float=None, exclusive:bool=None):""":param port: com口:param baudrate:波特率:param bytesize:字符长度:param parity:校验位:param stopbits:停止位:param timeout:超时时间 (可以控制读超时时间):param xonxoff:软流控:param rtscts:启用硬件 (RTS/CTS) 流控制。:param write_timeout:写入超时时间 float:param dsrdtr:启用硬件 (DSR/DTR) 流控制:param inter_byte_timeout: 字符间超时:param exclusive:设置独占访问模式(仅限 POSIX)。如果端口已经以独占访问模式打开,则无法以独占访问模式打开该端口"""self.serial=serial.Serial(port,baudrate,bytesize, parity, stopbits, timeout, xonxoff, rtscts, write_timeout, dsrdtr, inter_byte_timeout, exclusive)def read(self, size=1):"""一下读太多的可能会导致读取错误:param size::return:"""return self.serial.read(size)def write(self,data):"""写入数据会返回字符长度:param data::return:"""return self.serial.write(data.encode())@propertydef isOpen(self):"""判断com口是否打开"""return self.serial.isOpen()@staticmethoddef cat_com_list():"""查看当前电脑的com口列表没有就返回空列表:return:['COM1','COM2'] or []"""try:port_list=list(comports())com_list = []if len(port_list)<=0:passelse:for i in range(0,len(port_list)):port_list_0 = list(port_list[i])port_serial = port_list_0[0]com_list.append(port_serial)return com_listexcept Exception as e:print("查看com口列表失败",e)#这里写的com6是电脑上搜索到的,不是随便填的数字哦
#win10找到com方式,右击此电脑点击管理,找到设备管理器,找到端口里面就有com口cc=L_Serial('COM6',19200)#判断com口是否打开
print(cc.isOpen)
#写数据
cc.write("AAA")
#读数据
cc.read()
cc.cat_com_list()
4.碰到的bug
win7和win10部署可能会有稍微的变化
发送方是win10系统,接收方是win7系统,就出现接收方卡顿的情况
write可能会卡顿(接收方一顿一顿的)
解决方案:发送方和接收方都建议使用win10版本
如果没有碰到请忽略
pyserial官方文档: https://pyserial.readthedocs.io/en/latest/pyserial_api.html
python第三方库之学习pyserial库--串口通信相关推荐
- 【STM32】标准库与HAL库对照学习教程八--串口通信详解
[STM32]标准库与HAL库对照学习教程八--串口通信详解 一.前言 二.准备工作 三.通信的基本概念 1.通信方式 2.串行通信与并行通信 (1)串行通信 (2)并行通信 3.异步通信与同步通信 ...
- python内置库之学习configparser库(一)
python内置库之学习configparser库(一) 1.引言 ini文件简介 [节] 键=值 注:节不能重复出现 2.自己封装了一个增删改查的类,可以参考一下 import configpars ...
- 【K210】K210学习笔记五——串口通信
[K210]K210学习笔记五--串口通信 前言 K210如何进行串口通信 K210串口配置 K210串口发送相关定义 K210串口接收相关定义 K210串口发送接收测试 完整源码 前言 本人大四学生 ...
- 【Unity学习】关于串口通信插件SerialPortUtilityPro的简单使用个人案例
[Unity学习]关于串口通信插件SerialPortUtilityPro的简单使用个人案例 前言 需求分析 串口发送数据 串口接收数据并解析 结语 前言 关于插件资源,请去资源商店购买或使用其试用版 ...
- 51单片机学习--定时器--中断--串口通信
51单片机学习–定时器–中断–串口通信 定时器–中断–串口通信 中断分类 定时器中断 外部中断 串口中断 基本概念 对于单片机来讲, 中断是指 CPU 在处理某一事件 A 时, 发生了另一事件 B, ...
- python内置库之学习ctypes库(二)
ctypes库踩坑日记2 一.自己实现一个dll文件,再用python的ctypes库调用思路1更清晰 二.生成dll文件 三.ctypes库调用 一.自己实现一个dll文件,再用python的cty ...
- Python使用pyserial进行串口通信
安装pyserial pip install pyserial 1 查看可用的端口 # coding:utf-8import serial.tools.list_portsplist = list(s ...
- python做上位机读usb数据_使用python实现win10系统和arduino usb串口通信
前言 arduino有很多可以直接使用的传感器,可以很方便的获取大量的环境数据. 常见的有:温度(室温,冰箱,水箱等场景) 湿度(房间空气湿度,花盆土壤湿度等场景) 声(声控灯,噪音检测,深海测量,医 ...
- 51单片机学习笔记-6串口通信
6 串口通信 [toc] 注:笔记主要参考B站江科大自化协教学视频"51单片机入门教程-2020版 程序全程纯手打 从零开始入门". 注:工程及代码文件放在了本人的Github仓库 ...
最新文章
- kafka入门之broker--日志存储设计
- ZOJ 2562	 More Divisors
- Python3利用pymysql操作 MySQL
- linux对于文本的操作,Linux文本文件操作
- Python包管理器-pip
- Android逆向系列之ARM语法篇
- .net pc微信扫码登录
- 在css文件中字体加粗属性是,css样式表中字体加粗的属性是什么?
- 百度地图标记点加点击事件和鼠标移入事件并添加数据
- html如何绘制树结构图,HTML 5 Canvas 递归画树
- 慎用 Xmarks 多平台同步书签
- 微信里文件小程序导不出来_如何把小程序保存为文件 微信小程序导出文件
- MT4 获取当前订单的开单价格
- 查询我的订单功能的实现
- 工作站Ubuntu16.04环境下安装nvidia显卡驱动
- layui.js和layui.all.js的区别
- js Function对象扩展与延时执行函数实例代码
- Educational Codeforces Round 74 (Rated for Div. 2)
- 处理ceph-deploy mon create-initial报错
- 九江学院计算机专业好就业吗,九江学院好就业吗?九江学院就业率怎么样?