大家好,今天给大家推荐一个开源的串口虚拟示波器项目,可以实时显示串口传输的数据,非常直观,当然也可以做二次开发,非常的灵活。

基本功能

双击放大

项目地址: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串口示波器,解读一个超赞的开源串口虚拟示波器项目相关推荐

  1. 一个超赞的开源的图片去水印解决方案

    [公众号回复 "1024",免费领取程序员赚钱实操经验] 大家好,我是章鱼猫. 今天给大家推荐一个开源项目,这个开源项目的图片去水印效果非常好. 这个开源项目就是:Watermar ...

  2. 【有利可图网】PS实战系列:PS设计制作一个超赞的漂亮艺术花纹人像海报

    本篇教你如何巧用PS设计制作一个超赞的漂亮艺术花纹人像海报!教程清晰明了,制作过程灰常巧妙,许多曲线也是用花朵液化得到效果,这样既能省去画线条繁琐过程,也可让作品变得极具艺术感!

  3. github总star超9K!一个超赞的 PyTorch 资源大列表,有人把它翻译成了中文版!

    点击上方"AI遇见机器学习",选择"星标"公众号 重磅干货,第一时间送达 转自:程序员爱码士 自 2017 年 1 月 PyTorch 推出以来,其热度持续上升 ...

  4. 一个超赞又好用的PHP技巧!如何生成PHP扩展的类手册

    2019独角兽企业重金招聘Python工程师标准>>> 参考自gearman的文档:http://gearman.org/php-client-libraries/extension ...

  5. c语言 串口 封装,首颗超小封装的串口(UART)转PWM转换芯片ZWI10A

    全球首颗超小封装的串口(UART)转PWM控制芯片SOC. 功能概述 ● PWM输出特性 - PWM输出范围150HZ-200KHZ. - PWM频率为16位精度. -占空比调节方式(0-255). ...

  6. 拳王虚拟项目公社:分享一个大学生上班族都可做的虚拟副业项目

    文两千五百字左右,欲知如何实操请详细阅读 虚拟副业项目的优势在于: 1:0成本,可重复售卖,占用时间不多. 2:研发,查找,边际费用极低. 3:一般对于专业性要求极低,会找就行. 4:项目成长性极高, ...

  7. 一个超棒的开源解读项目【Linux内核揭秘】,一定不要错过啦!

    最近投入Linux方面的学习更多了,主要是Linux内核以及Linux驱动框架的研究,以下是我自己学习总结的一些笔记,以帮助我快速复习和回忆相关的知识点: 还有一个是RK平台的RKmedia,里面也有 ...

  8. 一个超赞的智慧园区地图导航解决方案,如何实现园区路线导航?

    基于三维GIS平台的智慧园区建设主要目标是为用户提供高效.便捷.舒适.生态和谐的居住环境,通过以感知技术为核心智慧化途径来获取园区的管理信息,并以智慧化的管理支撑平台整合各种信息,实现园区内的信息互联 ...

  9. 本周 Github 精选:多款超赞 AI 开源项目,等你来 Star!

    在碎片化阅读充斥眼球的时代,越来越少的人会去关注每篇论文背后的探索和思考. 在这个栏目里,你会快速 get 每篇精选论文的亮点和痛点,时刻紧跟 AI 前沿成果. 点击本文底部的「阅读原文」即刻加入社区 ...

  10. watermark-removal: 一款超赞的开源图片去水印解决方案

    公众号关注 「奇妙的 Linux 世界」 设为「星标」,每天带你玩转 Linux ! 今天给大家推荐一个开源项目,这个开源项目的图片去水印效果非常好. 这个开源项目就是:Watermark-Remov ...

最新文章

  1. XingXingMVC页面跳转处理
  2. windows下单机版的伪分布式solrCloud环境搭建Tomcat+solr+zookeeper
  3. php 正则匹配字母和数字,正则匹配密码只能是数字和字母组合字符串功能【php与js实现】...
  4. 单行文字、多行文字溢出时省略号表示的多种解决方式;调整字符间距;段落首字母大写缩进效果;
  5. ECMAScript6 ES6语法
  6. 服务器上批量替换html内的字符,如何批量替换字符串中的某个特定字符?
  7. python月球地球质量计算_我们如何计算一个行星的质量?
  8. \ d效率低于[0-9]
  9. 微信小程序的基本结构
  10. Python Conda报错:Collecting package metadata (current_repodata.json): failed
  11. 地铁线路查询(easyx)
  12. http+flv+java,HTTP-FLV的两种方式
  13. 设计模式(二)-软件开发过程中需要遵循的设计原则
  14. 阿里八八“好记”测试报告
  15. windows 10安装两个eclipse
  16. 机器学习作业(第十八次课堂作业)
  17. 【Quectel移远展锐平台5G模组RX500U/RG200U使用指南(三)-PCIE】
  18. nyoj 3 多边形重心问题
  19. 上传图片到到本地图片服务器操作方式
  20. IDEA:一键导入 Eclipse 快捷键版配置

热门文章

  1. 一个奇怪现象的分析过程
  2. [转载] New Concept English 1——Lesson 12 Whose is this…?This is my/your/her…
  3. C/C++ 程序设计员应聘常见面试试题深入剖析(2)
  4. Luogu3205 合唱队
  5. Luogu4936 Agent1
  6. git学习笔记-(12-git后悔药-1)
  7. java jquery时间问候语,js实现实时问候,不同时间显示不同问候语
  8. js php c语言for循环,JS for循环语句
  9. 河南省学业水平测试计算机题目,2015级河南学业水平考试试题及答案
  10. 单体 soa 微服务 区别_程序员必须要知道的SOA和微服务的区别