0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

解读一个超赞的开源串口虚拟示波器项目

传感器技术 来源:小麦大叔 作者:小麦 2021-05-06 17:40 次阅读

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

基本功能

9ff093fe-aaef-11eb-9728-12bb97331649.png

双击放大

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

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

具体有哪些功能:

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

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

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

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

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

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

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

支持正负整数和浮点数;

可以输出图像保存为PNG;

可以到处数据为CSV;

自动缩放到可见图;

a0624f12-aaef-11eb-9728-12bb97331649.png

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

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

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

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

如何使用程序?

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

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

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

如何显示波形?

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

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*/
}

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

a07739d6-aaef-11eb-9728-12bb97331649.png

双击放大

进行二次开发

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

a08b849a-aaef-11eb-9728-12bb97331649.png

源码目录结构

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

a0ee4242-aaef-11eb-9728-12bb97331649.png

二次开发后的项目

编辑:jq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • PC
    PC
    +关注

    关注

    9

    文章

    2110

    浏览量

    154814
  • 开源
    +关注

    关注

    3

    文章

    3421

    浏览量

    42787
  • 开发板
    +关注

    关注

    25

    文章

    5144

    浏览量

    98441
  • 串行端口
    +关注

    关注

    0

    文章

    34

    浏览量

    11729

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

文章出处:【微信号:WW_CGQJS,微信公众号:传感器技术】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    ElfBoard开源项目|智能消防车项目

    智慧城市的建设推动了城市各个领域的智能化发展,消防领域也不例外。智慧消防作为智慧城市的重要组成部分,其建设和发展与智慧城市的建设紧密相连。 在此背景下,ElfBoard团队完成了创新性的开源
    的头像 发表于 01-04 16:43 365次阅读
    ElfBoard<b class='flag-5'>开源</b><b class='flag-5'>项目</b>|智能消防车<b class='flag-5'>项目</b>

    开源鸿蒙5.0 Release版本关键特性解读

    概述 开源鸿蒙 5.0 Release版本是开源鸿蒙操作系统的里程碑,在系统能力、性能优化等多个方面进步增强。本文将从系统功能、性能优
    的头像 发表于 12-23 13:58 750次阅读

    开放原子开源基金会与三开源项目举行捐赠签约仪式

    近日,在2024开放原子开发者大会暨首届开源技术学术大会开幕式上,开放原子开源基金会秘书长助理李博与openKylin、EasyAda、KWDB开源项目捐赠方代表共同签约。
    的头像 发表于 12-23 11:29 336次阅读

    基于Arduino的串口通信项目

    基于Arduino的串口通信项目涉及多个方面,包括硬件连接、软件编程、串口参数配置等。 、硬件准备 Arduino开发板 :确保你有块A
    的头像 发表于 11-22 09:24 914次阅读

    凌蒙派OpenHarmony开源项目荣获本期Gitee官方推荐

    近日,我司凌蒙派OpenHarmony开源项目荣获本期Gitee官方推荐。本期Gitee官方推荐不仅是对凌蒙派OpenHarmony开源项目的高度认可,也是对我司在推动
    的头像 发表于 11-20 01:04 467次阅读
    凌蒙派OpenHarmony<b class='flag-5'>开源</b><b class='flag-5'>项目</b>荣获本期Gitee官方推荐

    为什么通信要使用虚拟串口串口助手?

    串口助手和虚拟串口是什么?串口助手和虚拟串口串口
    的头像 发表于 11-15 01:04 1892次阅读
    为什么通信要使用<b class='flag-5'>虚拟</b><b class='flag-5'>串口</b>和<b class='flag-5'>串口</b>助手?

    真格基金宣布捐赠开源AI项目vLLM

    通用人工智能项目,Hugging Face 上有超过 40 万模型。每周,有超过 100 万行代码在开源 AI 领域中创建,开发者
    的头像 发表于 09-24 16:13 464次阅读

    Matepad pro12.2 已上市半个月,但是还没有在开源网站看到该项目开源信息,违背开源精神

    Matepad pro12.2 已上市半个月,本人自己也购买了同款12+256的pad,想要同步学习下这款pad的些体验还不错的功能点,但是目前为止还没有在开源网站看到该项目开源
    发表于 08-27 17:25

    虚拟示波器还是数字示波器好用

    虚拟示波器和数字示波器各有优缺点,具体选择哪种取决于您的具体需求和预算。 虚拟示波器 定义
    的头像 发表于 07-17 17:16 952次阅读

    如何使用示波器测量串口波特率

    在通信和电子测量领域,串口波特率是至关重要的参数,它决定了数据在串行通信线上的传输速率。使用示波器来测量串口波特率是
    的头像 发表于 05-27 16:25 5622次阅读

    data scope(dscope)串口虚拟示波器最近有人用过吗?

    data scope(dscope)串口虚拟示波器最近有人用过吗? 好像在最近的win11系统上无法打开 报“软件被修改,即将终止运行” 这个怎么解?
    发表于 05-17 08:51

    飞凌嵌入式-ElfBoard-项目分享|基于ELF 1S开发板完成的物联网开源项目

    网络连接,这几种方式都可以选用,由于ELF 1S开发板默认板载了RTL8723DU1 无线Wi-Fi模块,因此,本项目选用Wi-Fi无线连接方式,让开发板接入互联网。 十分方便
    发表于 05-16 09:12

    帝晶虚拟串口屏的应用

    帝晶虚拟串口屏的应用
    的头像 发表于 04-02 13:39 1468次阅读
    帝晶<b class='flag-5'>虚拟</b><b class='flag-5'>串口</b>屏的应用

    如何实现STM32 USB host对另外的USB虚拟串口设备的通讯?

    如何实现STM32 USB host 对另外的USB 虚拟串口设备的通讯
    发表于 03-07 06:10

    CYUSB3014虚拟串口工作中突然中断怎么解决?

    项目中使用了usb3.0和虚拟串口工作,设备启动后通信工作是正常的,在工作段时间后,偶尔会出现串口不能通信,但在设备管理器 COM 端口显
    发表于 02-28 06:33