python接收串口数据


import time

import serial


def test_receive():
    # 配置串口参数
    port = '/dev/ttyUSB0'  # 根据你的设备更改端口号
    baud_rate = 9600  # 波特率
    bytesize = serial.EIGHTBITS  # 数据位
    parity = serial.PARITY_NONE  # 校验位
    stop_bits = serial.STOPBITS_ONE  # 停止位
    timeout = 1  # 读取超时时间
    # 打开串口
    ser = None
    try:
        ser = serial.Serial(port, baud_rate, bytesize, parity, stop_bits, timeout)
        if ser.is_open:
            print(f"串口 {port} 已成功打开")
            while True:
                # 读取数据
                if ser.in_waiting > 0:
                    received_data = ser.read(ser.in_waiting).decode('utf-8').strip()
                    print("接收到的数据:", received_data)
                # 稍微等待一下,避免CPU占用过高
                time.sleep(0.1)

    except serial.SerialException as e:
        print("无法打开指定的串口:", e)
    finally:
        # 关闭串口
        if ser and ser.is_open:
            ser.close()
            print(f"串口 {port} 已关闭")


if __name__ == '__main__':
    test_receive()
posted @   ganph  阅读(318)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示