搜索
bottom↓
回复: 77

QT5实现多功能(集串口、网口、数据转换、校验deng)调试....

  [复制链接]

出0入0汤圆

发表于 2019-5-29 15:05:23 | 显示全部楼层 |阅读模式
本帖最后由 Llinuxu 于 2019-5-30 13:54 编辑

利用工作业余时间,自制了一个多功能调试工具,集串口调试、网口调试、数据转换、数据校验等多个功能于一体,方便嵌入式开发的调试使用,请大大们帮忙测试,待没有什么bug后贡献源码!
已增加串口热插拔和TCP CLIENT断开检测机制

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

阿莫论坛20周年了!感谢大家的支持与爱护!!

月入3000的是反美的。收入3万是亲美的。收入30万是移民美国的。收入300万是取得绿卡后回国,教唆那些3000来反美的!

出0入0汤圆

发表于 2019-5-29 15:27:34 来自手机 | 显示全部楼层
感激,最近在折腾这些个东西

出0入0汤圆

发表于 2019-5-29 16:26:38 | 显示全部楼层
串口的热插拔和自动识别串口号有吗?

出0入0汤圆

发表于 2019-5-29 16:30:10 | 显示全部楼层
接上USB转串口,需要自己刷新,能否自动刷新。
拔下,下面状态栏还显示连接。

出0入0汤圆

发表于 2019-5-29 16:47:54 | 显示全部楼层
不错,最近也在研究多串口接收显示的问题,能增加这个就好了!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

 楼主| 发表于 2019-5-29 17:02:31 | 显示全部楼层
Excellence 发表于 2019-5-29 16:26
串口的热插拔和自动识别串口号有吗?

嗯,热插拔没做处理,可以加上,感谢

出0入0汤圆

 楼主| 发表于 2019-5-29 17:04:16 | 显示全部楼层
brightchl 发表于 2019-5-29 16:47
不错,最近也在研究多串口接收显示的问题,能增加这个就好了!

老哥,看你这个界面是一个工具里面同时连接多个串口吗?

出0入0汤圆

 楼主| 发表于 2019-5-29 17:05:49 | 显示全部楼层
本帖最后由 Llinuxu 于 2019-5-30 16:03 编辑

温馨提示:双击接收和发送计数器可清零,双击显示区可暂停显示
软件已跟新,加入了utf8 和 gbk的互相转换

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2019-5-29 17:28:50 | 显示全部楼层
Llinuxu 发表于 2019-5-29 17:04
老哥,看你这个界面是一个工具里面同时连接多个串口吗?

是啊,我发给你看看

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入8汤圆

发表于 2019-5-29 17:46:24 | 显示全部楼层
楼主应该把热插拔 和自动刷新做上去,  不过我想等楼主的源码,学习下。

出0入0汤圆

 楼主| 发表于 2019-5-29 17:47:54 | 显示全部楼层
brightchl 发表于 2019-5-29 17:28
是啊,我发给你看看

嗯,这个仅仅只是增加一个实例而已,不难

出0入0汤圆

 楼主| 发表于 2019-5-29 17:48:47 | 显示全部楼层
kebaojun305 发表于 2019-5-29 17:46
楼主应该把热插拔 和自动刷新做上去,  不过我想等楼主的源码,学习下。 ...

可以的,弄个定时器一直检测

出0入0汤圆

发表于 2019-5-29 17:58:05 | 显示全部楼层
提两个建议:
1、支持多串口
2、接收数据保存能否为CSV文件,前面增加时间

出0入0汤圆

发表于 2019-5-29 19:25:31 | 显示全部楼层
github啊,楼主
这样有问题可以共同改进嘛
你要换工作什么的这也是一张名片

出0入0汤圆

 楼主| 发表于 2019-5-29 19:49:12 | 显示全部楼层
Earthman 发表于 2019-5-29 19:25
github啊,楼主
这样有问题可以共同改进嘛
你要换工作什么的这也是一张名片 ...

好主意!

出0入0汤圆

发表于 2019-5-29 20:26:42 | 显示全部楼层
楼主好人,
最近下载压缩文档,下载下来都是损坏的,不知道是哪的毛病。

