标题:QT编写的串口设备调试工具(终极版)
作者:liudianwu
日期:2013-12-20 14:10
内容:
这里首先说明一下,这个为什么叫串口设备调试工具而不是串口调试工具,是因为这个工具比网络上的串口调试工具多出了一些真实需要的用来调试设备的功能,首先一点就是大部分的串口调试工具收到数据都是立即返回,这样的数据都是连着的,头一条数据和后一条数据头尾相连,对于调试着来说要看数据非常麻烦,而且在不断有数据过来时,要停下来看数据除非关闭串口,而不能在打开串口的时候看数据,因为不断有数据过来冲掉前面的数据显示,甚至有些还不能最大化等等情况,这个工具是根据将近四年的与硬件通信这块开发工具的切身实际需求量身定做的,还能模拟设备立即回复数据。之前很多QT开发的版本源码分成两套,一套在windows下编译,一套在linux下编译,甚至麻烦,虽然QT5.1之后的版本自带了串口通信类,本人测试过,貌似还有小问题,在快速收发数据时容易卡住,这次带来的源码不用做任何改动即可在多个平台编译。
项目名称:串口设备调试工具
开发环境:WIN7+QT4.7+QT CREATOR2.8+MINGW
已编译通过测试平台:XP、Win7、ubuntu、tiny210
技术实现:通过第三方串口通信类,解析协议并作出处理
基本功能:
1:支持16进制数据发送与接收。
2:支持windows下COM9以上的串口通信。
3:自动加载对应操作系统串口号。
4:实时显示收发数据字节大小以及串口状态。
高级功能:
1:可自由管理需要发送的数据,每次只要从下拉框中选择数据即可,无需重新输入数据。
2:可模拟设备回复数据,需要在主界面开启模拟设备回复数据。当接收到设置好的指令时,立即回复设置的回复指令。例如指定收到0x16 0x00 0xFF 0x01需要回复0x16 0x00 0xFE 0x01,则只需要在SendData.txt中添加一条数据16 00 FF 01:16 00 FE 01即可。
3:可定时发送数据和保存数据到文本文件:,默认间隔5秒钟,可更改间隔时间。
4:在不断接收到大量数据时,可以暂停显示数据来查看具体数据,后台依然接收数据但不处理,无需关闭串口来查看已接收到的数据。
5:每次收到的数据都是完整的一条数据,而不是脱节的,做了延时处理。
6:一套源码随处编译,无需更改串口通信类,已在XP/WIN7/UBUNTU/ARMLINUX系统下成功编译并运行。
如果有更好的建议或者意见,请Q我(517216493),谢谢!
运行截图:
可执行文件下载地址:http://download.csdn.net/detail/feiyangqi ..
#1 [realfan 12-20 16:17]
支持一下。
也可以考虑用Qt5做一下,Qt5原生支持串口了,可以少掉不少自己的代码。
#2 [worldsing 12-20 22:14]
有个需求,加个Modem协议,
过几天做一个
#3 回 1楼(realfan) 的帖子 [liudianwu 12-21 10:00]
用QT5.2做过,不过测试下来貌似有点问题,在快速收发大量数据时在windows下容易卡住,在linux下表现很好!奇怪!
#4 [all.us 12-21 11:47]
我觉得不一定显示数据时要加个时间戳这种模式,看起来更乱了,有时原始的数据更好点,楼主可以做成两个模式,可以自由切换。另外楼主的发送框只有一个,可以参考一下sscom的做法,可以输入多帧数据,因为很多时候我们需要在几个数据间切换,而只有一个发送框的话,我们就得不停的清除原来的数据,再填入新的数据,不方便啊。
最后,吐槽一下,好像我们这些工具长得都不怎么令人赏心悦目,而且界面都是一样的摆放,难道我们做开发的就不能有个实用而有美观的工具?整天对着一样的东西,累觉不爱啊。
#5 回 4楼(all.us) 的帖子 [liudianwu 12-21 16:01]
这个伟大的任务就交给你啦!