主题
12.1 打开调试工具与串口调试
串口网口调试工具是一个独立窗口,用来手工收发报文:选一个通道(串口 / TCP / UDP),把字节发出去,看对方回什么。装完程序第一次到现场、或者怀疑某台设备的串口参数不对时,这个窗口比写程序快得多。
它和设备参数页里的「串口」标签不是一回事:那里是配置设备上各个串口的波特率参数,这里是用这台电脑自己的串口/网口收发数据。
怎么打开
点主窗口顶栏的 🔧 启动调试工具(鼠标停上去会显示「串口/TCP/UDP 收发调试」)。
- 窗口标题为 串口网口调试工具,默认大小 1000×700,可以拉动边缘放大。
- 它是独立窗口,可以和主窗口、编辑器窗口同时开着。
- 同时只能开一个:窗口已经开着时再点一次按钮,会把那个窗口切到前台,不会重复开。
窗口分三块:左栏选通道、填参数、控制打开/关闭;右上是收发记录;右下拼报文并发送。错误提示出现在右栏最上方一条红色横条上,点它一下就消失。
串口调试五步
第一步 选「串口」
左栏最上面的三个按钮 串口 | TCP | UDP 就是通道选择,打开窗口时默认停在「串口」。
换通道会自动断开
三种通道共用同一个会话。开着串口时点「TCP」,会先自动关掉串口。这不是出错,是为了不留下一条关不掉的连接。
第二步 填参数
| 项 | 可选值 | 默认 |
|---|---|---|
| 串口号 | 本机已检测到的 COM 口,下拉里带设备描述 | 列表里的第一个 |
| 波特率 | 300 / 600 / 1200 / 2400 / 4800 / 9600 / 14400 / 19200 / 38400 / 56000 / 57600 / 76800 / 115200 / 230400 / 460800 / 921600 | 9600 |
| 数据位 | 5 / 6 / 7 / 8 | 8 |
| 校验位 | None 无校验 / Odd 奇校验 / Even 偶校验 | None 无校验 |
| 停止位 | 1 / 1.5 / 2 | 1 |
下拉旁边有个 🔄(鼠标停上去显示「刷新串口列表」),插了 USB 转串口线但列表里没有时点它;展开下拉的瞬间也会自动重扫一次,所以通常拔插之后直接点开就能看到新口。列表为空时下拉里显示「未检测到串口」。
波特率要和对方设备一致,不一致的表现是:能打开、能发出、收回来的是一堆看不懂的字符或者直接没反应。调试 BACnet MS/TP 总线时记得列表里有 76800 这一档。
第三步 打开串口
点 打开串口:
- 旁边的圆灯由灰变红,表示已经打开;
- 按钮文字变成 关闭串口(再点一次就是关闭);
- 记录区追加一行
—— 已打开:COM3 9600,N,8,1 ——,格式是口名 波特率,校验,数据位,停止位; - 打开期间上面的五个参数下拉和 🔄 都会变灰,要改参数得先点「关闭串口」。
没选串口就点,会提示「请选择串口」。打不开时提示形如 打开串口失败: COM3 —— 最常见的原因是这个口正被别的程序占用(串口调试助手、组态软件、另一个编辑器窗口),同一时刻一个串口只能被一个程序打开。
第四步 发送
在右下的发送区里写内容,然后点 发送数据(没打开连接时这个按钮是灰的)。发出去的内容会立刻在记录区显示成一行蓝色的 [发]。
填法和校验详见 12.3 报文校验、循环发送与自动回应。
第五步 看回复
对方回来的数据是一行行绿色的 [收]。收完想留证据:
| 按钮/开关 | 效果 |
|---|---|
| 保存数据 | 弹出系统「另存为」,把当前记录区里显示的内容存成 txt。记录区是空的会提示「没有可保存的内容」,保存成功后记录区追加一行 —— 已保存到:路径 —— |
| 存文件(勾选) | 一边收一边往文件里追加。勾上时先让您选位置,默认文件名 调试日志_年-月-日.txt,选完记录区会回显一行 —— 后续数据将自动追加到:路径 ——。写不进去(比如文件被别的程序锁住、U 盘被拔掉)会自动关掉这个开关并提示,不会闷着不收数据 |
| 清除显示 | 只清空记录区,不影响收发,也不影响 Send/Recv 计数 |
记录区最多留最近 5000 行
长时间挂机收发时,最早的行会被顶掉。要留全程就用「存文件」,别指望回头点「保存数据」还能拿到几小时前那段。
看懂记录区
默认开着「自动分析」,每行长这样:
[12:03:11.514][收][COM3] 01 03 02 00 64 B8 44
[12:03:11.482][发][COM3] 01 03 00 00 00 01- 蓝色 = 本机发出去的,绿色 = 收到的,灰白色 = 开关串口、保存文件这类状态行。
[12:03:11.514]到毫秒 —— 算对方响应多快就看它。[收]/[发]标方向,[COM3]标来源(网络通道这里显示本机或对方地址)。
「接收区设置」里的开关:
| 开关 | 说明 |
|---|---|
| 十六进制 / GBK / UTF8 | 三选一,决定收到的字节怎么显示成文字。默认 GBK。看二进制协议切「十六进制」,看设备打印的中文日志用 GBK 或 UTF8(取决于设备用哪种编码) |
| 暂停接收 | 勾上后新到的数据不再进记录区。注意它只影响显示,右下角 Recv 字节数照加 —— 想确认对方到底有没有发东西,看计数比看画面准 |
| 自动滚动 | 默认勾选,新行来了滚到最底。想仔细看某一段就取消勾选,画面会停在当前位置 |
| 存文件 | 见上表 |
| 自动分析 | 总开关。关掉后只显示内容本身,不带时间、方向、来源前缀。下面三个小项(时间、端口、解码)是它的子选项,只有总开关开着才能勾:前两个默认开,「解码」默认关 —— 勾上后文本模式的每一行后面还会附一份 [HEX=...],排查乱码和不可见字符时用 |
底部一行的 Send / Recv 是字节数统计(不是报文条数),点 复位计数 归零。最右边的灰字是当前通道和参数,还没打开时也能看到它填成了什么。
常用排障对照
| 现象 | 先查这里 |
|---|---|
| 串口下拉里什么都没有 / 显示「未检测到串口」 | 线没插好,或 USB 转串口驱动没装;插好后点 🔄 |
提示 打开串口失败: COMx | 该口被别的程序占用,或端口号被系统改了 |
| 能发出去,一行回复都没有 | 对方波特率/校验不一致;接线 TX/RX 交叉没交叉;对方根本没在跑 |
| 回复全是乱码 | 把接收格式从 GBK 切到 UTF8 或十六进制再看;勾上「解码」让每行附一份十六进制,最容易判断 |
| 顶部红条提示数据接收通道建立失败 | 重启一次工具窗口;仍收不到就把这个窗口以外的调试软件全部关掉 |
| 换到 TCP/UDP 后串口没响应了 | 正常 —— 切通道时串口被自动关闭了,切回「串口」重新点「打开串口」 |
相关页面
- 12.2 TCP 与 UDP 调试 —— 用网口收发、模拟一台服务器
- 12.3 报文校验、循环发送与自动回应 —— CRC、和校验、定时重发、扮演从站
- 3.3 串口、4G 与 LoRa —— 配置设备侧串口的波特率