Llinuxu 发表于 2015-8-11 11:06:27

分享一个自己用QT编写的串口调试工具

本帖最后由 Llinuxu 于 2015-8-12 10:52 编辑

自己用QT编写的串口调试工具,最开始是在linux下做的,后面移植到了windows,因为在linux下用的是QT4,但是在windows下用的QT5,所以总的还是基本用的QT4的东西,没有用QT5中自带的串口类,可以很简单的移植到linux下。欢迎大家找出BUG或者指出还需要改正的地方。

Linn 发表于 2015-8-11 11:23:51

下载中,感谢分享

embeddev_1 发表于 2015-8-11 11:36:51

本帖最后由 embeddev_1 于 2015-8-11 11:38 编辑

下来看看!{:biggrin:} 不提供源码麽?

lin2013 发表于 2015-8-11 11:49:34

做个测试,谢谢!

Llinuxu 发表于 2015-8-11 13:37:39

embeddev_1 发表于 2015-8-11 11:36
下来看看! 不提供源码麽?

至于源码,我会等大家帮我测过然后修改后没有什么问题了再上传,敬请期待{:lol:}

monkhooder 发表于 2015-8-11 13:40:13

我用的Qextserialport自带的示例,感觉还凑合着能用

zwjiang8212 发表于 2015-8-11 13:53:54

下载不了

Llinuxu 发表于 2015-8-11 15:18:21

monkhooder 发表于 2015-8-11 13:40
我用的Qextserialport自带的示例,感觉还凑合着能用

这个在QT4中是没有的!

Llinuxu 发表于 2015-8-11 15:20:29

发现了一个BUG,在保存文件的时候如果串口接到数据会死掉,现已修复

laojiao 发表于 2015-8-11 15:43:18

试一下,看看

mndsoft2012 发表于 2015-8-11 15:54:15

QT生成的EXE文件巨大,小小的一个文件16MB多。

Honey_comb 发表于 2015-8-11 16:02:57

确实吓死了,一个串口助手压缩包就8M了

justSaar 发表于 2015-8-11 16:21:33

问一下LZ怎么把qt5dll等封装到一个exe里面了???

Llinuxu 发表于 2015-8-11 16:34:26

mndsoft2012 发表于 2015-8-11 15:54
QT生成的EXE文件巨大,小小的一个文件16MB多。

我用静态编译的,当然很大啦!

Llinuxu 发表于 2015-8-11 16:34:44

Honey_comb 发表于 2015-8-11 16:02
确实吓死了,一个串口助手压缩包就8M了

静态编译!!

Llinuxu 发表于 2015-8-11 16:37:30

justSaar 发表于 2015-8-11 16:21
问一下LZ怎么把qt5dll等封装到一个exe里面了???

这个很简单,等有时间了我写个文档传上来,但是用动态编译做出来的exe绿色可执行文件是加了壳的,杀毒软件会报毒,如果用动态做成安装包,还是给我报毒,实在让我很不爽,所以我用了静态编译,我用的是QT5.4.2

justSaar 发表于 2015-8-11 16:41:40

QT5出的win程序,动态调用总太多,程序太大,总不爽

Llinuxu 发表于 2015-8-11 17:58:35

justSaar 发表于 2015-8-11 16:41
QT5出的win程序,动态调用总太多,程序太大,总不爽

对呀,QT4也少很多很多,但是没办法,现在QT5是趋势!

slzm40 发表于 2015-8-11 18:23:04

本帖最后由 slzm40 于 2015-8-11 18:26 编辑

刚用上就有个不好的地方,当我已经打开了这个软件,然后我插上串口时,并不能识别。只有先插上后,启动才能识别。建议加个扫描按键。

现在USB转串会偶尔死机,有时要重插USB转串,我还要重启软件显的有点麻烦,当然,有时换个USBk口插,就更麻烦了。

slzm40 发表于 2015-8-11 18:23:51

最后刚好在用串口,这两天可以测测

embeddev_1 发表于 2015-8-11 20:25:45

期待尽早开源!老夫我也研究研究qt{:lol:}

Llinuxu 发表于 2015-8-11 22:09:53

slzm40 发表于 2015-8-11 18:23
刚用上就有个不好的地方,当我已经打开了这个软件,然后我插上串口时,并不能识别。只有先插上后,启动才 ...

多谢你的建议,我会加一个扫描串口的按键,但你说的用usb转串口要死机好像没遇到过,而且我自己在写的过程中也是用usb转串口调的,感谢你的测试,明天上传加了扫描串口按键后的版本!但是这个按键加在哪比较美观一点呢?

Llinuxu 发表于 2015-8-11 22:10:18

embeddev_1 发表于 2015-8-11 20:25
期待尽早开源!老夫我也研究研究qt

表急,会很快的!

higeo 发表于 2015-8-11 22:14:19

