SerialTool VT-100 终端

最后更新于 作者 Oliver Reed

SerialTool VT-100 终端专为与使用基于 VT-100 / ANSI 标准的高级文本界面的设备进行交互式通信而设计。 该模式广泛用于专业工业嵌入式环境, 在这些环境中,远程设备通过串口显示菜单、Shell 或基于文本的配置界面。

注意:有关详细信息,您还可以访问此链接 SerialTool 终端

与仅限于显示接收字节的“经典”串口终端不同,SerialTool 的 VT-100 终端 解释数据流ANSI 转义序列, 允许正确且忠实于设备预期界面的图形渲染。

交互式通信和 ANSI 序列

在 VT-100 终端中,传输的数据不仅仅是简单的 ASCII 字符,还包括 用于在终端内执行“视觉”操作的控制序列 (ESC)。 SerialTool 实时解释这些序列,允许显示彩色输出、交互式提示、 文本菜单和动态更新的屏幕。

ANSI/ESC 序列通常用于:

  • 在屏幕上移动光标;
  • 清除行或整个终端内容;
  • 更改文本颜色和属性;
  • 管理交互式菜单和动态更新的屏幕;
  • 显示进度条或文本指示器。

何时使用 VT-100 终端

当连接到需要高级人机交互的设备时,建议使用 VT-100 模式, 例如,通过串行控制台配置或管理设备和嵌入式系统。

典型示例:

  • 网络路由器和交换机;
  • 硬件防火墙和企业接入点;
  • 企业服务器(BIOS/UEFI,远程管理模块);
  • 嵌入式 Linux 系统(控制台,U-Boot,Shell);
  • PLC 和带有文本菜单的工业设备;
  • 启动期间或在控制台模式下的微控制器。

集成到完整工具中的 VT-100 终端

SerialTool VT-100 终端完全集成在软件中,可以与其他高级功能一起使用。 您可以为每个串口分配一个专用的 VT-100 窗口,从而将多个设备的日志分开,并使 流量分析更容易。

通过这种方式,SerialTool 将 VT-100 仿真和低级串口调试结合在一个解决方案中,避免了使用单独的应用程序。

得益于对 VT-100 标准和 ANSI 序列的全面支持,SerialTool 提供了一个可靠且专业的串行交互环境, 非常适合嵌入式开发人员、工业技术人员和 IT 专业人员。

关于 SerialTool VT-100 串口终端的须知

关于 SerialTool 的一般操作,串口终端有一些重要的特性需要澄清。 首先,SerialTool 有两大类终端: 串口终端十六进制终端

串口终端又可以在两种不同的模式下工作: 经典模式VT-100 仿真模式, 这是本文档的主题。

经典终端在一个主屏幕中显示所有打开和分配的串口的所有传入和传出流量。

为了更好地理解与 VT-100 仿真中的串口终端相比的差异, 详细介绍经典串口终端的操作是很有用的。

对于每个串口,在经典终端中,传入和传出流量 用不同的字体颜色表示,以便于阅读。

传输和接收的字节可以在各种模式下查看: ASCII、十六进制、二进制或这些模式的组合。 这是因为开发人员可能有不同的分析需求, 尤其是在处理Modbus等专有或标准协议时。

一个基本方面是确定何时在终端中插入新行, 以防止所有字节连续显示, 从而造成解释困难。

因此,在经典终端中,需要确定数据是否以 流式传输模式到达,以及在到达终止符 (例如 0x0A0x0D 或其组合)时 是否应添加新行。

在其他情况下,即使没有终止符,也需要确定数据包的结束。 这是通过测量自上一个接收到的字节以来经过的时间来实现的。

出于这个原因,每个串口都有参数 Last Byte Timeout(最后一个字节超时),以毫秒表示, 在此之后 SerialTool 显示接收到的数据包。

这个概念是基本的,必须始终牢记在心。

经典终端 – 数据包模式 (Packet Mode)

数据包模式下,新行添加到终端:

  • 总是当 SerialTool 发送字节序列时,在传输结束时;
  • 在接收中,当 Last Byte Timeout 中设置的时间到期时;
  • 当从不同的串口发送或接收字节时。

经典终端 – 流式传输模式 (Streaming Mode)

流式传输模式下,新行添加:

  • 在接收到终止符(甚至是自定义的)时;
  • 当从不同的串口发送或接收字节时。

与 VT-100 终端的区别

带有 VT-100 仿真的串口终端引入了显着的差异。 首先,可以为每个打开的串口拥有一个或多个专用屏幕。

因此,每个串口都与一个特定的窗口(选项卡)相关联, 保持多个设备的流量分开。 这是图形界面级别的第一个区别。

第二个区别是功能性的: 虽然在经典终端中字节是根据用户首选项(ASCII、HEX 等)显示的, 但在 VT-100 终端中,字节流由仿真器解释, 具有视觉意义。

例如,远程设备可能会发送彩色消息, 文本颜色不是由用户选择的, 而是由设备确定的,并由 VT-100 终端解释。

VT-100 终端还解释用于清除屏幕、 重新定位光标和其他图形操作的序列。

另一个功能是行和列的管理, 这允许终端模拟真实的文本应用程序, 知道以字符为单位的屏幕“分辨率”。

用户还可以向远程设备发送特殊字符序列, 包括 CTRL + 键等组合键, 这些组合键会产生特定的行为。

