一个超赞的开源串口虚拟示波器项目,玩起来!

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

基本功能

双击放大

项目地址:https://github.com/CieNTi/serial_port_plotter

这是一个Windows应用程序,可显示来自串行端口的实时数据,使用QtQCustomPlot库构建。

具体有哪些功能:

  • 范围无限制:新的通道数据会创建一个新图形并使用它;

  • 无数据点限制:保留所有接收到的数据,以便用户可以浏览旧数据;

  • 无波特率限制:经过测试高达912600 bps

  • 使用鼠标进行缩放和拖动(滚轮或单击,仅限于X轴);

  • 在图上移动会在状态栏中显示图形的X和Y值;

  • 频道名称图例(双击进行修改);

  • 频道选择(点击图例文字);

  • 支持正负整数和浮点数;

  • 可以输出图像保存为PNG

  • 可以到处数据为CSV

  • 自动缩放到可见图;

使用比较简单,在软件布局中大致有三个地方经常使用:

  1. 串口的基本配置(配置串口通讯的参数);

  2. 串口数据图形显示区(用于显示波形);

  3. 串口数据显示区域(串口的数据基本都会显示出来);

如何使用程序?

只需通过串行端口发送整数数据即可。

该应用程序期望使用某种格式,以便可以区分值。

发送的数据都必须以$开头,并以;结尾 (分号)和内部的整数需要用空格分隔。

如何显示波形?

这个软件上传数据非常简单,每一帧数据保持格式如下:

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;
    /* USER CODE END WHILE */
    printf("$%d %d %d;",data_1,data_2,data_3);
    //printf("hello\n");

    /* USER CODE BEGIN 3 */
}

最终结果如下,基本符合要求;

双击放大

进行二次开发

该项目是在QtCreator环境下开发的,需要在PC上搭建Qt的开发环境,安装QtCreator之后,打开项目目录下的.pro的工程文件即可,然后就可以随意添加自己需要加入的功能,源码目录如下图所示;

源码目录结构

下面是我以前项目中加入的一些控制指令,还有读写Flash的操作,具体如下所示;

二次开发后的项目



·················· END ··················

关注后回复「1024」,获取海量学习资源

相关推荐
<p> <span style="color:#000000;"><strong>大体分为3个阶段的学习:</strong></span> </p> <p> <span style="color:#000000;"><strong>第一阶段是<span style="background-color:#FFE500;">mvc基础的学习</span>,通过通俗易懂的例子,体现mvc框架的优势;</strong></span> </p> <p> <span style="color:#000000;"><strong>第二阶段是<span style="background-color:#FFE500;">EF的学习</span>,通过实际案例,体现orm框架的伟大之处;</strong></span> </p> <p> <span style="color:#000000;"><strong>第三阶段是<span style="background-color:#FFE500;">项目开发</span>阶段,采用mvc+ef+多层架构的布局,采用TDD的开发模式</strong></span><strong><span style="font-size:16px;">,大概的功能如下:</span></strong> </p> <p> <br /> </p> <p> <span style="font-size:16px;"><strong>   《巧租房》是一个手机版的租房网站,提供了搜索房源、预约看房、房源委托、后台抢单、房源管理、操作日志、定时报表、配置管理等功能。项目采用的是b/s模式的架构,包括一个后台管理和一个前端的可以自适应于手机端的页面,项目全程采用TDD开发模式,用到如下的技术:</strong></span><span style="font-size:16px;"><strong> </strong></span> </p> <p> <span style="font-size:16px;"><strong>     </strong></span><span style="font-size:16px;"><span style="font-size:16px;"><strong> 前端技术:</strong></span><strong><span style="font-size:16px;">前端MVC引擎(artTemplate)、HUI、MUI(手机端自适应)、ValidForm、Layer;</span></strong><br /> </span> </p> <p> <span style="font-size:16px;"><span style="font-size:16px;"><strong>    .Net高级技术:</strong></span><strong><span style="font-size:16px;">自定义Filter、自定义ModelBinder、ASP.Net MVC+EntityFramework实践;</span></strong></span> </p> <p> <span style="font-size:16px;"><span style="font-size:16px;"><strong>     大型网站架构:</strong></span><strong><span style="font-size:16px;">UnitTest、AutoFac、分布式架构(Redis、Memecached等)、CDN与云存储、云计算服务(短信验证、SendCloud邮件云)、RBAC权限控制、页面静态化和SSI;数据库并发控制(悲观锁与乐观锁);</span></strong></span> </p> <p> <span style="font-size:16px;"><span style="font-size:16px;"><strong>      高级开源组件:</strong></span><strong><span style="font-size:16px;">ElasticSearch全文搜索引擎;Quartz.Net定时调度;UEditor;Log4Net**版;互联网网站安全(XSS、CSRF等);CodeCarvings.Piczard(水印、缩略图);CaptchaGen(验证码);WebUploader文件无刷新上传</span></strong></span> </p> <p> <span style="font-size:16px;"><strong><span style="font-size:16px;"><img src="https://img-bss.csdn.net/202002071220199742.png" alt="" /><br /> </span></strong></span> </p> <strong><span style="font-size:16px;"><img src="https://img-bss.csdn.net/202002071220288479.png" alt="" /></span></strong> <p> <br /> </p> <p> <br /> </p> <p> <img src="https://img-bss.csdn.net/202002071221023835.jpg" alt="" /> </p> <p> <img src="https://img-bss.csdn.net/202002071221196040.jpg" alt="" /> </p> <p> <img src="https://img-bss.csdn.net/202002071221399932.jpg" alt="" /> </p> <p> <img src="https://img-bss.csdn.net/202002071222055368.jpg" alt="" /> </p> <p> <img src="https://img-bss.csdn.net/202002071222246104.jpg" alt="" /> </p>
©️2020 CSDN 皮肤主题: 代码科技 设计师:Amelia_0503 返回首页
实付 59.90元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值