• 26961阅读
  • 27回复

QT编写的串口设备调试工具(终极版) [复制链接]

上一主题 下一主题
离线liudianwu
 

图酷模式  只看楼主 倒序阅读 楼主  发表于: 2013-12-20
这里首先说明一下,这个为什么叫串口设备调试工具而不是串口调试工具,是因为这个工具比网络上的串口调试工具多出了一些真实需要的用来调试设备的功能,首先一点就是大部分的串口调试工具收到数据都是立即返回,这样的数据都是连着的,头一条数据和后一条数据头尾相连,对于调试着来说要看数据非常麻烦,而且在不断有数据过来时,要停下来看数据除非关闭串口,而不能在打开串口的时候看数据,因为不断有数据过来冲掉前面的数据显示,甚至有些还不能最大化等等情况,这个工具是根据将近四年的与硬件通信这块开发工具的切身实际需求量身定做的,还能模拟设备立即回复数据。之前很多[size=font-size: 10.5pt,10.5pt]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),谢谢!
运行截图:
window.open('http://www.qtcn.org/bbs/attachment/Mon_1312/44_110085_dd1fd173d6f7d38.png?54');" style="max-width:700px;max-height:700px;" onload="if(is_ie6&&this.offsetWidth>700)this.width=700;" >




可执行文件下载地址:http://download.csdn.net/detail/feiyangqingyun/6745003
源码猛点这里:http://download.csdn.net/detail/feiyangqingyun/6745011
本站下载地址: mySerialPortTools.zip (94 K) 下载次数:1980
1条评分金钱+1
lcs230 金钱 +1 - 2017-11-14
欢迎关注微信公众号:Qt实战/Qt入门和进阶(各种开源作品、经验整理、项目实战技巧,专注Qt/C++软件开发,视频监控、物联网、工业控制、嵌入式软件、国产化系统应用软件开发) QQ:517216493  WX:feiyangqingyun  QQ群:751439350
离线realfan

只看该作者 1楼 发表于: 2013-12-20
支持一下。
也可以考虑用Qt5做一下,Qt5原生支持串口了,可以少掉不少自己的代码。
离线worldsing

只看该作者 2楼 发表于: 2013-12-20
有个需求,加个Modem协议,
过几天做一个
离线liudianwu

只看该作者 3楼 发表于: 2013-12-21
回 1楼(realfan) 的帖子
用QT5.2做过,不过测试下来貌似有点问题,在快速收发大量数据时在windows下容易卡住,在linux下表现很好!奇怪!
欢迎关注微信公众号:Qt实战/Qt入门和进阶(各种开源作品、经验整理、项目实战技巧,专注Qt/C++软件开发,视频监控、物联网、工业控制、嵌入式软件、国产化系统应用软件开发) QQ:517216493  WX:feiyangqingyun  QQ群:751439350
离线all.us

只看该作者 4楼 发表于: 2013-12-21
我觉得不一定显示数据时要加个时间戳这种模式,看起来更乱了,有时原始的数据更好点,楼主可以做成两个模式,可以自由切换。另外楼主的发送框只有一个,可以参考一下sscom的做法,可以输入多帧数据,因为很多时候我们需要在几个数据间切换,而只有一个发送框的话,我们就得不停的清除原来的数据,再填入新的数据,不方便啊。
最后,吐槽一下,好像我们这些工具长得都不怎么令人赏心悦目,而且界面都是一样的摆放,难道我们做开发的就不能有个实用而有美观的工具?整天对着一样的东西,累觉不爱啊。
离线liudianwu

只看该作者 5楼 发表于: 2013-12-21
回 4楼(all.us) 的帖子
这个伟大的任务就交给你啦!
欢迎关注微信公众号:Qt实战/Qt入门和进阶(各种开源作品、经验整理、项目实战技巧,专注Qt/C++软件开发,视频监控、物联网、工业控制、嵌入式软件、国产化系统应用软件开发) QQ:517216493  WX:feiyangqingyun  QQ群:751439350
离线leixinren

只看该作者 6楼 发表于: 2014-06-11
回 liudianwu 的帖子
liudianwu:用QT5.2做过,不过测试下来貌似有点问题,在快速收发大量数据时在windows下容易卡住,在linux下表现很好!奇怪! (2013-12-21 10:00) 

能不能把Qt5.2版本的放出来学习下?
离线lybi

只看该作者 7楼 发表于: 2014-06-17
学习中
离线jgcddd

只看该作者 8楼 发表于: 2014-06-19
一次不能全部接收,比如:发送报文到终端(走modbus协议)终端返回,接收时,不能一次全部的接收到,这是什么原因?
离线zhuming

只看该作者 9楼 发表于: 2014-08-28
一定要支持啊···········
离线蛋蛋

只看该作者 10楼 发表于: 2014-09-11
能做到accessport的显示功能吗?不要自动换行,同时实时性要高。界面流畅。
离线libing_

只看该作者 11楼 发表于: 2014-10-10
武个 那个myCom->readAll();读到的怎么是空的,没有返回数据
离线lengyuye10

只看该作者 12楼 发表于: 2014-10-13
改工具支持发送文件吗?
离线hdxabout

只看该作者 13楼 发表于: 2015-05-19
怎么打不开串口 在ubuntu下 qt4.8.6
离线mscheng

只看该作者 14楼 发表于: 2015-06-05
不错啊,楼主不错
离线xilanglang

只看该作者 15楼 发表于: 2015-06-09
mark  学习一下,一直关注
不积跬步无以至千里
离线rfstorm

只看该作者 16楼 发表于: 2015-06-24
手头的串口程序正好有问题,学习一下
离线stillelx

只看该作者 17楼 发表于: 2015-07-23
    
离线yklstudent

只看该作者 18楼 发表于: 2015-08-15
一份耕耘,一份收货!
离线wekginchin

只看该作者 19楼 发表于: 2016-11-08
哥,我x86linux能用,armlinux就不行,怎么办。
离线return

只看该作者 20楼 发表于: 2016-11-21
                    
离线kyowjw01

只看该作者 21楼 发表于: 2017-05-25
谢谢楼主分享!
离线wangwn

只看该作者 22楼 发表于: 2020-01-28
5.13版本下的串口好用吗?
离线ztliu

只看该作者 23楼 发表于: 2020-10-27
        
离线mugua001

只看该作者 24楼 发表于: 2020-10-30
我用Qt5.14.1编译,一堆错误啊
离线xxbzls

只看该作者 25楼 发表于: 2021-12-14
MARK
离线zuoyi

只看该作者 26楼 发表于: 2023-01-13
不如发到本站
学习Qt技术...
离线marsduan1986

只看该作者 27楼 发表于: 2023-04-11
快速回复
限100 字节
 
上一个 下一个