python3串口通信模块pyserial

  • pyserial和serial的区别
  • 安装
  • 示例
    • 官方示例
    • 打开串口示例
    • 写入串口示例
    • 读取串口示例
    • 发送串口命令示例
    • 可用参数

原文链接:[Electrical_IT]原创:python库之pyserial用法,pyserial和serial的区别

pyserial和serial的区别

python3版本以上涉及串行端口访问的应用均使用pyserial库,不需要serial库。
不过在python程序中,要import serial。但实际上settings中不安装serial,只需pyserial。

安装

python3使用serial模块需要安装pyserial模块,且不能安装serial模块,如遇到安装了pyserial后仍无法import,按一下方式处理:
1、确保py3.4以上
2、卸载serial和pyserial

pip uninstall serial
pip uninstall pyserial

3、再安装pyserial

pip install pyserial

如果不行,多试几次。。能行的

示例

官方示例

The port is opened automatically:
(Changed in version 3.4: the port is automatically opened)

port = serial.Serial()
port.port = '...'
with port as s:
...     s.write(b'hello')

打开串口示例

除此示例外,其他示例省略import serial、ser定义和close()等必要程序,请自行补全,灵活使用。
可用参数在后面。

import serial // 安装pyserial,但import serial,且不能安装serial# ser为串口对象,后续调用均用点运算符
ser = serial.Serial('COM7', 3000000, 8, 'N', 1) # 'COM7', 3000000, bytesize=8,
# 上文也可后设参数
ser = serial.Serial()
ser.port = 'COM7'
ser.baudrate = 3000000
...
parity='N', stopbits=1
flag = ser.is_openif flag:print('success\n')ser.close()
else:print('Open Error\n')

写入串口示例

向串口ser写入help字符串:

ser.write("help".encode('utf-8'))

注意,字符串要编码成utf-8,否则会报错,详细参考下文中的write(data)说明。

读取串口示例

读取串口4个字节的数据:

print(ser.read(4))

发送串口命令示例

发送命令help:

command = "help\n"   # 命令要加\n,否则识别为普通字符串
ser.write(command.encode('utf-8'))   # 命令也同样要编码

可用参数

在使用 serial.Serial() 创建串口实例时,可以传入的参数很多,常用的参数如下(默认值用红色标记):

port - 串口设备名或 None。
baudrate - 波特率,可以是50, 75, 110, 134, 150, 200, 300, 600, 1200, 1800, 2400, 4800, 9600, 19200, 38400, 57600, 115200, 230400, 460800, 500000, 576000, 921600, 1000000, 1152000, 1500000, 2000000, 2500000, 3000000, 3500000, 4000000。
bytesize - 数据位,可取值为:FIVEBITS, SIXBITS, SEVENBITS, EIGHTBITS。
parity - 校验位,可取值为:PARITY_NONE, PARITY_EVEN, PARITY_ODD, PARITY_MARK, PARITY_SPACE。
stopbits - 停止位,可取值为:STOPBITS_ONE, STOPBITS_ONE_POINT_FIVE, STOPBITS_TOW。
xonxoff - 软件流控,可取值为 True, False。
rtscts - 硬件(RTS/CTS)流控,可取值为 True, False。
dsr/dtr - 硬件(DSR/DTR)流控,可取值为 True, False。
timeout - 读超时时间,可取值为 None, 0 或者其他具体数值

