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

    文章

    1951

    浏览量

    152801
  • 开源
    +关注

    关注

    3

    文章

    2990

    浏览量

    41722
  • 开发板
    +关注

    关注

    25

    文章

    4435

    浏览量

    94035
  • 串行端口
    +关注

    关注

    0

    文章

    30

    浏览量

    11476

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

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

收藏 人收藏

    评论

    相关推荐

    帝晶虚拟串口屏的应用

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

    虚拟示波器如何使用 虚拟示波器和数字示波器的区别

    虚拟示波器是一种基于计算机软件的虚拟仪器,用于显示和分析电子信号的形状、频率、幅度等特征。它的工作原理是将模拟信号通过采样和数模转换等处理,转化为数字信号,然后通过计算机处理并显示出来。相比之下
    的头像 发表于 01-23 14:14 300次阅读

    【干货】示波器串口数据

    原文来自:24c01硬件电子 有时候没有逻辑分析仪,恰恰示波器也没买串口解析的功能,那么如何扒串口数据呢?(以下文章也适用于RS485,因为基本差不多) 首先介绍一下串口数据帧的组成:
    的头像 发表于 01-12 08:40 313次阅读
    【干货】<b class='flag-5'>示波器</b>扒<b class='flag-5'>串口</b>数据

    USB虚拟串口串口1可以同时发送吗

    可以同时发送,USB虚拟串口和物理串口1都可以作为数据传输的通道,可以同时操作和发送数据。 USB虚拟串口是一种通过USB接口模拟的
    的头像 发表于 01-04 11:26 507次阅读

    基于声卡和LabVIEW的虚拟数字示波器的设计

    电子发烧友网站提供《基于声卡和LabVIEW的虚拟数字示波器的设计.pdf》资料免费下载
    发表于 10-20 11:49 5次下载
    基于声卡和LabVIEW的<b class='flag-5'>虚拟</b>数字<b class='flag-5'>示波器</b>的设计

    请问虚拟串口如何与真实串口连接?

    想创建虚拟串口,然后与真实串口连接,在Pro
    发表于 09-28 06:50

    虚拟示波器和数字示波器的区别是什么?

    虚拟示波器和数字示波器的区别是什么?  虚拟示波器和数字示波器是电子测量领域中的两种常见设备。虽
    的头像 发表于 09-04 16:47 1431次阅读

    使用FPGA做的开源示波器

    其实用FPGA做的示波器有很多,开源的相对较少,我们今天就简单介绍一个使用FPGA做的开源示波器
    的头像 发表于 08-29 09:30 1001次阅读

    介绍一个使用FPGA做的开源示波器

    其实用FPGA做的示波器有很多,开源的相对较少,我们今天就简单介绍一个使用FPGA做的开源示波器
    发表于 08-14 09:03 941次阅读

    M032芯片USB有8八端点,可以虚拟几个串口

    目前功能需求需要USB虚拟出三串口,但是我在虚拟出双
    发表于 06-20 08:28

    Multisim中虚拟泰克数字示波器的使用

    Multisim的虚拟仪器还包括有美国Tekreonix公司TDS20244通道数字示波器。本节介绍虚拟泰克数字示波器使用。
    的头像 发表于 05-17 12:44 9996次阅读
    Multisim中<b class='flag-5'>虚拟</b>泰克数字<b class='flag-5'>示波器</b>的使用

    Multisim中虚拟双踪示波器的使用

    本节介绍Multisim虚拟双踪示波器使用。
    的头像 发表于 05-17 12:32 1.5w次阅读
    Multisim中<b class='flag-5'>虚拟</b>双踪<b class='flag-5'>示波器</b>的使用

    请教下RTT有些没有实现双usb虚拟串口的实例?

    项目基于rtt v4.1开启了usb device功能,目前支持cdc+msc,就是虚拟串口
    发表于 05-12 15:10

    基于STM32的开源简易示波器项目

    项目是基于正点原子精英板制作的一个简易示波器,可以读取信号的频率和幅值,并可以通过按键改变采样频率和控制屏幕的更新暂停。
    的头像 发表于 05-08 09:35 1335次阅读
    基于STM32的<b class='flag-5'>开源</b>简易<b class='flag-5'>示波器</b><b class='flag-5'>项目</b>

    虚拟串口屏工作原理

    虚拟串口屏工作原理 Ø 虚拟串口屏生成 通过在计算机屏幕上创建显示窗口. 按照一定的协议把相应的图片,动画,文字,视频,等资源显示在既定窗口上. 3, ** **实现接收,发送和解析
    的头像 发表于 05-04 17:47 461次阅读