Llinuxu 发表于 2015-8-11 15:20
发现了一个BUG,在保存文件的时候如果串口接到数据会死掉,现已修复

你就不能直接在LZ位更新么?泪奔,看到你这一楼时刚刚显示下载完成

higeo 发表于 2015-8-11 22:18:21

界面挺好,明天带公司用用

Llinuxu 发表于 2015-8-11 22:30:10

higeo 发表于 2015-8-11 22:14
你就不能直接在LZ位更新么?泪奔,看到你这一楼时刚刚显示下载完成

哈哈,好注意!!!明天有跟新过后的版本,欢迎试用,打算加一个扫描串口的按键,但是觉得再加一个按钮不好看,不知道加到哪里好,所以决定将该功能放到关闭串口中去,每次关闭串口自动重新扫描一次,觉得这样好还是直接加一个按钮好呢?

Llinuxu 发表于 2015-8-11 22:33:28

higeo 发表于 2015-8-11 22:18
界面挺好,明天带公司用用

界面是我通过好几个工具对比得出的,特别是显示区和输入区的大小比例,自己也还感觉挺好的吧!明天更新后放到楼主位

higeo 发表于 2015-8-11 23:12:09

Llinuxu 发表于 2015-8-11 22:30
哈哈,好注意!!!明天有跟新过后的版本,欢迎试用,打算加一个扫描串口的按键,但是觉得再加一个按钮不 ...

建议你在LZ位加个界面的截图。可不可以在选串口的按钮按下后刷新串口再显示?这样就不用在加按键了,不过这样会不会下拉串口显示有迟钝?你这更新速度略快啊,我要不要等你比较稳定的时候再试用?哈哈

higeo 发表于 2015-8-11 23:17:34

Llinuxu 发表于 2015-8-11 22:33
界面是我通过好几个工具对比得出的,特别是显示区和输入区的大小比例,自己也还感觉挺好的吧!明天更新后 ...

不知道你这个接收数据可以保存多少,前段时间做方案需要长时间记录串口数据,但是用过几个保存数据的长度太小,要不就是接收时间长了软件直接死掉!可以接收一定数目数据后自动写到文件缓存实现长时间数据采集

justdomyself 发表于 2015-8-11 23:27:02

工程方便共享下不?????

Llinuxu 发表于 2015-8-12 09:05:53

higeo 发表于 2015-8-11 23:12
建议你在LZ位加个界面的截图。可不可以在选串口的按钮按下后刷新串口再显示?这样就不用在加按键了,不过 ...

多谢你的建议,我先试一试,现在已经基本稳定了,不会怎么更新,更新是因为大家有什么新的需求才会更新

Llinuxu 发表于 2015-8-12 09:08:38

higeo 发表于 2015-8-11 23:17
不知道你这个接收数据可以保存多少,前段时间做方案需要长时间记录串口数据,但是用过几个保存数据的长度 ...

这个能保存多少数据就不清楚了,因为没有长时间的测试过,但是我是做的在保存数据的时候同事也在界面显示的,所以时间长了肯定不行,如果你有需求,可以给你改了,在保存数据的时候不在界面显示或者保存的时候达到一定量的数据后自动清空显示区,这样就能保存很多很多了!

Llinuxu 发表于 2015-8-12 09:09:27

justdomyself 发表于 2015-8-11 23:27
工程方便共享下不?????

可以的,我会把整个工程都发出来的,但是现在还在根据大家的需求做更改,等改完后就会发出来

Llinuxu 发表于 2015-8-12 09:09:49

justdomyself 发表于 2015-8-11 23:27
工程方便共享下不?????

可以的,我会把整个工程都发出来的,但是现在还在根据大家的需求做更改,等改完后就会发出来

mndsoft2012 发表于 2015-8-12 09:24:02

顶楼主,也发一个网友写的,摘抄如下:
这里首先说明一下,这个为什么叫串口设备调试工具而不是串口调试工具,是因为这个工具比网络上的串口调试工具多出了一些真实需要的用来调试设备的功能,首先一点就是大部分的串口调试工具收到数据都是立即返回,这样的数据都是连着的,头一条数据和后一条数据头尾相连,对于调试着来说要看数据非常麻烦,而且在不断有数据过来时,要停下来看数据除非关闭串口,而不能在打开串口的时候看数据,因为不断有数据过来冲掉前面的数据显示,甚至有些还不能最大化等等情况,这个工具是根据将近四年的与硬件通信这块开发工具的切身实际需求量身定做的,还能模拟设备立即回复数据。之前很多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系统下成功编译并运行。


Llinuxu 发表于 2015-8-12 09:31:56

mndsoft2012 发表于 2015-8-12 09:24
顶楼主,也发一个网友写的,摘抄如下:
这里首先说明一下,这个为什么叫串口设备调试工具而不是串口调试工 ...

