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

news2024/11/24 11:01:52

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

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()

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/989479.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SpringMVC之CRUD------增删改查

目录 前言 配置文件 pom.xml文件 web.xml文件 spring-context.xml spring-mvc.xml spring-MyBatis.xml jdbc.properties数据库配置文件 generatorConfig.xml log4j2日志文件 后台 PageBaen.java PageTag.java 切面类 biz层 定义一个接口 再写一个实现类 …

vue3嵌套路由keep-alive问题

传统解决方法参考此链接Vue3 嵌套路由中使用 keep-alive缓存多层 - 掘金 我想说的是: 嵌套路由的上级不写componet就行了啊!!!被折磨了两次的顿悟

LeetCode-77-组合

一:题目描述: 给定两个整数 n 和 k,返回范围 [1, n] 中所有可能的 k 个数的组合。 你可以按 任何顺序 返回答案。 二:示例与提示 示例 1: 输入:n 4, k 2 输出: [[2,4],[3,4],[2,3],[1,2],[1,3],[1,4…

双系统时间问题、虚拟机扩展空间问题

文献阅读计划: 首先要用ChatGPT查文献,用关键字查询,然后去搜索 add cyun 9.8 但是我发现好难搜啊,或者说相关的关键词搜不出来东西啊。不过师兄倒是搜的挺多的,这一点要再去好好学习一下 双系统时间问题&#xff1a…

前缀(波兰式)、中缀、后缀(逆波兰)表达式;中缀转后缀

前缀表达式的计算机求值 注意:在前缀表达式中,遇到运算符时,如“-”,是栈顶元素 - 次顶元素 中缀表达式 后缀表达式 注意:在后缀表达式中,遇到运算符时,如“-”,是次顶元素 - 栈顶元…

【Docker】实现JMeter分布式压测

一个JMeter实例可能无法产生足够的负载来对你的应用程序进行压力测试。如本网站所示,一个JMeter实例将能够控制许多其他的远程JMeter实例,并对你的应用程序产生更大的负载。JMeter使用Java RMI[远程方法调用]来与分布式网络中的对象进行交互。JMeter主站…

Springboot 实践(14)spring config 配置与运用--手动刷新

前文讲解Spring Cloud zuul 实现了SpringbootAction-One和SpringbootAction-two两个项目的路由切换,正确访问到项目中的资源。这两个项目各自拥有一份application.yml项目配置文件,配置文件中有一部分相同的配置参数,如果涉及到修改&#xf…

ajax实现百度一下模糊查询功能

1、效果 如下图所示,我们在输入大学时,程序会到后端查询名字中包含大学的数据,并展示到前端页面。 用户选择一个大学,该大学值会被赋值到input表单,同时关闭下拉表单; 当页面展示的数据都不符合条件时&…

【软考】系统架构设计师 - 知识扩展 - “区块链技术“

目录 一 简介👑 1 比特币❤️ 2 区块链的特点❤️ 3 共识算法❤️ 二 练习题👑 三 扩展👑 1 哈希算法❤️ 2 哈希指针❤️ 3 UTXO❤️ 4 参考资料❤️ 一 简介👑 1 比特币❤️ 比特币底层采用了区块链技术。 比特币交易…

android在java代码里面运行shell脚本,使用shell脚本杀死目标进程

android开发中使用shell脚本的比较少,即使使用也是在adb里面直接运行,但是今天我就记录一下怎么在java里面执行shell脚本。 注意:这个需要配置selinux权限,或者你可以直接把selinux权限关闭才能运行 一、写一个shell脚本 这里我…

npm publish包报404,is not in the npm registry错误

1. 指定发布目标2. 登录npm,使用登录名发布包,包名命名原则“登录名/包名”,或 “包名” 3. 删除某一个版本npm unpublish pvfhv/eslint-config-prettier1.0.1 --force 删除后的版本不能重复使用,正式解释: Unfortun…

蓝桥杯官网练习题(凑算式)

类似填空题: ①算式900: https://blog.csdn.net/s44Sc21/article/details/132746513?spm1001.2014.3001.5501https://blog.csdn.net/s44Sc21/article/details/132746513?spm1001.2014.3001.5501 ②九宫幻方③七星填数④幻方填空:https:/…

详解初阶数据结构之顺序表(SeqList)——单文件文件实现SeqList的增删查改

目录 一、线性表 二、顺序表 2.1概念及结构 2.2接口实现 2.3动态顺序表的创建 2.3动态顺序表的初始化 2.3.1传值初始化 2.3.2传址初始化 2.4动态顺序表的清空 2.5动态顺序表的扩容 2.6动态顺序表内容的打印 三、动态顺序表的使用 3.1尾插尾删 3.1.1尾插 3.1.2尾删…

PHP表单token验证防CSRF攻击

在PHP中,表单token是一种安全机制,用于防止跨站请求伪造(CSRF)攻击。 CSRF攻击是一种利用用户身份在未经授权的情况下执行非法操作的攻击方式。 表单token的原理是在表单中生成一个随机的token,并将其存储在服务器端…

第 2 章 线性表 (线性表的静态单链表存储结构(一个数组只生成一个静态链表)实现)

1. 背景说明 A { c, b, e, g, f, d }B { a, b, n, f } 2. 示例代码 1) status.h /* DataStructure 预定义常量和类型头文件 */#ifndef STATUS_H #define STATUS_H#define CHECK_RET(ret) if (ret ! RET_OK) { \printf("FuncName: %-15s Line: %-5d ErrorCode: %-3d\n&…

【Redis】Lua脚本在Redis中的基本使用及其原子性保证原理

文章目录 背景一、Eval二、EvalSHA三、Redis 对 Lua 脚本的管理3.1 script flush3.2 script exists3.3 script load3.4 script kill 四、Lua在Redis中原子性执行的原理 背景 Lua 本身是一种轻量小巧的脚本语言,在Redis2.6版本开始引入了对Lua脚本的支持。通过在服务…

高并发环境下压测故障

文章目录 一、高并发压测故障二、JVM 调优1. 堆内存调优2. 堆外内存调优 一、高并发压测故障 每次在大促之前,我们都需要对服务进行压测。而在压测期间,突然爆发了红灯告警,订单量直接少了一半,这是一次很严重的压测故障。首先看…

公司快递账单管理智能化教程

今时不同往日,企业寄件早已摆脱纸质面单,向更为便捷的电子面单过渡。众快递公司为了留住大客户,为其提供更好的服务,早早推出月结模式寄件。办公族应该不陌生,企业如果和快递公司签订月结协议的话,员工寄件…

SEO扫地僧站群·静态生成式养站王,万站秒建,批量养站神器介绍

扫地僧站群静态养站王,程序采用了"织梦CMS"式静态生成式的方式,只需要一个后台管理系统即可管理多个网站,大大提高了建站效率,程序可以适配各种采集器获得的内容,可以方便地实现内容的快速采集,程序支持实时统计和广告插入&#xf…

leetcode刷题--栈与递归

文章目录 1. 682 棒球比赛2. 71 简化路径3. 388 文件的最长绝对路径4. 150 逆波兰表达式求值5. 227. 基本计算器II6. 224. 基本计算器7. 20. 有效的括号8. 636. 函数的独占时间9. 591. 标签验证器10. 32.最长有效括号12. 341. 扁平化嵌套列表迭代器13. 394.字符串解码 1. 682 棒…