Login
首页 > 新闻资讯 > 工业控制

串口调试工具(Serial Port Assistant)

admin 2018-05-17 18:24:45 人看过

可以。这是一个典型的串口调试工具(Serial Port Assistant),主要用于电脑通过 COM 串口和单片机、PLC、传感器、串口模块等设备进行数据收发。

我按照截图从左上 → 左下 → 右侧把每个功能解释一下。

一、通信设置

功能

截图当前值

含义

串口号

COM1

选择电脑使用哪个串口与设备通信,例如 COM1、COM3、COM5。USB 转串口插入电脑后通常会产生一个 COM 口。

波特率(支持手动输入)

9600

串口通信速度,单位一般为 bps。常见有 9600、19200、38400、57600、115200。电脑和设备必须设置一致

数据位

8

每一帧有效数据所占的位数。最常见是 8 位。

停止位

1

一帧数据结束时使用的停止位。常见是 1,也可能是 1.5 或 2。双方需要匹配。

校验位

None

用于检查传输错误。None 表示无校验;还可能有 Odd(奇校验)、Even(偶校验)等。

流控制

None

控制数据发送节奏,防止接收方来不及处理。None 表示不使用;一些设备会使用 RTS/CTS、XON/XOFF 等。

打开串口

按照上面的参数打开当前 COM 口。打开成功以后才能正常发送和接收数据。

截图里的 9600 / 8 / 1 / None,通常可以写成:

9600, 8N1

也就是:9600 波特率 + 8 数据位 + No Parity(无校验)+ 1 停止位


二、接收区设置

右上方那个大白框就是接收窗口,设备通过串口发给电脑的数据会显示在这里。

功能

含义

Hex显示

勾选后,接收到的数据按照十六进制显示,而不是按照普通字符显示。

接收窗口字节 1000

用于限制/管理接收窗口的数据量,截图中设置为 1000 字节。具体达到上限后的处理方式取决于这个软件的实现。

清除窗口

清空右侧接收窗口中已经显示的数据,不会修改设备本身的数据。

举个例子,设备实际发送三个字节:

48 65 6C

如果使用 Hex显示,一般看到:

48 65 6C

如果不使用 Hex,而按照 ASCII 字符显示,则对应:

Hel

所以调试二进制通信协议时,通常会打开 Hex显示


三、发送区设置

右下方的大白框是发送信息输入框

你可以在这里输入需要发给单片机/设备的数据,然后点击右边的 「手动发送」

截图还提示:

Ctrl + Enter 输入回车 (0x0D, 0x0A)

也就是说发送框支持输入回车、换行等控制字符。

各选项含义如下:

功能

含义

Hex发送 (如01 02)

将输入内容按照十六进制字节发送。例如输入 01 02 FF,实际发送的就是 0x01 0x02 0xFF

自动发送

开启以后,不需要一直点击“手动发送”,软件会按照设定时间周期重复发送。

每隔 1000 (ms)

自动发送的时间间隔。1000 ms = 1 秒,也就是每秒发送一次。

发送收到的帧

从名称来看,是收到一帧数据后将接收到的帧重新发送出去,类似回传/回显功能。

帧尾字符 0D

给数据帧指定结束字符。0D 就是十六进制 0x0D,也就是 ASCII 的 CR(回车)。常用于判断“一帧数据什么时候结束”。

收到帧尾后发送

检测到上面设置的帧尾字符之后,再触发相应发送操作。通常与“发送收到的帧”等功能配合使用。

加载自动发送指令

从预先配置的指令内容中加载自动发送命令,适合循环发送多条测试指令。具体格式需要结合这个软件的说明。

手动发送

将当前发送信息框里的内容立即通过串口发送出去。

其中 Hex发送 特别容易混淆。

例如你输入:

01 02

不勾 Hex发送时,通常发送的是字符:

'0' '1' ' ' '0' '2'

对应 ASCII 字节大致是:

30 31 20 30 32

勾选 Hex发送后,则真正发送两个字节:

01 02

所以如果设备协议写着:

发送:AA 01 03 FF

一般就应该勾选 Hex发送,然后输入:

AA 01 03 FF


四、最下面的统计/时间功能

截图底部还有几个参数:

功能

含义

发送—应答时间差

统计从发送数据到收到设备应答之间经过了多长时间。单位 ms。可用于测试设备响应速度。

均值

多次发送/应答之后计算平均响应时间。

计数TX

TX = Transmit,表示发送数据的计数。通常用于统计发送次数/发送帧数,具体以软件实现为准。

RX

RX = Receive,表示接收数据的计数。通常用于统计接收次数/接收帧数。

重新计数

将 TX、RX 等统计计数清零,重新开始统计。

五、实际使用时最重要的几个地方

如果你只是想连接一个单片机,然后发送命令、查看返回数据,主要关注:

串口号 → 波特率 → 数据位/停止位/校验位 → 打开串口 → Hex发送 → 手动发送 → Hex显示

例如设备说明书要求:

115200,8N1

发送指令:

01 03 00 00 00 02 C4 0B

那么通常操作就是把串口设置成 115200 / 8 / 1 / None,打开串口;如果这串数据是协议规定的十六进制字节,就勾选 Hex发送,输入 01 03 00 00 00 02 C4 0B 后点击手动发送。如果返回值也是二进制协议数据,则同时勾选 Hex显示

如果你是在调 Modbus RTU、STM32、51 单片机、ESP32 或其他串口设备,把设备的通信协议/指令格式发给我,我也可以直接告诉你这个软件每一项应该怎么设置、发送框具体填什么、收到的数据应该怎么看

版权声明:倡导尊重与保护知识产权。未经许可,任何人不得复制、转载、或以其他方式使用本站《原创》内容,违者将追究其法律责任。本站文章内容,部分图片来源于网络,如有侵权,请联系我们修改或者删除处理。

编辑推荐

热门文章