使用低级经典终端进行这种类型的交互 将极其复杂。

这些初步解释对于了解 根据您的需求使用哪种类型的终端至关重要。 好消息是 SerialTool 支持这两种模式

如何使用 SerialTool VT-100 串口终端

如前所述,每个终端窗口必须分配一个 物理串口,这代表了 SerialTool 的基本操作原理。

首先,从主菜单中选择终端模式。

serial terminal option select

选择终端模式

set serial port terminal mode

选择 VT-100 串口终端模式

让我们从显示可以从中将串口分配给 VT-100 串口终端的屏幕开始。

如果在串口配置菜单中已经配置了串口, 则可以将这些串口分配给 SerialTool VT-100 终端的特定选项卡。

单击中央按钮显示可用的串口, 这些串口可以分配用于在 VT-100 终端中显示。

serial port terminal assignment

分配了串口的主串口终端屏幕

一旦选择了串口,就会打开一个专用选项卡,其中包含 终端和分配的串口的信息,包括对使用的物理端口或适配器的引用 (例如 Windows 上的 COMx 或 Linux 和 macOS 上的设备路径)。

serial port terminal port

分配了串口 1 并打开专用选项卡的屏幕

此时,一旦与串口关联的终端打开, 就可以接收和向远程设备发送字节(请记住从专用配置菜单打开串口 并正确设置通信参数)。

在以下示例中,可以看到 ESP32-S3 模块的启动。 以绿色显示的文本由 ESP32 模块生成, 该模块发送了特定的字节序列,随后由 SerialTool VT-100 仿真器解释。

serial port bootloader esp32

ESP32 模块引导加载程序屏幕

在 VT-100 终端中,您可以使用鼠标选择感兴趣的字符区域, 随后使用鼠标右键将其导出。

serial port export data

终端数据导出(复制)屏幕

按下鼠标右键,除了能够复制终端的内容外, 还允许您修改一些终端配置, 在 VT-100 仿真提供的限制范围内。

选择“VT100 Terminal Settings”,您可以修改 终端设置并将其保存为该串口的默认配置。

需要强调的是,即使物理串口发生变化,配置也保持不变。 这允许在 SerialTool 重新启动的情况下, 保持与逻辑串口而不是物理设备关联的设置。

例如,如果串口 1 最初分配给端口 COM12 随后分配给 COM8, 设置将保持不变,因为它们跟随分配的串口 而不是物理端口。

VT100 终端设置 – 完整说明

从设置屏幕开始(右键单击并选择“VT100 Terminal Settings”

serial port terminal settings

VT-100 仿真中的串口终端设置屏幕

Use VT-100 Terminal Key Sequence

激活实际的 VT-100 仿真。 按键序列(箭头、F1–F4、ESC 等)的发送方式 与真实的 VT-100 终端完全相同。

基础用于:

  • 文本菜单
  • 嵌入式 Shell
  • 引导加载程序

推荐: 对于串口使用为 ON

VT-100 Terminal Keyboard Input Settings

基于 CTRL 的 ASCII 控制

CTRL + 键组合映射到经典 ASCII 代码:

组合代码含义
CTRL + @0x00NUL
CTRL + Z0x1ASUB
CTRL + [0x1BESC
CTRL + \0x1CFS
CTRL + ]0x1DGS
CTRL + ^0x1ERS
CTRL + _0x1FUS
CTRL + ?0x7FDEL

对于固件、串口监视器和低级调试必不可少。 推荐: ON

非 CTRL 特殊键

定义按下特殊键时发送的内容:

序列
ESC0x1B
ESC [ D
ESC [ C
ESC [ A
ESC [ B
F1–F4ESC OP / OQ / OR / OS
Backspace0x7F

与 U-Boot、Linux 串口控制台和 VT-100 菜单兼容。 推荐: ON

Caret Echo (^C, ^[, ^?)

以可读形式显示控制字符(例如,CTRL+C → ^C)。 对调试和教学有用。

推荐: 正常使用为 OFF,仅调试时为 ON

颜色 (Colors)

  • Background Color – 终端背景颜色
  • Opacity – 窗口透明度

字体 (Fonts)

  • 更改字体 / 设置默认值 / 设置等宽 / 设置终端字体
  • 增加 / 减少字体大小 – 文本缩放
  • 字体间距 – 字符之间的间距(推荐 100%)

杂项 (Misc)

Enter Key – 定义按下 Enter 时发送的内容:

  • CR → \r
  • LF → \n
  • CRLF → \r\n

通常: MCU / 调制解调器 / 固件 → CRLF
嵌入式 Linux → 通常 LF
推荐: CRLF

Suppress Local Echo:如果激活,则不显示您键入的内容 (仅当远程设备回显时使用)。

Show Timestamp:在接收到的数据旁边显示时间戳。

Show Navigation Bar:启用日志历史记录中的导航 (仅当终端仿真器处于活动状态时有用)。

Terminal Emulator:允许保留接收和发送字节的历史记录, 克服经典终端行和列的视觉限制。

Terminal Columns × Lines:终端尺寸。 推荐 Auto 模式。

Support UTF-8 (Receive / Transmit): 在接收时解码 UTF-8 并在传输时发送 UTF-8。 推荐: 除非特别需要,否则为 OFF。

Save Settings – 保存此串口的配置
Reset to Default – 仅重置此终端
Reset All Terminals – 全局重置
Exit – 关闭窗口