QT5实现多功能(集串口、网口、数据转换、校验deng)调试....
本帖最后由 Llinuxu 于 2019-5-30 13:54 编辑利用工作业余时间,自制了一个多功能调试工具,集串口调试、网口调试、数据转换、数据校验等多个功能于一体,方便嵌入式开发的调试使用,请大大们帮忙测试,待没有什么bug后贡献源码!
已增加串口热插拔和TCP CLIENT断开检测机制 感激,最近在折腾这些个东西 串口的热插拔和自动识别串口号有吗? 接上USB转串口,需要自己刷新,能否自动刷新。
拔下,下面状态栏还显示连接。 不错,最近也在研究多串口接收显示的问题,能增加这个就好了!
Excellence 发表于 2019-5-29 16:26
串口的热插拔和自动识别串口号有吗?
嗯,热插拔没做处理,可以加上,感谢 brightchl 发表于 2019-5-29 16:47
不错,最近也在研究多串口接收显示的问题,能增加这个就好了!
老哥,看你这个界面是一个工具里面同时连接多个串口吗? 本帖最后由 Llinuxu 于 2019-5-30 16:03 编辑
温馨提示:双击接收和发送计数器可清零,双击显示区可暂停显示
软件已跟新,加入了utf8 和 gbk的互相转换 Llinuxu 发表于 2019-5-29 17:04
老哥,看你这个界面是一个工具里面同时连接多个串口吗?
是啊,我发给你看看 楼主应该把热插拔 和自动刷新做上去,不过我想等楼主的源码,学习下。{:titter:} brightchl 发表于 2019-5-29 17:28
是啊,我发给你看看
嗯,这个仅仅只是增加一个实例而已,不难 kebaojun305 发表于 2019-5-29 17:46
楼主应该把热插拔 和自动刷新做上去,不过我想等楼主的源码,学习下。 ...
可以的,弄个定时器一直检测 提两个建议:
1、支持多串口
2、接收数据保存能否为CSV文件,前面增加时间 github啊,楼主
这样有问题可以共同改进嘛
你要换工作什么的这也是一张名片 Earthman 发表于 2019-5-29 19:25
github啊,楼主
这样有问题可以共同改进嘛
你要换工作什么的这也是一张名片 ...
好主意! 楼主好人,
最近下载压缩文档,下载下来都是损坏的,不知道是哪的毛病。{:sad:} 什么开发环境可以介绍一下么? pyqt会不会很好一些 期待开源,正好我也学习学习qt arm7tdmi 发表于 2019-5-29 20:26
楼主好人,
最近下载压缩文档,下载下来都是损坏的,不知道是哪的毛病。 ...
更新winrar版本 snowy 发表于 2019-5-29 21:04
什么开发环境可以介绍一下么?
Qt Creator MinGW 不错,串口用的是Qt5自带的串口类吗 Jmhh247 发表于 2019-5-30 08:54
不错,串口用的是Qt5自带的串口类吗
是的,既然有自带的就不用再用第三方的了 热插拔可以用系统API检测是否有设备插入,检测到就自动刷新一次 也学习学习qt miaoguoqiang 发表于 2019-5-31 09:15
热插拔可以用系统API检测是否有设备插入,检测到就自动刷新一次
QT自带串口类里面可以错误信号检测串口拔掉,但是没有看到检测设备插入的 Llinuxu 发表于 2019-5-31 09:36
QT自带串口类里面可以错误信号检测串口拔掉,但是没有看到检测设备插入的 ...
我自己得项目是通过串口通信协议 来检测插拔得。 也是QT5自带串口类。 kebaojun305 发表于 2019-5-31 09:40
我自己得项目是通过串口通信协议 来检测插拔得。 也是QT5自带串口类。
如何得知串口插入的 Llinuxu 发表于 2019-5-31 09:44
如何得知串口插入的
我是扫描所有得com发数据检测返回得数据是我自己定义得数据就知道我得设备插入了。 不错,好东西正需要 强!
下载试用一下。 厉害,下载了 正想用pythone写点上位机,感激开源。 haso2007 发表于 2019-6-11 09:37
正想用pythone写点上位机,感激开源。
另一个帖子已经开源 谢谢分享!!! Llinuxu 发表于 2019-5-29 17:48
可以的,弄个定时器一直检测
系统有消息通知的,不愿写,可以把 qextserialport 中的部分代码扒出来用。应该比定时器要好一些。
话说这几个库还有关系呢,印象中是俄罗斯一个哥们觉得qextserialport 不够好,就重构,结果出了新东西 QSerialDevice。 我用着用着,发现这个也不更新了,上面备注着,已经被qt 收编了。改名 QSerialPort了 liwey 发表于 2019-6-12 18:59
系统有消息通知的,不愿写,可以把 qextserialport 中的部分代码扒出来用。应该比定时器要好一些。
话说 ...
嗯,确实有,connect一个错误号的信号就行 Llinuxu 发表于 2019-6-12 19:38
嗯,确实有,connect一个错误号的信号就行
只是拔掉的时候可以,插上的时候还得自己处理 Llinuxu 发表于 2019-6-12 19:39
只是拔掉的时候可以,插上的时候还得自己处理
晕,感觉你不知道我在说什么,这个是操作系统通知的,和qt的connect有什么关系啊。只是好几年不做相关的了,懒得翻代码了。
你不妨看看 qextserialport 库中 QextSerialEnumerator 的实现吧。就是可能要做一些qt4->5的修改 liwey 发表于 2019-6-12 21:12
晕,感觉你不知道我在说什么,这个是操作系统通知的,和qt的connect有什么关系啊。只是好几年不做相关的 ...
你说的这个还是要自己轮询检测吧,QT5的一个信号可主动告知的。你的意思应该是循环去查看可用端口吧 最新版本,增加了json文件保存配置和发送内容,开机自动恢复,欢迎大家下载试用 提供源码了吗?下来学习学习 支持老哥~~ 厉害了,收藏了 感谢分享 学习了 后面有用 Llinuxu 发表于 2019-9-11 09:17
最新版本,增加了json文件保存配置和发送内容,开机自动恢复,欢迎大家下载试用 ...
楼主啥时候开放一版源码啊,等着学习入门啊,哈哈。。我准备从这个串口助手入门QT,从而进军LINUX上面的人机界面。。
kinsno 发表于 2019-9-11 14:33
楼主啥时候开放一版源码啊,等着学习入门啊,哈哈。。我准备从这个串口助手入门QT,从而进军LINUX上面的 ...
已经开源了好几个月了哦,在另外一个贴里面,你可以去看看 期待源码,学习! Llinuxu 发表于 2019-9-11 15:19
已经开源了好几个月了哦,在另外一个贴里面,你可以去看看
感谢楼主。。
8s209 发表于 2019-9-11 15:25
期待源码,学习!
源码在另一个帖子哦 本帖最后由 xf331785508 于 2019-9-12 18:07 编辑
Llinuxu 发表于 2019-6-13 08:52
你说的这个还是要自己轮询检测吧,QT5的一个信号可主动告知的。你的意思应该是循环去查看可用端口吧 ...
网上调查了下,应该是可以通过如下方式实现自动检测插入的串口设备,主要的思路是对QWidget的虚函数nativeEvent复写重新实现,然后捕获系统消息来实现的。不过,对Qt不是太熟悉,看看这个样子的添加法可行不.
微软说明链接
bool MainInterface::nativeEvent(const QByteArray &eventType, void *message, long *result)
{
Q_UNUSED(eventType);
MSG* msg = reinterpret_cast<MSG*>(message);
int msgType = msg->message;
if(msgType == WM_DEVICECHANGE)
{
qDebug() << "Recv Event " ;
PDEV_BROADCAST_HDR lpdb = (PDEV_BROADCAST_HDR)msg->lParam;
switch(msg->wParam)
{
case DBT_DEVICETYPESPECIFIC:
{
qDebug() << "DBT_DEVICETYPESPECIFIC " ;
break;
}
case DBT_DEVICEARRIVAL:
if (lpdb -> dbch_devicetype == DBT_DEVTYP_PORT)
{
SerialListGet();
PDEV_BROADCAST_PORT_A lpdbv = (PDEV_BROADCAST_PORT_A)lpdb;
qDebug() << "Port_Arrived and The port naem is: "<<QString( lpdbv->dbcp_name);
}
qDebug() << "DBT_DEVICEARRIVAL" ;
break;
case DBT_DEVICEREMOVECOMPLETE:
if (lpdb -> dbch_devicetype == DBT_DEVTYP_PORT)
{
SerialListGet();
}
qDebug() << "DBT_DEVICEREMOVECOMPLETE" ;
break;
}
}
return false;
} mangolu 发表于 2019-9-11 09:21
提供源码了吗?下来学习学习
源码在另外一帖里面 感谢楼主 Llinuxu 发表于 2019-9-16 08:46
源码在另外一帖里面
谢谢,我看看 xf331785508 发表于 2019-9-12 18:05
网上调查了下,应该是可以通过如下方式实现自动检测插入的串口设备,主要的思路是对QWidget的虚函数nativ ...
多谢大佬,这样确实可以检测,代码已跟新上传 Llinuxu 发表于 2019-9-17 11:32
多谢大佬,这样确实可以检测,代码已跟新上传
不客气,我也是搬运工。
另外,向你请教个Qt构建成单个可执行文件的方法流程,不然要带一堆DLL才能运行。 网上查了下,说是静态编译,但试了都不管用啊。 xf331785508 发表于 2019-9-17 16:56
不客气,我也是搬运工。
另外,向你请教个Qt构建成单个可执行文件的方法流程,不然要带一堆DLL才能运行 ...
Qt官网上有一个PowerShell的脚本,执行了之后会自动编译出静态版本的Qt
建议修改一下脚本,把下载和解压源代码的步骤跳过再使用
静态编译脚本下载地址及使用说明
https://wiki.qt.io/Building_a_static_Qt_for_Windows_using_MinGW xf331785508 发表于 2019-9-17 16:56
不客气,我也是搬运工。
另外,向你请教个Qt构建成单个可执行文件的方法流程,不然要带一堆DLL才能运行 ...
确实是静态编译,我自己写了个简单的搭建静态编译环境的文档,网上也有,但是都不太全,按照我的文档基本能够成功,我按照文档又在windows10上搭建了一遍,已成功!你可以参考一下 xf331785508 发表于 2019-9-17 16:56
不客气,我也是搬运工。
另外,向你请教个Qt构建成单个可执行文件的方法流程,不然要带一堆DLL才能运行 ...
一般静态编译出来的exe文件都比较大,最好是找exe压缩工具压缩一下 刚刚下载源码运行了下,界面简洁,看着很舒服,功能也挺多,再次感谢楼主分享! 学习一下 谢谢分享 谢谢分享 谢谢分享,我去找找那个开源帖子 Llinuxu 发表于 2019-9-17 17:54
一般静态编译出来的exe文件都比较大,最好是找exe压缩工具压缩一下
推荐一下,用什么压缩EXE文件比较好! git上的源码怎么不在了? 请问大师能再发一次源码吗?非常感谢! lz用的什么开发语言 Qt5.12 静态编译环境 zhcj66 发表于 2020-2-28 06:16
lz用的什么开发语言
QT当然用C++了 michael3000 发表于 2020-2-28 04:45
git上的源码怎么不在了? 请问大师能再发一次源码吗?非常感谢!
注意分支,master分支里没有 soosqt 发表于 2020-2-11 11:24
推荐一下,用什么压缩EXE文件比较好!
UPX 可执行文件压缩器(FUPX) michael3000 发表于 2020-2-28 04:45
git上的源码怎么不在了? 请问大师能再发一次源码吗?非常感谢!
https://github.com/uBayMaxH/PortAssistant/tree/develop 收藏,学习 xf331785508 发表于 2019-9-12 18:05
网上调查了下,应该是可以通过如下方式实现自动检测插入的串口设备,主要的思路是对QWidget的虚函数nativ ...
你这做的太复杂了,每次点端口选择的时候,启动一次检测所有串口设备即可。 mark一下,感谢楼主 BusProtocolAnalysis.ui 缺这个文件。。。 mark一下,感谢楼主
页:
[1]