我看过这个,我来说说这个的缺点:
1、不能在QT5下使用
2、在linux下需要修改某些东西
3、不能自动识别可用串口
4、十六进制发送不够完美,当然,我做的那个也不是太完美,但是比这个好{:lol:}
5、发送区太小



先说这么多吧

mvip 发表于 2015-8-12 09:35:11

mndsoft2012 发表于 2015-8-12 09:24
顶楼主,也发一个网友写的,摘抄如下:
这里首先说明一下,这个为什么叫串口设备调试工具而不是串口调试工 ...

能编译成运行文件吗,本人没有相关开发工具。谢谢

Firman 发表于 2015-8-12 10:30:59

有奇偶校验吗?

higeo 发表于 2015-8-12 10:58:42

Llinuxu 发表于 2015-8-12 09:08
这个能保存多少数据就不清楚了,因为没有长时间的测试过,但是我是做的在保存数据的时候同事也在界面显示 ...

你有时间改最好了。我只是觉得如果做的没有特色的话只是又造了个轮子而已。不过作为学习QT还是很好的!

Llinuxu 发表于 2015-8-12 11:09:56

higeo 发表于 2015-8-12 10:58
你有时间改最好了。我只是觉得如果做的没有特色的话只是又造了个轮子而已。不过作为学习QT还是很好的! ...

已经给改好了,我也觉得这个功能比较重要,以前我调试的时候晚上不关电脑,第二天早上来串口就直接死掉了,一晚上的数据就没了!挺不爽。刷新串口我想了想还是做在了关闭串口上!!像你说的做到串口那个框那里必须要改变选项才会触发一个信号,如果不改变的话有点困难!

higeo 发表于 2015-8-12 11:51:45

Llinuxu 发表于 2015-8-12 11:09
已经给改好了,我也觉得这个功能比较重要,以前我调试的时候晚上不关电脑,第二天早上来串口就直接死掉了 ...

这么快就改好了?吃完饭去下载试用,期待源码,一直想学学QT

higeo 发表于 2015-8-12 12:10:31

自动发送数据勾选后如果发送区没有数据就会卡死,测试系统XP

Llinuxu 发表于 2015-8-12 13:54:11

higeo 发表于 2015-8-12 12:10
自动发送数据勾选后如果发送区没有数据就会卡死,测试系统XP

哥,这个不是卡死,是因为数据区没有数据的时候在发送函数中会获取个text的焦点,好处就是可以直接在发送区写数据,不需要再用鼠标点一下再才能写。你说卡死是因为你自动发送的时间设得太短,你点击的鼠标还没反应过来就又给跑到发送区去了,如果把时间设长点你就会知道没卡死,不过你说的好像也是个问题,如果别人这么用肯定会认为是卡死了,我想想怎么改,改好了给你说,多谢

Llinuxu 发表于 2015-8-12 14:09:16

完了!更新的东西放不到楼主位了!!!还是我不会啊!!!应42楼higeo的测试,发现确实也可能会误导别人,修改了一下

Llinuxu 发表于 2015-8-12 14:10:51

higeo 发表于 2015-8-12 12:10
自动发送数据勾选后如果发送区没有数据就会卡死,测试系统XP

你说的这个问题虽然不是真的卡死,但是可能会误导别人以为是卡死,所以在自动发送中,我取消了获取焦点功能!已更新,但是不在楼主位,我已经不能改楼主位的东西了,不知是不能还是不会!!

carryonli 发表于 2015-8-12 14:21:34

Llinuxu 发表于 2015-8-12 14:09
完了!更新的东西放不到楼主位了!!!还是我不会啊!!!应42楼higeo的测试,发现确实也可能会误导别人, ...

这个如果使用中我拔掉串口连接线会死机吗?

higeo 发表于 2015-8-12 14:22:02

Llinuxu 发表于 2015-8-12 14:10
你说的这个问题虽然不是真的卡死,但是可能会误导别人以为是卡死,所以在自动发送中,我取消了获取焦点功 ...

时间设置长一点确实没事了,还是见识少啊!貌似还没有用过自动发送的功能

zuokong2006 发表于 2015-8-12 14:54:53

很期待楼主的源码{:lol:}

donglaile 发表于 2015-8-12 14:56:46

要是能在使用中,拔掉usb转串口,重新插上,又能自动连接就好了

mikeliujia 发表于 2015-8-12 16:41:00

赞一个,QT跨平台性确实很强

qlb1234 发表于 2015-8-12 16:51:28

mndsoft2012 发表于 2015-8-11 19:54
QT生成的EXE文件巨大,小小的一个文件16MB多。

自己編譯Qt,就可以擺脫icu。Qt的minimal working example將全部動態鏈接庫和可執行文件打包壓縮後,僅7MB左右。

