1. 设计目的
使用Qt设计一款串口调试助手,具有自动扫描串口端口、列表端口硬件信息、16进制转换、收发数目统计、定时发送等功能。代码注释清晰,应用无内建缓存区,运行效率高,适合拿来学习和作为二次开发的框架。
出于对日后二次开发的考虑,没有对界面做任何的美化,保持着最原始原汁原味的界面,代码逐行注释一看就懂。仅提供了市面上常见的串口助手的基本功能,目标精简、可靠、高效,欢迎各位使用和作为框架进行二次开发,并提出改进意见。
2. 源码下载
我的Qt版本:5.12.9
GitHub源码下载:Qt串口调试助手下载
制作过程和源码讲解,见博客Qt专栏的内容。
更新:后期在原有串口功能上,使用了QCustomPlot绘图库,制作了串口波形绘图上位机,非常适合单片机上传波形进行调试。最多可显示20条曲线,支持滚轮Y轴缩放、左键拖拽。波形帧协议兼容匿名四轴调试上位机,并增加了16进制转换,支持GB2312中文编码。详细介绍见:波形绘图上位机源码下载
3. 成品效果展示
- 串口列表框,点击时扫描可用端口。
- 串口列表框,显示端口号的同时,还显示硬件设备信息,便于选择区分。
- 打开串口后,端口选择框变为灰色不可选,避免误操作。
- 打开 / 关闭串口,按键翻转。
- 接收显示优化。(不发生换行,CH340、CP2102多硬件兼容)
- 收、发数目统计。
- 定时自动发送。
- 16进制发送、16进制接收。
- 格式随意转换,无Bug。
- 源码讲解、GitHub更新下载,戳左下角链接。
- 源码内容几乎是逐行注释,不用担心翻帮助文档,一眼就懂。
- 接收部分没有内建缓存区,运行效率高。
- 主代码量不超过400行,去除注释,可能只有300左右,便于学习和二次开发。
总结
Qt开发界面简单、高效,可跨平台运行,很值得嵌入式从业者学习。不过对于一些工控应用的开发,不如C#+WinForm生态完善,有些产品仅提供C#的SDK,因为C#的代码量远小于C++,而且背靠 .NET这棵大树好乘凉。真正开发移动端的应用肯定还是安卓那一套,界面好看开发更简便。所以现在学习Qt处于一个十分尴尬的位置,唯一的好处也就是跨平台,而嵌入式开发又暂时没有更好的跨平台取代方案,Qt要学但学了之后意识到应用范围在逐渐变窄。只希望 .NET环境日趋在linux上完善,好让要学习的东西变得少点,头发能多剩点。