出215入118汤圆

发表于 2019-5-29 21:04:07 | 显示全部楼层
什么开发环境可以介绍一下么?

出0入0汤圆

发表于 2019-5-29 21:40:04 来自手机 | 显示全部楼层
pyqt会不会很好一些

出0入8汤圆

发表于 2019-5-30 00:04:50 来自手机 | 显示全部楼层
期待开源,正好我也学习学习qt

出0入0汤圆

发表于 2019-5-30 06:55:23 来自手机 | 显示全部楼层
arm7tdmi 发表于 2019-5-29 20:26
楼主好人,
最近下载压缩文档,下载下来都是损坏的,不知道是哪的毛病。 ...

更新winrar版本

出0入0汤圆

 楼主| 发表于 2019-5-30 08:43:51 | 显示全部楼层
snowy 发表于 2019-5-29 21:04
什么开发环境可以介绍一下么?

Qt Creator      MinGW

出0入8汤圆

发表于 2019-5-30 08:54:27 | 显示全部楼层
不错,串口用的是Qt5自带的串口类吗

出0入0汤圆

 楼主| 发表于 2019-5-30 09:01:09 | 显示全部楼层
Jmhh247 发表于 2019-5-30 08:54
不错,串口用的是Qt5自带的串口类吗

是的,既然有自带的就不用再用第三方的了

出0入0汤圆

发表于 2019-5-31 09:15:33 | 显示全部楼层
热插拔可以用系统API检测是否有设备插入,检测到就自动刷新一次

出0入0汤圆

发表于 2019-5-31 09:24:30 来自手机 | 显示全部楼层
也学习学习qt

出0入0汤圆

 楼主| 发表于 2019-5-31 09:36:01 | 显示全部楼层
miaoguoqiang 发表于 2019-5-31 09:15
热插拔可以用系统API检测是否有设备插入,检测到就自动刷新一次

QT自带串口类里面可以错误信号检测串口拔掉,但是没有看到检测设备插入的

出0入8汤圆

发表于 2019-5-31 09:40:40 | 显示全部楼层
Llinuxu 发表于 2019-5-31 09:36
QT自带串口类里面可以错误信号检测串口拔掉,但是没有看到检测设备插入的 ...

我自己得项目是通过串口通信协议 来检测插拔得。 也是QT5  自带串口类。

出0入0汤圆

 楼主| 发表于 2019-5-31 09:44:50 | 显示全部楼层
kebaojun305 发表于 2019-5-31 09:40
我自己得项目是通过串口通信协议 来检测插拔得。 也是QT5  自带串口类。

如何得知串口插入的

出0入8汤圆

发表于 2019-5-31 11:09:54 | 显示全部楼层
Llinuxu 发表于 2019-5-31 09:44
如何得知串口插入的

我是扫描所有得com  发数据  检测返回得数据  是我自己定义得数据  就知道我得设备插入了。

出0入0汤圆

发表于 2019-5-31 12:48:40 | 显示全部楼层
不错,好东西正需要

出0入0汤圆

发表于 2019-5-31 13:15:25 | 显示全部楼层
强!
下载试用一下。

出0入0汤圆

发表于 2019-6-11 09:28:05 | 显示全部楼层
厉害,下载了

出0入0汤圆

发表于 2019-6-11 09:37:50 | 显示全部楼层
正想用pythone写点上位机,感激开源。

出0入0汤圆

 楼主| 发表于 2019-6-11 12:19:43 | 显示全部楼层
haso2007 发表于 2019-6-11 09:37
正想用pythone写点上位机,感激开源。

另一个帖子已经开源

出0入0汤圆

发表于 2019-6-12 09:03:04 | 显示全部楼层
谢谢分享!!!

出0入0汤圆

发表于 2019-6-12 18:59:46 | 显示全部楼层
Llinuxu 发表于 2019-5-29 17:48
可以的,弄个定时器一直检测

系统有消息通知的,不愿写,可以把 qextserialport 中的部分代码扒出来用。应该比定时器要好一些。

