serial库对串口的基本使用

serial库对串口的基本使用

安装库一定要安装 pyserial

serial库用于串口通信。它提供了一组函数和类,用于在计算机和外部设备之间进行串口通信。通过使用serial库可以读取和写入串口数据,以实现与各种外部设备的通信,如传感器、微控制器、嵌入式系统等。

支持多平台:serial库可以在多个平台上运行,包括Windows、Linux和MacOS等操作系统。
简单易用:serial库提供了简单而直观的API,使得打开串口、配置串口参数、读写串口数据变得容易。
强大的配置选项:您可以使用serial库设置串口的参数,如波特率、数据位、停止位、校验等。
支持同步和异步操作:serial库支持同步和异步方式进行串口通信。同步模式下,程序会等待操作完成后再继续执行;异步模式下,程序可以在串口操作进行的同时执行其他任务。
事件驱动:serial库提供了一个事件驱动模式,可以通过注册事件处理程序来响应特定的串口事件,如接收到数据、发送完成等。
支持流控制:serial库支持硬件流控制(如CTS/RTS)和软件流控制(如XON/XOFF),以控制数据的流动。
可靠性和稳定性:serial库经过广泛的测试和使用,已被证明是一个稳定和可靠的串口通信库。

serial.Serial(port, baudrate, timeout=1):打开指定的串口并返回一个Serial对象。其中,port参数指定串口号(例如"COM1""/dev/ttyS0"),baudrate参数指定波特率,timeout参数指定读取串口数据的超时时间(默认为1秒)。

Serial.close():关闭打开的串口。

Serial.write(data):向串口写入数据。data参数是要发送的字节或字节数组。

Serial.read(size):从串口读取指定大小的数据。size参数指定要读取的字节数。

Serial.readline():从串口读取一行数据,直到遇到换行符。返回的数据是一个字符串。

Serial.in_waiting:获取当前接收缓冲区中的字节数。

Serial.flush():清空串口的接收和发送缓冲区。

Serial.reset_input_buffer():清空串口的接收缓冲区。

Serial.reset_output_buffer():清空串口的发送缓冲区。

Serial.setRTS(level=True):设置RTS(请求发送)信号的状态。level参数为True时,将RTS设置为高电平;为False时,设置为低电平。

Serial.setDTR(level=True):设置DTR(数据终端就绪)信号的状态。level参数为True时,将DTR设置为高电平;为False时,设置为低电平。

以下以氧气传感器作为案例

1、使用TTL串口板插入电脑(淘宝有卖,几块钱包邮)
2、将VCC,TX,RX,GND分别连接到氧传感器Pin上
3、找到TTL串口板的串口号,将下面的代码port改为实际串口号
4、开始运行代码,代码打印氧气浓度,流量,温度等信息
5、如果没有打印,也没有报错,尝试调换以下TX,RX接线

# 串口库
import serial

# 设置串口参数
port = 'COM25'  # 根据实际情况修改串口号
baud_rate = 9600  # 波特率,根据实际情况修改
ser = serial.Serial(port, baud_rate)  # 连接串口

while True:
    if ser.in_waiting > 0:  # 对打印的空白数据进行过滤
        # 读取串口数据
        data = ser.read_all().hex()  # read_all()方法读取串口该次所有数据
        # print(data, len(data))  # 调试用输出串口数据和串口数据长度
        if len(data) == 24:
            print("氧气浓度:{0}% | 流量:{1}L/min |  温度:{2}℃"
                  .format(int(data[6:10], 16)/10, int(data[10:14], 16)/10, int(data[14:18], 16)/10))  # "浓度:%s ", "|  流量:%s ", "|  温度:%s "

最终显示
在这里插入图片描述

  • 5
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
C Serial是一种用于串口通信的C语言串口通信是一种通过串行接口将数据传输到计算机的通讯方式。C Serial提供了一组函数和工具,以便开发人员可以方便地在C语言程序中使用串口通信。 C Serial可以用于多种应用场景,例如嵌入式系统开发、物联网设备通信、数据采集等。它提供了一些常用的串口操作函数,如打开串口、设置波特率、设置数据位数和停止位等。开发人员可以使用这些函数来配置串口的参数,并通过读取和写入串口来实现数据的发送和接收。 使用C Serial,我们可以方便地与外部设备进行通信。例如,我们可以通过串口将传感器数据发送到计算机,或者通过串口控制外部设备的操作。这种通信方式的优点是稳定可靠、传输距离较远,并且在实现上相对简单。 C Serial使用也相对简单。开发人员只需要包含的头文件,并链接相应的文件,就可以在自己的C语言程序中使用串口通信功能。通过调用提供的函数,我们可以灵活控制串口的设置和数据传输,实现与外部设备的交互。 总而言之,C Serial是一种实现串口通信的C语言,它提供了一组函数和工具,方便开发人员在C语言程序中使用串口通信功能。使用C Serial,我们可以轻松地与外部设备进行数据的发送和接收,实现各种应用需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值