指令详解
系统寄存器操作
电源控制 (0xFF00)
向寄存器 [FF00] 写入字符串,控制设备运行状态。
进入正常运行状态:
发送:A5 5A 00 09 80 FF 00 4E 4F 52 4D 41 4C
返回:无
读取当前状态:
发送:A5 5A 00 03 82 FF 00
返回:A5 5A 00 09 82 FF 00 4E 4F 52 4D 41 4C (表示状态正常 "NORMAL")
支持的指令值:
REBOOT— 重启设备SUSPEND— 设备进入休眠状态IDLE— 设备进入待机状态NORMAL— 设备进入正常状态
警告
字符匹配大小写。目前只支持 NORMAL 指令,其它指令保留。
屏幕亮度调节 (0xFF01)
向寄存器 [FF01] 写入亮度数值,调节范围为 0-255 级。
发送:A5 5A 00 04 80 FF 01 80 (设置亮度为 128)
返回:无
发送:A5 5A 00 03 82 FF 01 (获取当前亮度)
返回:A5 5A 00 04 82 FF 01 80 (当前亮度为 128)
当前显示页面 (0xFF02)
向寄存器 [FF02] 写入指定页面 ID,串口屏自动切换到指定页面。
发送:A5 5A 00 05 80 FF 02 00 01 (跳转到页面 ID=0x0001)
返回:无
发送:A5 5A 00 03 82 FF 02 (获取当前页面)
返回:A5 5A 00 05 82 FF 02 00 01 (当前页面 ID=0x0001)
FLASH 数据读写
往 FLASH 写入数据 (0xFFF0)
通过寄存器 [FFF0] 可以将用户需要掉电保存的数据写入 FLASH 块内,块大小为 128K,地址范围 0~0x1FFFF。
帧格式:
帧头 + 数据长度(2字节) + 指令[80] + 寄存器[FFF0] + 起始地址(4字节) + 写入数据
示例: 往地址 [00 01 FF F0] 处写入 01 02 03 04
发送:A5 5A 00 0B 80 FF F0 00 01 FF F0 01 02 03 04
返回:无
备注
一次写入的数据不能大于 1K 字节。
从 FLASH 读取数据
发送:A5 5A 00 09 82 FF F0 00 01 FF F0 00 04 (从地址 [00 01 FF F0] 读取 4 字节)
返回:A5 5A 00 07 82 FF F0 01 02 03 04 (返回数据 01 02 03 04)
基本图形绘制指令
线段操作指令
(帧头{A5 5A}) + (长度{2字节}) + (80H) + (FFF1H) + (22H) + (Color) + (X1) + (Y1) + ... + (Xn) + (Yn)
示例: 连接点 (50,50) 与点 (100,100)
发送:A5 5A 00 0E 80 FF F1 22 F8 00 00 32 00 32 00 64 00 64
粗线段操作指令
(帧头{A5 5A}) + (长度{2字节}) + (80H) + (FFF1H) + (2FH) + (Color) + (线宽) + (X1) + (Y1) + ...
示例: 连接点 (50,50) 与点 (100,100),线宽 5,红色
发送:A5 5A 00 0F 80 FF F1 2F F8 00 05 00 32 00 32 00 64 00 64
实时发送图像数据指令
(帧头{A5 5A}) + (长度{2字节}) + (80H) + (FFF1H) + (34H) + (X) + (Y) + (宽W) + (高H)
返回: A5 5A 00 04 82 FF F1 FC 表示准备好
示例: 在 (0,0) 坐标发送宽 480、高 16 的图像数据
发送:A5 5A 00 0C 80 FF F1 34 00 00 00 00 01 E0 00 10
控件属性修改指令
静态图像坐标移动
(帧头{A5 5A}) + (长度{2字节}) + (80H) + (FFF2H) + (控件ID) + (X) + (Y)
示例: 将控件 ID=116 (0x0074) 移动到 (100,100)
发送:A5 5A 00 09 80 FF F2 00 74 00 64 00 64
参数显示控件颜色修改
(帧头{A5 5A}) + (长度{2字节}) + (80H) + (FFF2H) + (控件ID) + (正常前景色) + (活动前景色) + (正常背景色) + (活动背景色)
示例: 将控件 ID=113 (0x0071) 的正常前景色改为红色
发送:A5 5A 00 07 80 FF F2 00 71 F8 00
矩形控件颜色修改
发送:A5 5A 00 07 80 FF F2 00 01 F8 00 (将 ID=1 的控件颜色改为红色)
定时器控制指令
指令 |
说明 |
|---|---|
|
停止定时器 |
|
启动定时器 |
控件行为修改
使能控件触摸功能
(帧头{A5 5A}) + (长度{2字节}) + (80H) + (FF0CH) + (控件ID)
示例:A5 5A 00 05 80 FF 0C 00 01 (使能 ID=1 的触摸功能)
禁能控件触摸功能
(帧头{A5 5A}) + (长度{2字节}) + (80H) + (FF0DH) + (控件ID)
示例:A5 5A 00 05 80 FF 0D 00 01 (禁能 ID=1 的触摸功能)
显示/隐藏控件
显示:A5 5A 00 05 80 FF F3 00 01 (显示 ID=1 的控件)
隐藏:A5 5A 00 05 80 FF F4 00 01 (隐藏 ID=1 的控件)
画板控件操作指令
画板控件的变量空间总大小为 64K,变量地址范围 0000H-FFFFH。
帧格式:
(帧头{A5 5A}) + (长度{2字节}) + (85H) + (FFFFH) + (变量地址) + (控制指令) + (数据包数量) + (数据包0) + ... + (数据包N)
判断条件: 0xFF 绘图操作结束,0xFE 本次操作跳过。
打点控制指令 (0x0001)
数据包格式:(x, y, color)
示例: 画板变量地址 0x000A,在 (50,50) 打红色点
发送:A5 5A 00 0F 85 FF FF 00 0A 00 01 00 01 00 32 00 32 F8 00
清除:A5 5A 00 0A 85 FF FF 00 0A 00 01 00 01 FF
连线操作指令 (0x0002)
数据包格式:(x, y),首个数据包配置颜色 color
矩形操作指令 (0x0003)
数据包格式:(xs, ys, xe, ye, color)
示例: 左上角 (0,0),右下角 (48,48),红色
发送:A5 5A 00 14 85 FF FF 00 0A 00 03 FF FF 00 00 00 00 00 30 00 30 F8 00 FF
清除:A5 5A 00 0A 85 FF FF 00 0A 00 03 00 01 FF
填充矩形操作指令 (0x0004)
数据包格式:(xs, ys, xe, ye, color)
圆形操作指令 (0x0005)
数据包格式:(x, y, r, color)
示例: 圆心 (100,100),半径 32,红色
发送:A5 5A 00 12 85 FF FF 00 0A 00 05 FF FF 00 64 00 64 00 20 F8 00 FF
曲线缩放指令
放大 2 倍:
A5 5A 00 03 96 01 00(指令 0x96,16 位采样,缓冲区 0)缩小 2 倍:
A5 5A 00 03 97 01 00(指令 0x97,16 位采样,缓冲区 0)
移动焦点
移到上一个焦点:A5 5A 00 05 80 FF 0F A1 FA
移到下一个焦点:A5 5A 00 05 80 FF 0F A1 FB
确认当前焦点: A5 5A 00 05 80 FF 0F 00 0D
设置焦点: A5 5A 00 05 80 FF 0E xx xx (xx xx 为控件 ID)
定时器控制
暂停(ID=0003):A5 5A 00 06 80 FF F2 00 03 00
启动(ID=0004):A5 5A 00 06 80 FF F2 00 04 01