话说这几个库还有关系呢,印象中是俄罗斯一个哥们觉得qextserialport 不够好,就重构,结果出了新东西 QSerialDevice。 我用着用着,发现这个也不更新了,上面备注着,已经被qt 收编了。改名 QSerialPort了

出0入0汤圆

 楼主| 发表于 2019-6-12 19:38:31 | 显示全部楼层
liwey 发表于 2019-6-12 18:59
系统有消息通知的,不愿写,可以把 qextserialport 中的部分代码扒出来用。应该比定时器要好一些。

话说 ...

嗯,确实有,connect一个错误号的信号就行

出0入0汤圆

 楼主| 发表于 2019-6-12 19:39:03 | 显示全部楼层
Llinuxu 发表于 2019-6-12 19:38
嗯,确实有,connect一个错误号的信号就行

只是拔掉的时候可以,插上的时候还得自己处理

出0入0汤圆

发表于 2019-6-12 21:12:10 | 显示全部楼层
Llinuxu 发表于 2019-6-12 19:39
只是拔掉的时候可以,插上的时候还得自己处理


晕,感觉你不知道我在说什么,这个是操作系统通知的,和qt的connect有什么关系啊。只是好几年不做相关的了,懒得翻代码了。

你不妨看看 qextserialport 库中 QextSerialEnumerator 的实现吧。就是可能要做一些qt4->5的修改

出0入0汤圆

 楼主| 发表于 2019-6-13 08:52:59 | 显示全部楼层
liwey 发表于 2019-6-12 21:12
晕,感觉你不知道我在说什么,这个是操作系统通知的,和qt的connect有什么关系啊。只是好几年不做相关的 ...

你说的这个还是要自己轮询检测吧,QT5的一个信号可主动告知的。你的意思应该是循环去查看可用端口吧

出0入0汤圆

 楼主| 发表于 2019-9-11 09:17:52 | 显示全部楼层
最新版本,增加了json文件保存配置和发送内容,开机自动恢复,欢迎大家下载试用

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2019-9-11 09:21:11 来自手机 | 显示全部楼层
提供源码了吗?下来学习学习

出0入0汤圆

发表于 2019-9-11 09:45:23 | 显示全部楼层
支持老哥~~

出0入0汤圆

发表于 2019-9-11 10:21:12 来自手机 | 显示全部楼层
厉害了,收藏了

出0入0汤圆

发表于 2019-9-11 11:11:59 | 显示全部楼层
感谢分享

出0入0汤圆

发表于 2019-9-11 11:26:23 | 显示全部楼层
学习了 后面有用

出0入0汤圆

发表于 2019-9-11 14:33:43 | 显示全部楼层
Llinuxu 发表于 2019-9-11 09:17
最新版本,增加了json文件保存配置和发送内容,开机自动恢复,欢迎大家下载试用 ...

楼主啥时候开放一版源码啊,等着学习入门啊,哈哈。。我准备从这个串口助手入门QT,从而进军LINUX上面的人机界面。。

出0入0汤圆

 楼主| 发表于 2019-9-11 15:19:02 | 显示全部楼层
kinsno 发表于 2019-9-11 14:33
楼主啥时候开放一版源码啊,等着学习入门啊,哈哈。。我准备从这个串口助手入门QT,从而进军LINUX上面的 ...

已经开源了好几个月了哦,在另外一个贴里面,你可以去看看

出0入0汤圆

发表于 2019-9-11 15:25:54 | 显示全部楼层
期待源码,学习!

出0入0汤圆

发表于 2019-9-11 19:50:00 | 显示全部楼层
Llinuxu 发表于 2019-9-11 15:19
已经开源了好几个月了哦,在另外一个贴里面,你可以去看看

感谢楼主。。

出0入0汤圆

 楼主| 发表于 2019-9-12 08:46:40 | 显示全部楼层
8s209 发表于 2019-9-11 15:25
期待源码,学习!

源码在另一个帖子哦

出0入0汤圆

发表于 2019-9-12 18:05:24 | 显示全部楼层
本帖最后由 xf331785508 于 2019-9-12 18:07 编辑
Llinuxu 发表于 2019-6-13 08:52
你说的这个还是要自己轮询检测吧,QT5的一个信号可主动告知的。你的意思应该是循环去查看可用端口吧 ...


