一、问题
在进行嵌入式软件开发时,我们经常会使用串口助手工具来调试打印消息,毕竟不是所有场合下都能使用J-Link或者ST-Link仿真器。市面上的调试助手很多,如串口调试助手(UartAssist)
, 串口通信调试工具(ComTools)
,丁丁串口调试助手(SSCOM)
,XCOM
,SecureCRT
,QCOM
,有人串口助手
,猫猫串口网络调试助手(amaoCom)
,友善串口调试助手
,单片机多功能调试助手
,myUARTx
,accessport
,MobaXterm
,HTerm
,ComMonitor
等等,但我认为判断一个串口助手是否好用,高效需要有以下功能:
- COM口可自定义属性(指显示内容),如:COM6: STM32F103,COM8:LoRa
- 硬件断开后可以锁定COM口,即重新连接后可继续首发数据,不需要人为再设置
- 每个CMO口的配置可以保存,即手动更换COM口后,之前的设置(如波特率等)自动匹配
- 可以保存日志到文件
- 可以设置并保存多条命令
- 可现实发送和接收数据的时间等状态信息
- 多开,不相互影响,稳定
- 有发送指令的历史记录
- 批量发送数据
- 可置顶 ,支持新系统(如Windows10)
- 小巧,随用随开,不用安装
但市面上大部分的工具几乎都不具有以上所有的功能,相对较好的有:串口调试助手(V5.0.2,部分功能收费)
,丁丁串口调试助手(V5.13.1,无法锁COM口)
,MobaXterm Pro(V22.0,专业但不便携)
。如图:
如果需要,可以在这里下载:
1,串口调试助手 UartAssist V5.0.2(2022最新版).zip
2,专业串口调试工具 MobaXterm Pro V22.0(2022最新版).zip
上面啰嗦了这么多,这里回到文章的重点:自定义COM口的属性,使串口调试显示更直观。由于项目中调试的设备很多(1次有5个设备同时监视),无奈在花费近2个多小时,通过对注册表的监控比较,总算是找到了解决办法。百度上是搜索不到解决办法的,算得上是全网首发了?
二、解决
在设备管理器
中中找到要修改的COM口,双击打开属性
,切换至事件
,复制以下内容,替换到以下代码中,并保存为.reg
文件,点击文件,合并
到注册表中,回到串口助手中刷新COM口即可。
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\copy xxxxxx]
"FriendlyName"="display xxxxxx (COMx)"
其中:“copy xxxxxx”
为从设备管理器中复制的COM属性,“display xxxxxx (COMx)”
为要定义的显示内容, "COMx"
中的x
与设备管理器中的一致。
eg:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\USB\VID_10C4&PID_EA60\0001]
"FriendlyName"="LoRa (COM5)"
这种方法可以解决多设备同时调试时显示混乱问题。但我觉得最好的方法还是在串口工具中直接修改,好处就是不要修改注册表,不足之处就是依赖软件开发者,更换串口助手后就无效了。所以想要一劳永逸,直接按照我这个改注册表吧 ?