Python使用pyserial实现串口收发
1.安装pyserial
pyserial是在python下用于实现串口通信的一个模块在cmd中使用pip安装即可。
pip install pyserial
在使用该模块时,在.py文件头部选择导入serial
import serial
2.获取端口列表
通过serial中的下述函数,可以返回当前windows中的端口列表
plist = list(serial.tools.list_ports.comports()) #获取端口列表
当print该列表时,会发现其中存储对象为是不直观的名称:
[<serial.tools.list_ports_common.ListPortInfo object at 0x0407B2F8>,
<serial.tools.list_ports_common.ListPortInfo object at 0x0407B328>,
<serial.tools.list_ports_common.ListPortInfo object at 0x0407B2B0>]
但是列表中的每个端口对象都是存储了端口各个信息的,可以通过如下代码来获取:
for port in plist:print('端口号:' + port[0] + ' 端口名:' + port[1])
端口号:COM1 端口名:通信端口 (COM1)
端口号:COM9 端口名:ELTIMA Virtual Serial Port (COM9->COM10)
端口号:COM22 端口名:USB Serial Port (COM22)
3.打开串口
在serial模块中使用serial.Serial()即可打开串口,其中可以配置各个参数,如:
port = serial.Serial(port = 'COM3', baudrate = 2400, bytesize = 8 , parity = 'E', stopbits = 1 , timeout= 1.0)
其中各个参数的含义为:
参数 | 含义 | 类型 | 备注 |
---|---|---|---|
port | 端口号 | string | |
baudrate | 波特率 | int | |
bytesize | 数据位 | int | |
parity | 校验位 | string | ‘E’表示Even偶校验 |
stopbits | 停止位 | int |
可以通过isOpen()函数来检验端口是否打开。
print(port.isOpen())
4.向端口写数据
通过write()函数即可向端口写如数据:
port.write(data)
不同的端口所接受的数据应该不同的?这边的环境经过尝试,可以成功写入的数据格式需要为列表,其中的每个数据需要以16进制的形式进行传输如:
data = [0x68 ,0x03 ,0x21 ,0x00 ,0x48 ,0x16]
5.从端口读数据
读取端口数据有多个函数:read(size)、readline(size)、read_all()等等,
由于终端的特性,有时候在读取串口时无法将所有数据都读出,这边可以使用延时函数将程序延时一段时间来让返回的数据可以全部被接受到
sleep(2.0)data = serial.read_all()
Python使用pyserial实现串口收发相关推荐
- ubuntu使用python读串口_21.python通过pyserial读写串口--2013-06-02
因为有个需要用有源RFID搞资产管理的项目,需要用python读取读卡器的串口内容.于是装了pyserial模块,用了下很方便,整理下常用功能 2,十六进制显示 十六进制显示的实质是把接收到的字符诸葛 ...
- Python使用pyserial进行串口通信
安装pyserial pip install pyserial 1 查看可用的端口 # coding:utf-8import serial.tools.list_portsplist = list(s ...
- python基于pyserial的串口通信
pyserial官方文档 该模块封装了串行端口的访问权限,它为windows, OSX, Linux, BSD(可能是任何POSIX兼容系统)提供接口. 下面将介绍如何打开串口以及如何配置串口: cl ...
- Python PyQt5 PySerial 书签备份 2018/12/6
Bookmarks 书签栏 PyQt5 事件和信号 · PyQt5 中文教程 艾伦智能/pyqt5 pyserial-github pySerial API - pySerial 3.0 docume ...
- python 串口助手 简书_python用pyserial读取串口问题解决
object is not callable Error: 'bool' object is not callable 没有返回值 正确代码: ser = serial.Serial('COM7', ...
- python linux 串口,python 实现linux串口收发数据源码
使用python实现在linux平台收发串口数据,源码如下: uart.py #!/usr/bin/python import serial,time,thread ser=serial.Serial ...
- Python学习之道-串口编程TEMI880温箱控制
Python学习之道-串口编程&TEMI880温箱控制 一.环境准备 安装pyserial库 pyserial库常用函数介绍 参考例程 二.开发实践 1.实践项目 2.协议介绍 2.1 一般的 ...
- [python] 3 、基于串口通信的嵌入式设备上位机自动测试程序框架(简陋框架)...
星期一, 20. 八月 2018 01:53上午 - beautifulzzzz 1.前言 做类似zigbee.ble mesh...无线网络节点性能测试的时候,手动操作然后看表象往往很难找出真正的原 ...
- Py之pyserial:Python的pyserial库的简介、安装、使用方法之详细攻略
Py之pyserial:Python的pyserial库的简介.安装.使用方法之详细攻略 目录 pyserial库的简介 pyserial库的安装 pyserial库的使用方法 pyserial库的简 ...
- python 使用pyserial控制温箱(附源码)
目录 前言: 温箱介绍: 开始编码工作: 官方文档解读: (1)发送的数据格式介绍: (2)发送数据举例: 构建转换进制的类: 构建读取温箱温度的方法: (1)按照文档规则拼接命令: (2)将温箱返回 ...
最新文章
- java中大数开方_Java中的大数运算
- “搬砖”机器人,每小时800块!
- 李宏毅机器学习课程5~~~分类:逻辑回归
- BugkuCTF-MISC题神奇宝贝
- CAD输出的局部平面坐标数据配准转换到WGS84坐标系
- 人工智能数学基础-python数值计算实战
- linux 目录权限及归属,Linux中如何设置目录或文件的归属及权限
- (原)War3 脚本分析4-触发器
- delphi IDE插件 cnpack 使用记录
- android word文件编辑器,AndroDOC Doc&Word的编辑器
- java转换docx为doc文件_JAVA - 将doc文档转为docx文档
- GNU Radio AM调制解调(一)
- flea-db使用之JPA分库分表实现
- FLV.js播放报错,及浏览器播放flv缓存内存不足导致黑屏
- 德乐生 java_【Senior Java Developer怎么样】德乐生软件2021年Senior Java Developer前景怎么样-看准网...
- python 学术论文,python论文_python 论文_python
- 如何计算java对象大小
- js画图开发库--mxgraph--[grid-网格.html]
- Linux内核cgroup使用介绍
- trinity的简介、下载及使用
热门文章
- JDBC的PreparedStatement接口
- 职称计算机execl试题,职称计算机考试EXCEL操作题
- matlab白噪声生成,数字信号处理——matlab生成白噪声
- SEAIR传染病模型及其开源代码
- excel表格如何转换成word表格_如何把EXCEL表格转成WORD表格?
- 电子料盘 电容 物料标识识别
- AcWing 1319. 移棋子游戏(sg 博弈)
- 高通蓝牙耳机(QCC3034)Sink开发基础教程一:高通蓝牙方案介绍及开发环境搭建
- HTTP请求时POST参数到底应该怎么传?
- Vue的MVVM框架