python3串口通信模块pyserial相关推荐

  1. s7300plc串口通信_西门子S7-300/400串口通信模块的信息与使用

    原标题:西门子S7-300/400串口通信模块的信息与使用 1. 串行通讯模块基本信息介绍 CP340/CP341/CP440/CP441-1/CP441-2模块是西门子S7-300/400系列PLC ...

  2. (转载)uCOS-II的嵌入式串口通信模块设计

    在嵌入式应用中,使用RTOS的主要原因是为了提高系统的可靠性,其次是提高开发效率.缩短开发周期.uCOS-II是一个占先式实时多任务内核,使用对象是嵌入式系统,对源代码适当裁减,很容易移植到8~32位 ...

  3. HC05蓝牙串口通信模块

    HC-05蓝牙串口通信模块应该是使用最广泛的一种蓝牙模块之一了.因为HC05模块是一款高性能主从一体蓝牙串口模块,可以不用知道太多蓝牙相关知识就可以很好的上手.说白了,只是个蓝牙转串口的设备,你只要知 ...

  4. 【常用模块】ESP8266 WIFI串口通信模块使用详解(实例:附STM32详细代码)

    物联网,万物互联.这里涉及到的最基本的东西就是如何将所有的物联网设备连接在一起.最简单.最广泛使用的就是互联网. ESP8266 WIFI串口通信模块应该是使用最广泛的一种WIFI模块之一了.为什么呢 ...

  5. Python3.6+PyQT5+Pyserial 实现简单串口助手

    工作中串口通讯用的比较多,打算拿串口通讯来作为入门练手的项目,这个是GITHUB上的例程 ,大家可以自己下载,网址: https://github.com/ColinFred/Pyserial-Dem ...

  6. python3串口通信16进制_STM32串口通信——16进制数形式

    一.为什么采用16进制数形式? 首先,需要解释一下串口发送的数据都是unsigned char类型的,说成字符和16进制形式,只是我们采用何种方式展示这些数据.字符形式就是把16进制数通过ASCII表 ...

  7. python串口通信_python的串口通信(pyserial)

    1 使用用硬件 树莓派,CH340串口转USB两个,PC 2 环境安装 树莓派我使用的是自带系统,环境都已经配好了,PC这边我安装了的ubunt子系统,有python环境,那么就需要安装pyseria ...

  8. Python3 串口获取智能电表数据(DTL645-2007)

    先安装pyserial模块 import serial import binascii ser = serial.Serial("COM3",2400,parity=serial. ...

  9. PIC单片机精通_串口通信模块C实现

    1.串口通讯头/定义文件 usart.h #ifndef _SERIAL_H_ #define _SERIAL_H_#define BAUD 9600 #define FOSC 9216000L #d ...

最新文章

  1. python技术点总结_Python技术点总结,碰到问题再也不用慌了!
  2. linux运维有前途么,想去做linux运维,不知道有前途么?
  3. ios上传音频文件到服务器,IOS开发:iPod的音乐库中的音频如何上传到服务器中...
  4. IBM启用水冷却技术为IDC服务器降温
  5. Linux driver 板级文件跟踪一般方法
  6. TK1+yolo安装指南
  7. 拜尔滤色拜尔滤色镜_如何在iPhone或iPad上启用滤色器以方便眼睛阅读
  8. 云原生安全之容器级网站防篡改
  9. Shopee怎么发货?虾皮无货源怎么发货?
  10. [本校测试] 魔王的消失Day2——By Hineven T3葬诗 提交答案题(爬山算法)
  11. python爬虫------从丁香园疫情首页提取世界各国的疫情数据
  12. Mask R-CNN 原理解析
  13. 永磁同步电机矢量控制中的双闭环是什么意思_【百问百答】ST 电机控制实战问答合辑 | 连载之二...
  14. 异构平台运维工作文档
  15. ZigBee的电子标签系统设计
  16. javascript单元测试-为什么做、怎么做
  17. org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type ‘com.jt.
  18. 【超详细】全国大学生软件测试大赛:移动应用测试脚本编写要求
  19. 请问单片机开发的完整流程
  20. 【基础】Vscode常用快捷键

热门文章

  1. mysql5.7 安装与自动备份数据库 和数据的恢复
  2. WordPress从0开始建站(一):教练,我想建网站!
  3. FinalCut 如何导入 HDR 视频,HDR 视频在普通模式下显示不正常
  4. python生成word目录_使用Python更新MS Word .docx文档的目录(目录)
  5. 神界危机3.4隐藏英雄密码_这就是我解决密码记忆危机的方法
  6. 1000元手机性价比排行榜2022 1000元手机买什么好
  7. Golang的GUI探讨:不要在一棵树上吊死,要在多棵树上
  8. 预告BCS2022|共享全球视野,安全战略峰会明日精彩继续
  9. 利用Python求斐波那契数列的第N项以及前N项和(循环、递归、集合)
  10. 如何诊断/修复损坏的 Jet 4.0 数据库