网上调查了下,应该是可以通过如下方式实现自动检测插入的串口设备,主要的思路是对QWidget的虚函数nativeEvent复写重新实现,然后捕获系统消息来实现的。不过,对Qt不是太熟悉,看看这个样子的添加法可行不.
微软说明链接
  1. bool MainInterface::nativeEvent(const QByteArray &eventType, void *message, long *result)
  2. {
  3.     Q_UNUSED(eventType);
  4.     MSG* msg = reinterpret_cast<MSG*>(message);
  5.     int msgType = msg->message;
  6.     if(msgType == WM_DEVICECHANGE)
  7.     {
  8.         qDebug() << "Recv Event " ;
  9.         PDEV_BROADCAST_HDR lpdb = (PDEV_BROADCAST_HDR)msg->lParam;
  10.         switch(msg->wParam)
  11.         {
  12.             case DBT_DEVICETYPESPECIFIC:
  13.             {
  14.                 qDebug() << "DBT_DEVICETYPESPECIFIC " ;
  15.                 break;
  16.             }
  17.             case DBT_DEVICEARRIVAL:
  18.                 if (lpdb -> dbch_devicetype == DBT_DEVTYP_PORT)
  19.                 {
  20.                     SerialListGet();
  21.                     PDEV_BROADCAST_PORT_A lpdbv = (PDEV_BROADCAST_PORT_A)lpdb;

  22.                     qDebug() << "Port_Arrived and The port naem is: "<<QString( lpdbv->dbcp_name);
  23.                 }
  24.                 qDebug() << "DBT_DEVICEARRIVAL" ;
  25.             break;
  26.             case DBT_DEVICEREMOVECOMPLETE:
  27.                 if (lpdb -> dbch_devicetype == DBT_DEVTYP_PORT)
  28.                 {
  29.                     SerialListGet();
  30.                 }
  31.                 qDebug() << "DBT_DEVICEREMOVECOMPLETE" ;
  32.             break;
  33.         }
  34.     }
  35.     return false;
  36. }
复制代码

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

 楼主| 发表于 2019-9-16 08:46:31 | 显示全部楼层
mangolu 发表于 2019-9-11 09:21
提供源码了吗?下来学习学习

源码在另外一帖里面

出0入0汤圆

发表于 2019-9-16 09:17:36 | 显示全部楼层
感谢楼主

出0入0汤圆

发表于 2019-9-16 10:14:57 | 显示全部楼层
Llinuxu 发表于 2019-9-16 08:46
源码在另外一帖里面

谢谢,我看看

出0入0汤圆

 楼主| 发表于 2019-9-17 11:32:57 | 显示全部楼层
xf331785508 发表于 2019-9-12 18:05
网上调查了下,应该是可以通过如下方式实现自动检测插入的串口设备,主要的思路是对QWidget的虚函数nativ ...

多谢大佬,这样确实可以检测,代码已跟新上传

出0入0汤圆

发表于 2019-9-17 16:56:08 | 显示全部楼层
Llinuxu 发表于 2019-9-17 11:32
多谢大佬,这样确实可以检测,代码已跟新上传

不客气,我也是搬运工。
另外,向你请教个Qt构建成单个可执行文件的方法流程,不然要带一堆DLL才能运行。 网上查了下,说是静态编译,但试了都不管用啊。

出0入8汤圆

发表于 2019-9-17 17:07:08 | 显示全部楼层
xf331785508 发表于 2019-9-17 16:56
不客气,我也是搬运工。
另外,向你请教个Qt构建成单个可执行文件的方法流程,不然要带一堆DLL才能运行 ...

Qt官网上有一个PowerShell的脚本,执行了之后会自动编译出静态版本的Qt
建议修改一下脚本,把下载和解压源代码的步骤跳过再使用

静态编译脚本下载地址及使用说明
https://wiki.qt.io/Building_a_static_Qt_for_Windows_using_MinGW

出0入0汤圆

 楼主| 发表于 2019-9-17 17:40:45 | 显示全部楼层
