Skip to content

串口指令

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

0x80 / 0x81 — 寄存器读写

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

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

写寄存器 0x80

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

举例: 向寄存器 0x030x04 连续写入 0x000x01

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

读寄存器 0x81

下发:

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

屏应答:

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

举例: 连续读取寄存器 0x030x04(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)**寻址,地址 0x00000xFFFF。规划地址时以目标机型说明书为准。

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

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

写变量存储器 0x82

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

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

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

举例 2:0x0003 起连续写两字:0x00010x0002

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

读变量存储器 0x83

下发:

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

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

屏应答:

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

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

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

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

功能摘要

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

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


0x84 — 写曲线缓冲区

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

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

CH_Mode

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

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

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

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

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

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


0x85 — 扩展指令

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

0x85 00 — 直接写显存

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

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

0x85 03 — 连续播放音频

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

注意事项:

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

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

相关内容