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()
相关推荐
HelloRevit18 分钟前
Next.js 快速启动模板
开发语言·javascript·ecmascript
起个破名想半天了2 小时前
Sklearn入门之datasets的基本用法
人工智能·python·机器学习·sklearn
大雄野比2 小时前
【scikit-learn基础】--『预处理』之 缺失值处理
python·机器学习·scikit-learn
春生野草3 小时前
0413-多态、Object类方法、访问权限修饰符、装箱拆箱、128陷阱
java·开发语言
烁3473 小时前
每日一题(小白)暴力娱乐篇26
java·开发语言·算法·娱乐
周周记笔记3 小时前
探索R语言:在线学习资源汇总
开发语言·r语言
小鑫仔_x3 小时前
selenium之Token
python·selenium·测试工具
zuoming1203 小时前
c# 系列pdf转图片 各种处理3--net3.1到net8 PDFtoImage
开发语言·pdf·c#
神仙别闹3 小时前
基于Python(Django)+SQLite 实现(Web) 点菜管理系统
python·django·sqlite
FreeLikeTheWind.3 小时前
Qt问题之 告别软件因系统默认中文输入法导致错误退出的烦恼
开发语言·c++·windows·经验分享·qt