【python】之serial模块,读写串口数据!

串口通信是指外设和计算机间,通过数据信号线 、地线、控制线等,按位进行传输数据的一种通讯方式。这种通信方式使用的数据线少,在远距离通信中可以节约通信成本,但其传输速度比并行传输低。串口是计算机上一种非常通用的设备通信协议。pyserial模块封装了python对串口的访问,为多平台的使用提供了统一的接口。

一.serial模块的安装

使用pip接口进行安装

pip install serial

pip接口详细说明可以看:https://blog.csdn.net/pengneng123/article/details/129556320

二.serial库基本函数使用

1.串口初始化的函数

ser = serial.Serial('COM3',115200,timeout=5)

参数1:com3为串口的端口号

参数2:115200为串口的波特率

参数3:timeout为串口的超时设置

2.write串口写数据

Write = ser.write(b'bsp\n') 

往串口里面发送数据

b:此参数表示bytes类型, 直接发送字符串会报错

\n:换行的意思

bsp:要发送的内容

3.read()串口读数据

ser.read()  ####从端口读字节数据,默认1个字节

ser.read_all()  ####从端口接收全部数据

ser.readline()   ###读一行数据

ser.readlines()   ###读多行数据

三.实例演示

直接上代码:

import serial
import time

if __name__ == '__main__':
    ser = serial.Serial('COM3',115200,timeout=5)  ##连接串口,打开
    time.sleep(0.5)

    Write = ser.write(b'Hello\n')  ##发送数据
    Read = ser.read()  ###接收1个字节数据
    print(Read)
    
    Write = ser.write(b'Hello\n')  ##发送数据
    Read = ser.readline()  ##接收一行数据
    print(Read)

    Write = ser.write(b'Hello\n')  ##发送数据
    Read = ser.read_all()  ###接收所有数据
    print(Read)

    Write = ser.write(b'Hello\n')  ##发送数据
    Read = ser.readlines()   ###读多行数据
    print(Read)

    ser.close()  ###关闭串口连接

输出:

还有以下函数及功能

ser.isOpen()

查看端口是否被打开

ser.open()

打开端口

flush()

等待所有数据写出

flushInput()

丢弃接收缓存中的所有数据

flushOutput()

终止当前写操作,并丢弃发送缓存中的数据

基础的串口读写操作就如上所示啦。

@Neng

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
社会演员多的头像社会演员多普通用户
上一篇 2023年5月24日
下一篇 2023年5月24日

相关推荐