环境

  • python 3.8

  • pyserial 3.5

前言

串口使用是做嵌入式系统开发的必备技能,一般都会使用诸如 securecrtputty 这样的工具来发送和接收数据。本文就来介绍在 python 环境中,如何使用第三方库 pyserial 来进行串口数据操作。

安装

使用 pip 安装,执行命令

pip install pyserial

使用示例

首先,接上串口线,在 设备管理器 中找到该设备,如我这里的 COM11,这会在后面的代码中用到

除了端口号,我们还需要设置一下串口的其它几个属性,比如波特率、数据位、奇偶校验位、停止位、DTR/DSRRTS/CTSXON/XOFF

理清了这些后,就可以看下面的代码了

import serialif __name__ == '__main__':# 如果不清楚当前的串口设备,pyserial 也提供了相应的 apiimport serial.tools.list_portsports = list(serial.tools.list_ports.comports(include_links=False))for port in ports:print(port)# 创建串口对象ser = serial.Serial(port="COM11", baudrate=115200, parity=serial.PARITY_NONE, stopbits=serial.STOPBITS_ONE, timeout=1, rtscts=False)# 判断串口是否打开if ser.isOpen():print('open success.')# 发送数据,这里只支持 bytes 类型的数据,需要对字符串进行 encode 编码send_len = ser.write(b'usb start')print('send data length: {}'.format(send_len))# 读取数据,读取的内容也是 bytes 类型read_msg = ser.read(30)print('read_msg: {}'.format(read_msg))else:print('open failed.')# 关闭串口ser.close()

更多内容,可以参考官方的文档 https://pyserial.readthedocs.io/en/latest/

Python实用模块专题

更多有用的 python 模块,请移步

https://xugaoxiang.com/category/python/modules/

Python中进行串口操作相关推荐

  1. python中的日志操作和发送邮件

    1.python中的日志操作 安装log模块:pip install nnlog 参数:my_log = nnlog.Logger('server_log.log',level='debug',bac ...

  2. python中二进制文件_Python学习基础篇 -6: Python中的文件操作

    前言:本专栏以Python为主题,并尽可能保持每星期两到三更,直到将Python的基础知识浅析和讲解完毕,同时,有一定基础的同学可以移步 Python实战专栏 . 文件有有什么用 文件可以看作一个仓库 ...

  3. Python中的字符串操作总结(Python3.6.1版本)

    Python中的字符串操作(Python3.6.1版本) (1)切片操作: str1="hello world!" str1[1:3] <=> 'el'(左闭右开:即是 ...

  4. python中文件操作中不同的文件操作有何差异_Python学习基础篇 -6: Python中的文件操作...

    前言:本专栏以Python为主题,并尽可能保持每星期两到三更,直到将Python的基础知识浅析和讲解完毕,同时,有一定基础的同学可以移步 Python实战专栏 .文件有有什么用 文件可以看作一个仓库, ...

  5. Python中的文件操作和异常

    Python中的文件操作和异常 文章目录 Python中的文件操作和异常 一.文件 01. 文件的概念 1.1 文件的概念和作用 1.2 文件的存储方式 文本文件和二进制文件 02. 文件的基本操作 ...

  6. Python中的序列操作

    Python中的序列操作 分类: python undefined 官方手册:https://docs.python.org/3.7/library/stdtypes.html#sequence-ty ...

  7. python36_第36 p,就这几个方法,Python中文件的操作

    大家好,我是杨数Tos,这是<从零基础到大神>系列课程的第X篇文章,第二阶段的课程:Python基础知识:Python中文件的操作(下篇). 学习本课程,建议先看一遍:[计算机基础知识]课 ...

  8. python中numpy矩阵运算操作大全(非常全)!

    python中numpy矩阵运算操作大全(非常全) //2019.07.10晚 python矩阵运算大全 1.矩阵的输出形式: 对于任何一个矩阵,python输出的模板是: import numpy ...

  9. 使用SQL数据库在Python中进行CRUD操作

    目录 介绍 背景 在Visual Studio中创建一个Python项目 在SQL中创建数据库和表 为数据库创建配置文件 将Python软件包安装为"Pypyodbc" 创建一个连 ...

最新文章

  1. 一次完整的HTTP事务是怎样一个过程
  2. 安装linux系统选择重新分区会怎么样,弱弱的问一下 双系统安装中linux如何分区?分区太多会不会不好?...
  3. 怀孕参加计算机考试有辐射吗,电脑辐射对孕妇的影响大不大 会对胎儿造成什么影响...
  4. deepin如何布署python_【玩转deepin】简单三步,教你在deepin15.11上安装Python3.7.4
  5. sqoop导数据出现问题
  6. 数字图像处理--颜色选择
  7. 2021 ACDU China Tour-上海站暨数据库大咖讲坛(第4期)成功举办!(附视频回放PPT下载)...
  8. [渣译文] 使用 MVC 5 的 EF6 Code First 入门 系列:为ASP.NET MVC应用程序使用高级功能...
  9. 树莓派3代B版板载WIFI配置
  10. Python 对文件进行编码转换
  11. Angualr 输入文本框监听enter回车键和esc键方法使用(附常用的键盘事件对应的键码)
  12. 深度学习2.0-13.神经网络与全连接层之张量实战
  13. 「leetcode」669. 修剪二叉搜索树:【递归】【迭代】详解
  14. (时间表达式)定时任务Quartz 之 cron表达式及在线生成器
  15. 计算机软件类自然科学基金标书,国家自然科学基金标书撰写——体会6(转发仅供参考)...
  16. NB-IoT对接电信物联网开放平台
  17. B2B2C模式的三种核心逻辑
  18. 详解Node.js API系列 Module模块(2) 案例分析
  19. 【转】Web实现前后端分离,前后端解耦
  20. 自动驾驶Apollo安装步骤

热门文章

  1. oledb连接mysql_OLEDB 连接 和 效率(MS SQL 、Oracle 、ACESS)
  2. win32com-python操作Excel
  3. c语言china大写变小写,英语字母大写小写
  4. Bilinear Interpolation 双线性插值
  5. 离线地图导航解决方案
  6. Vue/Nuxt.js仿Tinder|探探翻牌特效|vue仿探探卡片滑动
  7. java静态变量定义_java静态变量、静态方法和静态代码段
  8. 网络攻击是如何运作的—一份完整的列表
  9. Unity 移轴实现
  10. python args_python中*args **kw到底是什么意思?求指教!