Python串口异步通信
Python串口异步通信(串口接收中断)
串口是计算机上一种非常通用的设备通信协议。pyserial模块封装了python对串口的访问,为多平台的使用提供了统一的接口。
安装库
Python要使用串口功能需要导入这两个库:
- pyserial (基本串口功能)
pip3 install pyserial
- pyserial-asyncio (实现异步功能需要这个库)
pip3 install pyserial-asyncio
获取串口名称
使用serial.tools.list_ports.comports()函数会返回一个ListPortInfo类型的列表
import serial
import serial.tools.list_portsclass serial_class:def get_port(self):self.port_list = serial.tools.list_ports.comports()return self.port_listserial_port = serial_class()
port = serial_port.get_port()
for i in range(0,len(port)):print(tuple([port[i].device]))
普通串口操作
import serial portx="COM3"bps=115200timex=5# 打开串口,并得到串口对象ser=serial.Serial(portx,bps,timeout=timex)# 写数据result=ser.write("我是东小东".encode("gbk"))print("写总字节数:",result)ser.close()#关闭串口
开始异步收发
import asyncio
import serial_asyncioclass Output(asyncio.Protocol):def connection_made(self, transport):self.transport = transportprint('port opened', transport)transport.serial.rts = Falsetransport.write(b'hello world\n')def data_received(self, data):print('data received', repr(data))#self.transport.close()def connection_lost(self, exc):print('port closed')asyncio.get_event_loop().stop()loop = asyncio.get_event_loop()
coro = serial_asyncio.create_serial_connection(loop, Output, 'COM1', baudrate=115200)
loop.run_until_complete(coro)
loop.run_forever()
loop.close()
Python串口异步通信相关推荐
- android 串口一直打开_实例 | 使用Python串口实时显示数据并绘图
今天为大家分享一篇使用Python串口实时显示数据并绘图的例子,具有很好的参考价值,希望对大家有所帮助. 一.安装pyserial以及基本用法 使用pyserial进行串口传输,在cmd下输入命令pi ...
- PyCharm pyqt5 python串口通信封装类SerialCommunication
""" pyqt5串口通信文件SerialCommunication.py """ import binascii import os im ...
- python串口数据绘图_使用Python串口实时显示数据并绘图的例子
使用pyserial进行串口传输 一.安装pyserial以及基本用法 在cmd下输入命令pip install pyserial 注:升级pip后会出现 "'E:\Anaconda3\Sc ...
- python串口通信_python 读取串口数据的示例
python3 读取串口数据 demo 最近在写一个demo,zigbee串口连接树莓派,树莓派使用串口通信接受zigbee穿过来得值.其中我是用的树莓派是3代B+,zigbee每隔三秒钟从串口输出数 ...
- python串口控制8通道继电器方法笔记
python串口控制8通道继电器方法笔记 保存当前文件为RelayControl.py,在其他py文件引用时,使用from RelayControl import relay 格式导入 调用时,使用 ...
- Python串口操作纸币器1
Python串口操作纸币器1 公司需要纸币器开发,参考纸币器文档和网上的一篇vb版本,代码如下: # -*- coding:utf-8 -*- # Author: Pete Yim<xpHook ...
- python中texttable库显示实时数据_用Python串口实时显示数据并绘图pyqtgraph
用Python串口实时显示数据并绘图 使用pyserial进行串口传输 一.安装pyserial以及基本用法 在cmd下输入命令pip install pyserial 注:升级pip后会出现 &qu ...
- 用Python串口实时显示数据并绘图pyqtgraph(详细教程)
用Python串口实时显示数据并绘图 使用pyserial进行串口传输 一.安装pyserial以及基本用法 在cmd下输入命令pip install pyserial 注:升级pip后会出现 &qu ...
- python读取串口数据 绘图_使用Python串口实时显示数据并绘图的例子
使用pyserial进行串口传输 一.安装pyserial以及基本用法 在cmd下输入命令pip install pyserial 注:升级pip后会出现 "'E:Anaconda3Scri ...
- Python 串口数据打包与解析
Python 串口数据打包与解析 介绍 从字符串到字节流 对字节流的解析 介绍 通常用python写好上位机要与板子通过串口通信的时候(比如命令,参数等),对于这之间的数据格式转换是有特定要求的,比如 ...
最新文章
- PyQt GUI--信号与槽
- Luogu P3321 [SDOI2015]序列统计
- python字典下标是什么_python列表、元组、字典
- linux sudo权限_Linux Sudo 被曝漏洞,可导致用户以 root 权限运行命令
- Android--序列化XML数据
- Command ‘ifconfig‘ not found, but can be installed with: sudo apt install net-tools VM Ubuntu 解决方案
- Android的Service组件
- 我的压缩软件选择:7zip软件+Zip格式
- 32位汇编第五讲,逆向实战干货,(OD)快速定位扫雷内存.
- linux自动挂载ipsan,RedhatLinux挂载IPSAN(iScsi协议)
- i510200h和i78750h哪个好
- codelite14中文语言包_codelite中文版-codelite下载(开源的C++跨平台开发环境) 13.0.7 中文版 - 河东下载站...
- 技法の穴をふさぐ:コスト編 --人月単価は案件ごとにバラバラ公表データで相場を知る
- 微信支付官方揭开刷脸支付神秘面纱
- 广东b级计算机考试试题,计算机等级考试级B考试试题真题试卷.doc
- R计算 地理集中指数
- 有测试无损音乐真假的软件,这几招教你辨析真假无损音乐,非常实用!
- Oracle调用存储过程添加数据记录(包括唯一性判断)
- 白夜行,在白日黑暗中行走的男女
- HTML中模仿infini网界面所做的网页界面