python 中serial.read用法详解之serial.read(inwaiting or 1)

在Python中, serial.read(inwaiting or 1) 是 pyserial 库中用于从串口读取数据的代码片段,下面是详细解释:

 read()       serial 类的方法,用于从串口缓冲区读取指定数量的字节数据。格式为 read(size) , size 为读取的字节数。

 

 inwaiting 是 serial 类的属性,返回串口输入缓冲区中等待读取的字节数。如 ser.inwaiting() 可获取当前缓冲区字节数。

inwaiting or 1 这是一个逻辑表达式。若 inwaiting 的值为非零(即缓冲区有数据),则取 inwaiting 的值作为 read 方法的参数,读取缓冲区所有数据;若 inwaiting 为零(缓冲区无数据),则取 1 作为参数,读取一个字节。

 

示例如下:

 

import serial

 

# 打开串口

ser = serial.Serial('COM1', 9600)  

 

while True:

    # 读取串口数据

    data = ser.read(ser.inwaiting() or 1)  

    if data:

        print(data.decode('utf-8'))

 

# 关闭串口

ser.close()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值