xf331785508 发表于 2019-9-17 16:56
不客气,我也是搬运工。
另外,向你请教个Qt构建成单个可执行文件的方法流程,不然要带一堆DLL才能运行 ...

确实是静态编译,我自己写了个简单的搭建静态编译环境的文档,网上也有,但是都不太全,按照我的文档基本能够成功,我按照文档又在windows10上搭建了一遍,已成功!你可以参考一下

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

 楼主| 发表于 2019-9-17 17:54:40 | 显示全部楼层
xf331785508 发表于 2019-9-17 16:56
不客气,我也是搬运工。
另外,向你请教个Qt构建成单个可执行文件的方法流程,不然要带一堆DLL才能运行 ...

一般静态编译出来的exe文件都比较大,最好是找exe压缩工具压缩一下

出0入4汤圆

发表于 2020-2-10 12:21:12 | 显示全部楼层
刚刚下载源码运行了下,界面简洁,看着很舒服,功能也挺多,再次感谢楼主分享!

出0入0汤圆

发表于 2020-2-10 12:58:21 来自手机 | 显示全部楼层
学习一下

出0入0汤圆

发表于 2020-2-10 13:08:43 | 显示全部楼层
谢谢分享

出0入0汤圆

发表于 2020-2-10 16:02:54 | 显示全部楼层
谢谢分享

出0入0汤圆

发表于 2020-2-11 10:08:06 | 显示全部楼层
谢谢分享,我去找找那个开源帖子

出0入0汤圆

发表于 2020-2-11 11:24:31 | 显示全部楼层
Llinuxu 发表于 2019-9-17 17:54
一般静态编译出来的exe文件都比较大,最好是找exe压缩工具压缩一下

推荐一下,用什么压缩EXE文件比较好!

出0入0汤圆

发表于 2020-2-28 04:45:22 | 显示全部楼层
git上的源码怎么不在了? 请问大师能再发一次源码吗?非常感谢!

出0入53汤圆

发表于 2020-2-28 06:16:42 来自手机 | 显示全部楼层
lz用的什么开发语言

出0入0汤圆

发表于 2020-2-28 07:51:19 来自手机 | 显示全部楼层
Qt5.12 静态编译环境

出0入0汤圆

 楼主| 发表于 2020-3-3 08:53:29 | 显示全部楼层
zhcj66 发表于 2020-2-28 06:16
lz用的什么开发语言

QT当然用C++了

出0入0汤圆

 楼主| 发表于 2020-3-3 08:54:00 | 显示全部楼层
michael3000 发表于 2020-2-28 04:45
git上的源码怎么不在了? 请问大师能再发一次源码吗?非常感谢!

注意分支,master分支里没有

出0入0汤圆

 楼主| 发表于 2020-3-3 08:54:55 | 显示全部楼层
soosqt 发表于 2020-2-11 11:24
推荐一下,用什么压缩EXE文件比较好!

UPX 可执行文件压缩器(FUPX)

出0入0汤圆

发表于 2020-12-6 15:58:07 | 显示全部楼层
michael3000 发表于 2020-2-28 04:45
git上的源码怎么不在了? 请问大师能再发一次源码吗?非常感谢!

https://github.com/uBayMaxH/PortAssistant/tree/develop

出100入101汤圆

发表于 2020-12-6 21:44:25 来自手机 | 显示全部楼层
收藏,学习

出0入0汤圆

发表于 2020-12-7 10:20:15 | 显示全部楼层
xf331785508 发表于 2019-9-12 18:05
网上调查了下,应该是可以通过如下方式实现自动检测插入的串口设备,主要的思路是对QWidget的虚函数nativ ...

你这做的太复杂了,每次点端口选择的时候,启动一次检测所有串口设备即可。

出0入0汤圆

发表于 2020-12-23 16:23:24 | 显示全部楼层
mark一下,感谢楼主

出0入0汤圆

发表于 2021-2-26 16:07:55 | 显示全部楼层
BusProtocolAnalysis.ui 缺这个文件。。。

出0入0汤圆

发表于 2022-5-11 15:57:01 | 显示全部楼层
mark一下,感谢楼主
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-25 01:15

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表