Skip to content

串口指令 ​

本页说明 VGUS 串口指令 0x80–0x85 的帧结构与 HEX 举例。下文默认帧头为 A5 5A(可在屏参中修改)。多字节数值均为 MSB 先传。帧结构通则见 帧格式与约定。

指令做什么
0x80写寄存器
0x81读寄存器
0x82写变量存储器
0x83读变量存储器
0x84写曲线显示缓冲
0x85扩展指令(子命令)

指令长度为 1 字节,统计指令码及之后的内容(不含帧头)。因此单条指令「指令及之后」最长约 255 字节;更长数据须拆成多条发送。长度算错(例如把 CRC 计入/不计入弄反、长度与实际数据不符)时,屏可能不响应或只处理一部分,并可能报 Error Code 0x0011。

0x80 / 0x81 — 寄存器读写 ​

屏端有 256 字节寄存器(地址 0x00–0xFF),按字节寻址,用于硬件与系统控制。支持从起始地址起顺序读写多个寄存器。

项0x80(写)0x81(读,下发)0x81(读,屏应答)
指令0x800x810x81
起始地址1 字节,0x00–0xFF同左同左
数据长度—(由写入数据字节数隐含)1 字节 N(读 N 个字节)1 字节 N + N 字节数据
数据内容N 字节写入值—读回的 N 字节

写寄存器 0x80 ​

定义指令帧头指令长度指令起始地址数据内容
长度(字节)211(0x80)1N

举例: 向寄存器 0x03、0x04 连续写入 0x00、0x01:

text
发送:A5 5A 04 80 03 00 01

读寄存器 0x81 ​

下发:

定义指令帧头指令长度指令起始地址数据长度
长度(字节)211(0x81)11(N)

屏应答:

定义指令帧头指令长度指令起始地址数据长度数据内容
长度(字节)211(0x81)11(N)N

举例: 连续读取寄存器 0x03、0x04(N=2):

text
发送:A5 5A 03 81 03 02
返回:A5 5A 05 81 03 02 00 01

功能摘要 ​

指令下发数据说明
0x80寄存器地址 + 写入数据从指定地址写寄存器
0x81寄存器地址 + 读取字节长度从指定地址读指定字节数;屏按上表应答

更多地址含义见 寄存器一览、常用寄存器。


0x82 / 0x83 — 变量存储器读写 ​

VTx(VTc / VTb)典型机型有 64K 字(128K 字节) 变量存储器,按 字(Word) 寻址,地址 0x0000–0xFFFF。规划地址时以目标机型说明书为准。

  • 起始地址:2 字节字地址
  • 数据长度 N:以字为单位
  • 数据内容:每个字 2 字节,共 2N 字节
  • 支持顺序读写多个字单元

变量显示格式由配置文件预先下载到屏;运行时用本指令更新/读取数值即可。若控件启用了描述指针,也可用本指令按「基址 + 偏移」读写显示格式区。

写变量存储器 0x82 ​

定义指令帧头指令长度指令起始地址数据内容
长度(字节)211(0x82)22N

举例 1: 向字地址 0x0003 写入 0x0001:

text
发送:A5 5A 05 82 00 03 00 01

举例 2: 从 0x0003 起连续写两字:0x0001、0x0002:

text
发送:A5 5A 07 82 00 03 00 01 00 02

读变量存储器 0x83 ​

下发:

定义指令帧头指令长度指令起始地址数据长度
长度(字节)211(0x83)21(N,字个数)

N 取值范围约 0x00–0x7D(以目标机型说明书为准)。

屏应答:

定义指令帧头指令长度指令起始地址数据长度数据内容
长度(字节)211(0x83)21(N)2N

举例: 连续读取字地址 0x0003、0x0004(N=2):

text
发送:A5 5A 04 83 00 03 02
返回:A5 5A 08 83 00 03 02 00 01 FF FF

(返回中 00 01、FF FF 为两字数据示例。)

功能摘要 ​

指令下发数据说明
0x82变量字地址 + 写入的字数据从指定字地址起写入
0x83变量字地址 + 读取字长度 N从指定字地址起读 N 个字;屏应答地址 + N + 2N 字节数据

地址规划参见 地址地图、核心概念。向文本类控件写入字符串时,字节序列随控件 编码方式(GB2312 / UNICODE / UTF8 等)变化,对照帧见 字库相关 FAQ。


0x84 — 写曲线缓冲区 ​

用于配合 实时曲线(趋势图) 控件。屏端有独立的 8K Word 曲线缓冲区,可存最多 8 条曲线;缓冲数据为 16 位无符号数,不占用变量存储器空间,也无变量地址。

定义指令帧头指令长度指令曲线通道曲线数据
长度(字节)211(0x84)1(CH_Mode)2n(每点 1 Word)

CH_Mode ​

位bit0bit1bit2bit3bit4bit5bit6bit7
通道CH0CH1CH2CH3CH4CH5CH6CH7
  • 某位为 1 表示本帧包含该通道数据;为 0 则不含
  • 可同时置位多条通道
  • 数据按低通道在前交错排列。例如 CH_Mode = 0x83(10000011B)表示每组为:CH0 + CH1 + CH7,再下一组同样顺序

屏收到 0x84 后,新数据靠曲线窗口右侧显示,原有曲线向左推移,超出窗口长度的部分移出。

清除曲线缓冲(寄存器 0xEB) ​

通过写寄存器 0xEB(Trendline_Clear)清除缓冲,再由屏自动清零该寄存器:

写入值含义
0x55清除全部 8 条曲线缓冲区
0x56–0x5D分别清除 CH0–CH7

VTc / VTb 均支持实时曲线与 0xEB 清除。控件侧配置见显示控件「实时曲线」说明。


0x85 — 扩展指令 ​

0x85 后跟一字节子命令。常用子命令如下。

0x85 00 — 直接写显存 ​

定义指令帧头指令长度指令数据
长度(字节)212(85 00)X(2) + Y(2) + DATA0(2) + … + DATAn(2)
  • X、Y:起始像素坐标
  • DATA:像素颜色(RGB565,双字节);超过一行自动换行

注意:VTc / VTb 系列不支持该功能。

0x85 03 — 连续播放音频 ​

定义指令帧头指令长度指令数据
长度(字节)212(85 03)Mode(1) + NUM0(2) + … + NUMn(2)
字段说明
Mode0 循环播放;1 顺序播放;其他值停止播放
NUMx音频文件名编号(双字节,0x0000–0xFFFE);不存在的编号直接跳过

注意事项:

  • 同一指令中的音频格式须一致(同为 WAV 或同为 MP3)
  • WAV:须 22 kHz、单声道;本指令内音频总大小不超过 2M
  • MP3:总大小无上述 2M 限制
  • 典型用途:窗口/柜台数字播报(WAV)、娱乐连播(MP3)
  • 音视频能力因机型而异(VTb 支持 WAV/MP3 等;VTc 不支持),以产品规格为准

其他 0x85 子命令若工程需要,请对照官方开发指南或标「待核实」。

相关内容 ​