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

  1. android 串口一直打开_实例 | 使用Python串口实时显示数据并绘图

    今天为大家分享一篇使用Python串口实时显示数据并绘图的例子,具有很好的参考价值,希望对大家有所帮助. 一.安装pyserial以及基本用法 使用pyserial进行串口传输,在cmd下输入命令pi ...

  2. PyCharm pyqt5 python串口通信封装类SerialCommunication

    """ pyqt5串口通信文件SerialCommunication.py """ import binascii import os im ...

  3. python串口数据绘图_使用Python串口实时显示数据并绘图的例子

    使用pyserial进行串口传输 一.安装pyserial以及基本用法 在cmd下输入命令pip install pyserial 注:升级pip后会出现 "'E:\Anaconda3\Sc ...

  4. python串口通信_python 读取串口数据的示例

    python3 读取串口数据 demo 最近在写一个demo,zigbee串口连接树莓派,树莓派使用串口通信接受zigbee穿过来得值.其中我是用的树莓派是3代B+,zigbee每隔三秒钟从串口输出数 ...

  5. python串口控制8通道继电器方法笔记

    python串口控制8通道继电器方法笔记 保存当前文件为RelayControl.py,在其他py文件引用时,使用from RelayControl import relay 格式导入 调用时,使用 ...

  6. Python串口操作纸币器1

    Python串口操作纸币器1 公司需要纸币器开发,参考纸币器文档和网上的一篇vb版本,代码如下: # -*- coding:utf-8 -*- # Author: Pete Yim<xpHook ...

  7. python中texttable库显示实时数据_用Python串口实时显示数据并绘图pyqtgraph

    用Python串口实时显示数据并绘图 使用pyserial进行串口传输 一.安装pyserial以及基本用法 在cmd下输入命令pip install pyserial 注:升级pip后会出现 &qu ...

  8. 用Python串口实时显示数据并绘图pyqtgraph(详细教程)

    用Python串口实时显示数据并绘图 使用pyserial进行串口传输 一.安装pyserial以及基本用法 在cmd下输入命令pip install pyserial 注:升级pip后会出现 &qu ...

  9. python读取串口数据 绘图_使用Python串口实时显示数据并绘图的例子

    使用pyserial进行串口传输 一.安装pyserial以及基本用法 在cmd下输入命令pip install pyserial 注:升级pip后会出现 "'E:Anaconda3Scri ...

  10. Python 串口数据打包与解析

    Python 串口数据打包与解析 介绍 从字符串到字节流 对字节流的解析 介绍 通常用python写好上位机要与板子通过串口通信的时候(比如命令,参数等),对于这之间的数据格式转换是有特定要求的,比如 ...

最新文章

  1. PyQt GUI--信号与槽
  2. Luogu P3321 [SDOI2015]序列统计
  3. python字典下标是什么_python列表、元组、字典
  4. linux sudo权限_Linux Sudo 被曝漏洞,可导致用户以 root 权限运行命令
  5. Android--序列化XML数据
  6. Command ‘ifconfig‘ not found, but can be installed with: sudo apt install net-tools VM Ubuntu 解决方案
  7. Android的Service组件
  8. 我的压缩软件选择:7zip软件+Zip格式
  9. 32位汇编第五讲,逆向实战干货,(OD)快速定位扫雷内存.
  10. linux自动挂载ipsan,RedhatLinux挂载IPSAN(iScsi协议)
  11. i510200h和i78750h哪个好
  12. codelite14中文语言包_codelite中文版-codelite下载(开源的C++跨平台开发环境) 13.0.7 中文版 - 河东下载站...
  13. 技法の穴をふさぐ:コスト編 --人月単価は案件ごとにバラバラ公表データで相場を知る
  14. 微信支付官方揭开刷脸支付神秘面纱
  15. 广东b级计算机考试试题,计算机等级考试级B考试试题真题试卷.doc
  16. R计算 地理集中指数
  17. 有测试无损音乐真假的软件,这几招教你辨析真假无损音乐,非常实用!
  18. Oracle调用存储过程添加数据记录(包括唯一性判断)
  19. 白夜行,在白日黑暗中行走的男女
  20. HTML中模仿infini网界面所做的网页界面

热门文章

  1. 前端经典面试题(持续更新)
  2. 解决安装vmware以后,系统服务增多,系统变慢的问题。
  3. 2022东北四省赛 F. Tree Path (树剖 + 线段树维护堆)
  4. html设为默认打开方式,设置默认浏览器及默认打开方式设置教程
  5. C语言读取GPT分区信息
  6. html5页面命名,html命名规则
  7. 终于懂得孤独是躲不开的单行道
  8. 电子计算机用户网络新词秀,网络新词的研究
  9. RouterOS 通过NTH/PCC设置多线负载均衡及带宽叠加
  10. 移植安卓系统到树莓派开发板