项目地址:https://github.com/CieNTi/serial_port_plotter
这是一个Windows
应用程序,可显示来自串行端口的实时数据,使用Qt
和QCustomPlot
库构建。
具体有哪些功能:
912600 bps
;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;
/* 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的操作,具体如下所示;
🫵兄弟们!一个人单打独斗确实能冲得挺快,但要想走得更远、更稳,还得靠一群志同道合的伙伴啊!
👊 麦鸽的知识星球现在已经聚集了一波人,大家都在这里互相学习、共同进步。
如果你也想找个靠谱的学习圈子,赶紧 戳链接 🔗 加入我们吧!
在这里,你能读到星球专栏的干货,优质教程,练手项目,随时向麦鸽提问,还能帮你定制学习计划。别犹豫了,兄弟,一起冲!💪
往期推荐