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()
相关推荐
不负岁月无痕11 小时前
STL -- C++ 红黑树封装 Map 和 Set
java·c语言·开发语言·c++·面试
Tbisnic11 小时前
23.大模型开发:深度学习----CNN 卷积神经网络 与 RNN 循环神经网络
人工智能·python·rnn·深度学习·cnn·ai大模型
小园子的小菜11 小时前
Java核心基础:反射与泛型底层原理及实战用法详解
java·开发语言
十五年专注C++开发11 小时前
C++之std::numeric_limits介绍
开发语言·c++·limits
2501_9259633811 小时前
Hi3516 + WS73 SDIO Wi-Fi 适配笔记
java·开发语言
CoderYanger11 小时前
视频切割脚本(Python版)
linux·开发语言·windows·后端·python·程序人生·职场和发展
辞旧 lekkk11 小时前
CMake工程指南(一)
linux·运维·服务器·开发语言·qt·学习·萌新
迷途呀11 小时前
新闻头条后端:新闻缓存模块
前端·redis·python·缓存·fastapi
想会飞的蒲公英12 小时前
逻辑回归为什么叫回归,却用来做分类
人工智能·python·分类·回归·逻辑回归
小七在进步12 小时前
数据结构:用栈实现队列
开发语言·数据结构