串口调试工具简评

最近搞arduino和pc端软件数据交互,试了不少串口调试工具,挑选几个有代表性的来简单介绍介绍。
通常原生支持USB的arduino,都会有两种串口:物理串口以及通过MCU的USB 数据线提供的USB-cdc。
所谓USB-cdc是受到USB协议标准支持的一类设备,基本上等同于物理串口,但是由于他本质上还是USB设备,实际上并不是通过串口芯片在发送接收数据,因此速度快,稳定性高,不需要电平转换,也节约了USB转串口的芯片。但是也带来了一些问题:那就是软件不一定能够支持这种串口——并且我自己写的软件之前也不能做到兼容。

所以我在寻找(更换)串口调试工具时,重点关注了USB-cdc的支持。实际上后来发现了一个解决办法,见末尾。

下边便是各个串口工具的简单评价:

RealTerm - 开源 - 多平台

虽然UI落后时代,软件需要安装,但是体积非常小,功能齐全,支持命令行调用,支持直接写入到文件。支持USB CDC

SSCOM - 单文件便携版

http://www.daxia.com/

UI略丑,基本功能齐全,比RealTerm还强的一个特色功能是支持计算modbuscrc-16验校计算。支持USB CDC

HTerm - 开源 - 多平台 - 单文件便携版

专业小巧的串口工具,优势是可以多行显示字符、hex、bin,比前两者漂亮很多。不支持USB CDC。

ComTool - 开源 - 便携版

相似的项目有很多,就列了这一个出来。UI更加现代,该有的选项也都有,缺点体积略大。

Serial Studio - 开源 - 便携版

更加漂亮并且同样体积巨大。可以自定义仪表盘,但是有些学习成本(目前我还不会)

vofa+ - 多平台 - 便携版

兼顾传统字节流调试助手风格的数据收发功能,提供了图形化调试工具(目前我还不会)。
提供协议和控件的插件接口。目测已经暂停开发。

USB-cdc兼容

部分串口助手默认不支持Arduino的USB-cdc,可以通过开启Dtr选项从而改善兼容。

DTR(Data Terminal Ready)和 RTS(Request to Send)是 RS-232C 接口标准中的两个引脚,它们分别具有以下含义:

  1. DTR(数据终端准备好):当该引脚为高电平时,表示数据终端设备(如计算机)已经准备好进行数据传输。
  2. RTS(请求发送):当该引脚为高电平时,表示数据终端设备(如计算机)请求串口设备(如 Modem)开始数据传输。
    在实际应用中,由于增加了接线、提高了控制的复杂程度,串口DTR 和 RTS 物理接线通常不接,但是在USB-cdc虚拟串口中,设备可能会设置这样的信号。
2 个赞

@yazii 推荐你个 SPU 吧。不需要附加逻辑上去的话,基本够用。

记得以前用过一个支持lua脚本的,可以自己写逻辑,忘记叫啥了。不过总感觉这些工具都没有能完全满足我需求的。

除了标准的这些配置之外,如果能嵌入一个脚本语言,能够绘图,就能满足我的需求了。

目前的话,根据做的项目,需要串口跟上位机通信的话,我会花半小时用Web USB写一个。