DSP

基于qwt和串口通信的软件示波器

2019-07-13 15:02发布

在嵌入式开发过程中,经常需要查看DSP/MCU内部变量的值,通常的做法是使用仿真器,或者通过DAC输出用示波器观察,本文介绍一种基于qt/qwt的软件示波器,DSP/MCU将内部变量的值通过串口发出,软件示波器收到以后以波形的形式显示。

1、安装QT5.8

从下面地址下载qt-opensource-windows-x86-mingw530-5.8.0.exe并安装:
http://download.qt.io/archive/qt/5.8/5.8.0/ 安装完成后添加环境变量:
C:QtQt5.8.05.8mingw53_32in;C:QtQt5.8.0Toolsmingw530_32in
这里写图片描述

2、安装qwt-6.1.3

(1) 下载qwt6.1.3并解压,例如我电脑上是解压到I:QTqwt-6.1.3qwt-6.1.3:
https://sourceforge.net/projects/qwt/files/qwt/6.1.3/ (2) 开始->运行->powershell (3) 进入qwt所在目录:
cd I:QTqwt-6.1.3qwt-6.1.3 (4) 运行qmake qwt.pro (5) 运行qmake (6) 运行mingw32-make.exe (7) 运行 mingw32-make.exe install (8) 将I:QTqwt-6.1.3qwt-6.1.3lib 下的*.dll文件复制到C:QtQt5.8.05.8mingw53_32in (9) 将I:QTqwt-6.1.3qwt-6.1.3lib下的*.a文件复制到C:QtQt5.8.05.8mingw53_32lib (10) 将C:Qwt-6.1.3pluginsdesigner下的所有文件复制到C:Qwt-6.1.3pluginsdesigner (11) 将C:Qwt-6.1.3include下的所有文件复制到C:QtQt5.8.05.8mingw53_32includeqwt
其中qwt为新建文件夹,在qt程序中包含此文件夹。

3、 QT程序

(1) 新建QT程序并包含qwt相关头文件:
这里写图片描述 (2) 在ui中增加start/stop按钮,qwt plot控件等 (3) 为qwtplot控件设置背景网络,设置放大缩小的机制,设置曲线的颜 {MOD}等。 (4) 增加串口通信功能
示例程序中假设串口每1ms接收4个变量的值,每个变量2个字节,共8个字节。
每10ms从串口中读取接收到的数据并赋给QwtPlotCurve变量,再通过qwtplot显示。
示例程序下载地址:
https://pan.baidu.com/s/1mjUCXHe

4、 演示功能

为了演示示波器的功能,示例程序中模拟产生4个正弦波,并通过串口发送出去,如果将串口的Rx和Tx短接,串口将接收到发送出去的数据并在示波器上显示,效果如下图所示:
这里写图片描述

5、改进

读者可以根据自己的实际需要进行修改,例如增加光标,增加波形的保存和回放等功能。