serialport + qcustomplot 绘制串口数据

很久之前用Qt的serialport + qcustomplot 做了一个小工具,通过UART搜集ADC 数据,然后将波形展示在GUI上。简易代码已上传到gitee

https://gitee.com/xianting77/serialAdcPlot/tree/master

QSerialPort模块详细使用方法见下面,很清楚。

https://www.jb51.net/article/182566.htm

https://blog.csdn.net/yuyu414/article/details/42400721

 

 

使用过程中遇到了nullptr问题,最终参考后,解决问题。

QT编译器问题带来的编译错误:error: 'nullptr' was not declared in this scope

这个错误提示有点迷惑性,意思是nullptr在当前作用域没有被声明,就好像是变量没有声明一样的。

实际上,nullptr是C++11引入的关键字,这个编译器没有支持C++11。出现这个错误说明你的编译器没有支持C++11,至少没有完整支持C++11。

nullptr关键字用于标识空指针,是std::nullptr_t类型的(constexpr)变量。它可以转换成任何指针类型和bool布尔类型,但是不能被转换为整数。

char *p1 = nullptr; // 正确
int *p2 = nullptr; // 正确
bool b = nullptr; // 正确. if(b)判断为false
int a = nullptr; // error

 

解决办法可以在在qt中要在Makefile中添加相关的编译参数可以通过在xx.pro文件中修改来实现:

在xx.pro中通过使用QMAKE_CXXFLAGS设置来实现(以添加gdb调试参数为例)

 QMAKE_CXXFLAGS += -g(在xx.pro文件中可能显示的是黑色,其他显示为有紫色)

要支持C++11 可以在后面加“ -std = c++11”

 

posted @ 2022-02-18 21:34  七星望  阅读(308)  评论(0编辑  收藏  举报