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库--串口通信相关推荐

  1. 【STM32】标准库与HAL库对照学习教程八--串口通信详解

    [STM32]标准库与HAL库对照学习教程八--串口通信详解 一.前言 二.准备工作 三.通信的基本概念 1.通信方式 2.串行通信与并行通信 (1)串行通信 (2)并行通信 3.异步通信与同步通信 ...

  2. python内置库之学习configparser库(一)

    python内置库之学习configparser库(一) 1.引言 ini文件简介 [节] 键=值 注:节不能重复出现 2.自己封装了一个增删改查的类,可以参考一下 import configpars ...

  3. 【K210】K210学习笔记五——串口通信

    [K210]K210学习笔记五--串口通信 前言 K210如何进行串口通信 K210串口配置 K210串口发送相关定义 K210串口接收相关定义 K210串口发送接收测试 完整源码 前言 本人大四学生 ...

  4. 【Unity学习】关于串口通信插件SerialPortUtilityPro的简单使用个人案例

    [Unity学习]关于串口通信插件SerialPortUtilityPro的简单使用个人案例 前言 需求分析 串口发送数据 串口接收数据并解析 结语 前言 关于插件资源,请去资源商店购买或使用其试用版 ...

  5. 51单片机学习--定时器--中断--串口通信

    51单片机学习–定时器–中断–串口通信 定时器–中断–串口通信 中断分类 定时器中断 外部中断 串口中断 基本概念 对于单片机来讲, 中断是指 CPU 在处理某一事件 A 时, 发生了另一事件 B, ...

  6. python内置库之学习ctypes库(二)

    ctypes库踩坑日记2 一.自己实现一个dll文件,再用python的ctypes库调用思路1更清晰 二.生成dll文件 三.ctypes库调用 一.自己实现一个dll文件,再用python的cty ...

  7. Python使用pyserial进行串口通信

    安装pyserial pip install pyserial 1 查看可用的端口 # coding:utf-8import serial.tools.list_portsplist = list(s ...

  8. python做上位机读usb数据_使用python实现win10系统和arduino usb串口通信

    前言 arduino有很多可以直接使用的传感器,可以很方便的获取大量的环境数据. 常见的有:温度(室温,冰箱,水箱等场景) 湿度(房间空气湿度,花盆土壤湿度等场景) 声(声控灯,噪音检测,深海测量,医 ...

  9. 51单片机学习笔记-6串口通信

    6 串口通信 [toc] 注:笔记主要参考B站江科大自化协教学视频"51单片机入门教程-2020版 程序全程纯手打 从零开始入门". 注:工程及代码文件放在了本人的Github仓库 ...

最新文章

  1. kafka入门之broker--日志存储设计
  2. ZOJ 2562 More Divisors
  3. Python3利用pymysql操作 MySQL
  4. linux对于文本的操作,Linux文本文件操作
  5. Python包管理器-pip
  6. Android逆向系列之ARM语法篇
  7. .net pc微信扫码登录
  8. 在css文件中字体加粗属性是,css样式表中字体加粗的属性是什么?
  9. 百度地图标记点加点击事件和鼠标移入事件并添加数据
  10. html如何绘制树结构图,HTML 5 Canvas 递归画树
  11. 慎用 Xmarks 多平台同步书签
  12. 微信里文件小程序导不出来_如何把小程序保存为文件 微信小程序导出文件
  13. MT4 获取当前订单的开单价格
  14. 查询我的订单功能的实现
  15. 工作站Ubuntu16.04环境下安装nvidia显卡驱动
  16. layui.js和layui.all.js的区别
  17. js Function对象扩展与延时执行函数实例代码
  18. Educational Codeforces Round 74 (Rated for Div. 2)
  19. 处理ceph-deploy mon create-initial报错
  20. 九江学院计算机专业好就业吗,九江学院好就业吗?九江学院就业率怎么样?

热门文章

  1. 2022-2028年中国盲盒行业市场研究及前瞻分析报告
  2. 2022-2028年中国量子点膜行业市场调查分析及未来前景分析报告
  3. 如何使用vs来运行box2d中Testbed的案例
  4. vim中tab键8空格换4空格
  5. 【J2SE】学习基础
  6. 机房收费系统【VB版】——上下机
  7. mysql根据时间取前后几秒,几分钟,几小时,几天,几月,几年
  8. 矩阵拼接 cat padding_pytorch
  9. QNX Hypervisor管理程序
  10. 北汽蓝谷和北汽新能源