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”
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!