python串口采集数据绘制波形图

这个示例使用 matplotlib 绘制图形,它能够从串口实时读取数据并绘制成波形图。确保你已经替换了 'COM11' 和 9600 为正确的串口号和波特率。

python 复制代码
import serial
import matplotlib.pyplot as plt
from collections import deque
import struct

# 配置串口参数
ser = serial.Serial('COM11', 9600)  # 将'COM1'替换为你的串口号和波特率

# 创建空的数据列表
data = deque(maxlen=100)  # 保持最新的100个数据点

# 创建一个图形窗口
plt.ion()  # 开启交互模式
fig, ax = plt.subplots()
line, = ax.plot([])
ax.set_ylim(0, 255)  # 设置y轴范围,根据你的数据范围进行调整

# 读取并绘制串口数据
try:
    while True:
        try:
            # 读取一个字节的16进制数据
            value_hex = ser.read(1)
            
            if value_hex:
                # 将16进制数据转换为整数
                value = struct.unpack('B', value_hex)[0]
                data.append(value)
                line.set_ydata(data)
                line.set_xdata(range(len(data)))
                ax.relim()
                ax.autoscale_view()
                plt.pause(0.01)  # 更新图形,可以根据需要调整刷新频率
        except ValueError:
            continue
except KeyboardInterrupt:
    pass
finally:
    ser.close()
相关推荐
emfuture5 分钟前
龙芯2K300 PLC 在拉丝机收线系统改造中的应用:硬件选型、张力控制与国产化替代实践
java·开发语言·智能制造·plc·国产化替代
geovindu20 分钟前
rust: Mediator Pattern
开发语言·后端·设计模式·rust·中介者模式·行为模式
2601_9628857229 分钟前
从 baostock 迁移到 AlphaFeed:接口对照与代码迁移指南
python
传奇开心果编程29 分钟前
【Rust入门练中学】第8课:错误处理
开发语言·rust·错误处理·编程语言理论·通用编程语言
郑同学的笔记1 小时前
【c++随笔30】C++ 注册回调函数
开发语言·c++
AI情绪识别开源1 小时前
检信ALLEMOTION 标定治理与信号质量闸门 · 老年无感认知评估分析器
python
七夜zippoe1 小时前
启元 Q1 腿部运动学逆解:Python 算站立下蹲关节角
开发语言·python·ai·机器人·腿部运动学
熊猫钓鱼>_>1 小时前
精准碰一碰近场分享与拖拽投送实战:把文件“碰“进另一台设备【鸿蒙心迹】
开发语言·华为·harmonyos·鸿蒙·openharmony
第404号工位1 小时前
插上充电宝真能偷光相册?我拆解了一台改装充电宝,实测“恶意充电”的真实攻击链
linux·python·架构
技术卷2 小时前
Windows 下自定义 MCP 踩坑:stdin 默认继承导致 CPython 启动阻塞
python·mcp·zcode