Android串口示波器,解读一个超赞的开源串口虚拟示波器项目
大家好,今天给大家推荐一个开源的串口虚拟示波器项目,可以实时显示串口传输的数据,非常直观,当然也可以做二次开发,非常的灵活。
基本功能
双击放大
项目地址:https://github.com/CieNTi/serial_port_plotter
这是一个Windows应用程序,可显示来自串行端口的实时数据,使用Qt和QCustomPlot库构建。
具体有哪些功能:
范围无限制:新的通道数据会创建一个新图形并使用它;
无数据点限制:保留所有接收到的数据,以便用户可以浏览旧数据;
无波特率限制:经过测试高达912600 bps;
使用鼠标进行缩放和拖动(滚轮或单击,仅限于X轴);
在图上移动会在状态栏中显示图形的X和Y值;
频道名称图例(双击进行修改);
频道选择(点击图例文字);
支持正负整数和浮点数;
可以输出图像保存为PNG;
可以到处数据为CSV;
自动缩放到可见图;
使用比较简单,在软件布局中大致有三个地方经常使用:
串口的基本配置(配置串口通讯的参数);
串口数据图形显示区(用于显示波形);
串口数据显示区域(串口的数据基本都会显示出来);
如何使用程序?
只需通过串行端口发送整数数据即可。
该应用程序期望使用某种格式,以便可以区分值。
发送的数据都必须以$开头,并以;结尾 (分号)和内部的整数需要用空格分隔。
如何显示波形?
这个软件上传数据非常简单,每一帧数据保持格式如下:
printf("$%d%d;",data1,data2);
根据要显示的数据量,可以调整数据点的数量。
例如,如果每10毫秒(100 Hz)从mbed的串行端口发送一次数据,并且绘图仪设置为显示500点,它将包含5秒钟数据的信息。
支持整数和浮点数(单精度和双精度)。
测试
简单测试一下这个软件,需要向PC发送数据,具体按照帧格式printf("$%d %d;",data1,data2)即可;
本文基于STM32F767-Nucleo-144的开发板,通过STM32CubeIDE进行开发,连续从单片机往PC发送三个数据;
while(1)
{
data_1++;
data_2++;
angle+=0.01;
data_sin=sin(angle);
data_3=data_sin*128+128;
/*USERCODEENDWHILE*/
printf("$%d%d%d;",data_1,data_2,data_3);
//printf("hello
");
/*USERCODEBEGIN3*/
}
最终结果如下,基本符合要求;
双击放大
进行二次开发
该项目是在QtCreator环境下开发的,需要在PC上搭建Qt的开发环境,安装QtCreator之后,打开项目目录下的.pro的工程文件即可,然后就可以随意添加自己需要加入的功能,源码目录如下图所示;
源码目录结构
下面是我以前项目中加入的一些控制指令,还有读写Flash的操作,具体如下所示;
二次开发后的项目
编辑:jq
Android串口示波器,解读一个超赞的开源串口虚拟示波器项目相关推荐
- 一个超赞的开源的图片去水印解决方案
[公众号回复 "1024",免费领取程序员赚钱实操经验] 大家好,我是章鱼猫. 今天给大家推荐一个开源项目,这个开源项目的图片去水印效果非常好. 这个开源项目就是:Watermar ...
- 【有利可图网】PS实战系列:PS设计制作一个超赞的漂亮艺术花纹人像海报
本篇教你如何巧用PS设计制作一个超赞的漂亮艺术花纹人像海报!教程清晰明了,制作过程灰常巧妙,许多曲线也是用花朵液化得到效果,这样既能省去画线条繁琐过程,也可让作品变得极具艺术感!
- github总star超9K!一个超赞的 PyTorch 资源大列表,有人把它翻译成了中文版!
点击上方"AI遇见机器学习",选择"星标"公众号 重磅干货,第一时间送达 转自:程序员爱码士 自 2017 年 1 月 PyTorch 推出以来,其热度持续上升 ...
- 一个超赞又好用的PHP技巧!如何生成PHP扩展的类手册
2019独角兽企业重金招聘Python工程师标准>>> 参考自gearman的文档:http://gearman.org/php-client-libraries/extension ...
- c语言 串口 封装,首颗超小封装的串口(UART)转PWM转换芯片ZWI10A
全球首颗超小封装的串口(UART)转PWM控制芯片SOC. 功能概述 ● PWM输出特性 - PWM输出范围150HZ-200KHZ. - PWM频率为16位精度. -占空比调节方式(0-255). ...
- 拳王虚拟项目公社:分享一个大学生上班族都可做的虚拟副业项目
文两千五百字左右,欲知如何实操请详细阅读 虚拟副业项目的优势在于: 1:0成本,可重复售卖,占用时间不多. 2:研发,查找,边际费用极低. 3:一般对于专业性要求极低,会找就行. 4:项目成长性极高, ...
- 一个超棒的开源解读项目【Linux内核揭秘】,一定不要错过啦!
最近投入Linux方面的学习更多了,主要是Linux内核以及Linux驱动框架的研究,以下是我自己学习总结的一些笔记,以帮助我快速复习和回忆相关的知识点: 还有一个是RK平台的RKmedia,里面也有 ...
- 一个超赞的智慧园区地图导航解决方案,如何实现园区路线导航?
基于三维GIS平台的智慧园区建设主要目标是为用户提供高效.便捷.舒适.生态和谐的居住环境,通过以感知技术为核心智慧化途径来获取园区的管理信息,并以智慧化的管理支撑平台整合各种信息,实现园区内的信息互联 ...
- 本周 Github 精选:多款超赞 AI 开源项目,等你来 Star!
在碎片化阅读充斥眼球的时代,越来越少的人会去关注每篇论文背后的探索和思考. 在这个栏目里,你会快速 get 每篇精选论文的亮点和痛点,时刻紧跟 AI 前沿成果. 点击本文底部的「阅读原文」即刻加入社区 ...
- watermark-removal: 一款超赞的开源图片去水印解决方案
公众号关注 「奇妙的 Linux 世界」 设为「星标」,每天带你玩转 Linux ! 今天给大家推荐一个开源项目,这个开源项目的图片去水印效果非常好. 这个开源项目就是:Watermark-Remov ...
最新文章
- XingXingMVC页面跳转处理
- windows下单机版的伪分布式solrCloud环境搭建Tomcat+solr+zookeeper
- php 正则匹配字母和数字,正则匹配密码只能是数字和字母组合字符串功能【php与js实现】...
- 单行文字、多行文字溢出时省略号表示的多种解决方式;调整字符间距;段落首字母大写缩进效果;
- ECMAScript6 ES6语法
- 服务器上批量替换html内的字符,如何批量替换字符串中的某个特定字符?
- python月球地球质量计算_我们如何计算一个行星的质量?
- \ d效率低于[0-9]
- 微信小程序的基本结构
- Python Conda报错:Collecting package metadata (current_repodata.json): failed
- 地铁线路查询(easyx)
- http+flv+java,HTTP-FLV的两种方式
- 设计模式(二)-软件开发过程中需要遵循的设计原则
- 阿里八八“好记”测试报告
- windows 10安装两个eclipse
- 机器学习作业(第十八次课堂作业)
- 【Quectel移远展锐平台5G模组RX500U/RG200U使用指南(三)-PCIE】
- nyoj 3 多边形重心问题
- 上传图片到到本地图片服务器操作方式
- IDEA:一键导入 Eclipse 快捷键版配置
热门文章
- 一个奇怪现象的分析过程
- [转载] New Concept English 1——Lesson 12 Whose is this…?This is my/your/her…
- C/C++ 程序设计员应聘常见面试试题深入剖析(2)
- Luogu3205 合唱队
- Luogu4936 Agent1
- git学习笔记-(12-git后悔药-1)
- java jquery时间问候语,js实现实时问候,不同时间显示不同问候语
- js php c语言for循环,JS for循环语句
- 河南省学业水平测试计算机题目,2015级河南学业水平考试试题及答案
- 单体 soa 微服务 区别_程序员必须要知道的SOA和微服务的区别