EngKing 发表于 2015-8-12 23:18:41

期待源码

heimareed 发表于 2015-8-13 00:04:58

还以为是源码。不过还是感谢楼主分享。话说QT串口工具还是qter的做得不错。源码也有。给力……

heimareed 发表于 2015-8-13 00:06:58

heimareed 发表于 2015-8-13 00:04
还以为是源码。不过还是感谢楼主分享。话说QT串口工具还是qter的做得不错。源码也有。给力…… ...

QCOM的源码,还是来做下贡献。。。

sniper.q 发表于 2015-8-13 08:47:05

大虾的有个功能不错,可以一次输入多条发送数据,按顺序发送,而且可以设定发送之间的延时给下位机处理时间。有一点不好的就是只能循环发送,发送完最后一条后自动从头开始。

slzm40 发表于 2015-8-13 11:07:55


接收能有换行功能就好了。。。接收的数据全挤在一堆了

Llinuxu 发表于 2015-8-14 12:00:19

slzm40 发表于 2015-8-13 11:07
接收能有换行功能就好了。。。接收的数据全挤在一堆了

你显示接收时间就换行了啊

jianplx 发表于 2015-8-14 16:31:55

{:smile:}下载中,感谢分享

justdomyself 发表于 2015-8-14 17:21:58

好啊~~~~

Llinuxu 发表于 2015-8-15 14:33:06

还有不有BUG!如果没有大的BUG,我就不再改了,最近时间比较吃紧了!如果没有,下周放源码了

ssaiwo 发表于 2015-8-15 15:57:06

下下来看看。。

Llinuxu 发表于 2015-8-15 21:15:29

ssaiwo 发表于 2015-8-15 15:57
下下来看看。。

欢迎多多测试

毛毛 发表于 2015-10-9 11:44:23

好东西。收下了,谢谢

Llinuxu 发表于 2015-10-10 15:15:50

哎,跟鬼一样的忙了一个多月,都忘了这事了,下面为大家献上源码!

LinjieBao 发表于 2015-10-11 20:43:20

谢谢分享,学习下!

广轻电气091 发表于 2015-10-13 13:46:47

感谢楼主,谢谢分享

starting 发表于 2015-10-13 14:09:00

很工整的样子

Llinuxu 发表于 2015-10-16 11:31:13

starting 发表于 2015-10-13 14:09
很工整的样子

工整一点不好么?

chengz 发表于 2015-10-16 11:46:20

不错,支持原创

bias 发表于 2015-12-14 09:20:40

本帖最后由 bias 于 2015-12-14 09:22 编辑

用了一下,感觉不错,有2个建议:
1.扫描端口 (可有可无,有的更好看)
2.接收数据区自己卷到行尾,我一次发送多行数据过来,接收区竟然还在第一行停着,后面继续发,接收区不自己看最后一行信息

sxgtc 发表于 2015-12-20 17:42:05

如果能出一个文档,对我等QT菜鸟就太有爱了...

远去的记忆 发表于 2016-1-21 13:12:35

膜拜一下

Llinuxu 发表于 2016-1-21 14:48:08

sxgtc 发表于 2015-12-20 17:42
如果能出一个文档,对我等QT菜鸟就太有爱了...

要过年了,没时间出文档了{:lol:}

godlovemei 发表于 2016-1-22 13:08:37

最近几天也写了一个串口的上位机{:smile:}

Llinuxu 发表于 2016-1-22 15:25:47

godlovemei 发表于 2016-1-22 13:08
最近几天也写了一个串口的上位机

挺好,可以探讨探讨{:lol:}

fchen2 发表于 2016-3-23 16:44:22

下载学习下。QT串口助手

sywh 发表于 2016-3-23 16:53:46

Llinuxu 发表于 2015-8-11 15:18
这个在QT4中是没有的!

Qextserialport 一个第三方的类,也挺好用的,用过一段时间

Llinuxu 发表于 2016-3-24 09:39:26

fchen2 发表于 2016-3-23 16:44
下载学习下。QT串口助手

后面有小的更新

ddcour 发表于 2017-12-24 12:47:54

多谢楼主分享!
拿来入门QT了!{:lol:}

way2888 发表于 2019-3-3 06:46:06

谢谢楼主分享

8s209 发表于 2019-9-11 11:15:22

感谢分享开源

zhq_chd 发表于 2023-4-10 16:27:16


感谢分享开源

wqy0410 发表于 2023-4-10 18:08:38

感谢分享开源

nds_shenzhen 发表于 2023-4-11 09:32:23

感谢分享源码

WZW 发表于 2023-4-11 09:33:49

谢谢,有了源码

liang16888 发表于 2023-7-3 15:03:22

Thank you !!!
页: [1]
查看完整版本: 分享一个自己用QT编写的串口调试工具