serial库串口通讯

前言

        Python的pyserial库允许与不同的设备进行通信。

目录

安装

基本流程 

使用心得


安装

python >= 3.4

pip install pyserial

基本流程 

import serial

# 1. 打开串口
ser = serial.Serial()

# 2. 设置串口参数(例如波特率、数据位、校验位、停止位)
ser.port = '/dev/ttyS0'  # 这是一个示例端口号,实际应替换为你的设备对应的串口名称
ser.baudrate = 9600  # 波特率设置为 9600
ser.bytesize = serial.EIGHTBITS  # 数据位数为 8 位
ser.parity = serial.PARITY_NONE  # 无奇偶校验位
ser.stopbits = serial.STOPBITS_ONE  # 停止位为 1 位

# 3. 打开串口连接
ser.open()


# 检查是否成功打开
if ser.is_open:
    print("串口已成功打开!")
else:
    print("无法打开串口!")



# 4. 发送数据
data_to_send = b"Hello, Serial World!"  # 要发送的数据,必须是字节类型
ser.write(data_to_send)


# 5. 接收数据(可读时)
while True:
    if ser.in_waiting > 0:  # 如果有数据可读
        received_data = ser.read(ser.in_waiting)  # 读取所有可用的数据
        print(f"接收的数据:{received_data.decode('utf-8')}")

    
    # 在这里可以添加适当的条件来退出循环或处理数据后继续等待新数据

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

使用心得

1.注意不同的python版本安装方式不一样;

2.串口配置:打开串口前需要正确配置参数,包括端口号(如COM1或/dev/ttyUSB0)、波特率(如9600、115200等)、数据位(通常8位)、校验位(无、奇、偶、标记)、停止位(1位或2位)以及流控方式(硬件或软件控制)等。

3.串口使用结束后,记得关闭串口.否则可能会导致资源占用问题。

4.读写操作  读取时,先用in_waiting属性判断是否有可读数据. 写入时,记得字符串需先转为字节. 方法为 my_string.encode('utf-8')

5.设备响应需要一定时间 记得设置超时时间

6.换行符 Arduino等设备通常使用\r\n作为一行数据的结束标志,所以在Python端编写数据发送时要注意匹配这一约定,或者根据实际设备调整消息格式。

7.清理缓冲区 在开始正式读取新的数据之前,有时需要清除串口缓冲区中的残留数据,可以通过连续读取直至没有更多数据的方式实现

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 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
发出的红包

打赏作者

Marst·Writer

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值