串口指令的介绍和用法
串口指令:串口屏内置的一套固定协议,也可以叫三易协议,以ASCII码方式发送给串口屏,用于用户端直接使用控制屏幕,串口屏内不用写数据解析脚本。
脚本代码:串口屏模块内部脚本,解析、计算数据,控制页面控件,以及发送数据给用户。
使用方式的区别:左边为串口指令,右边为脚本代码

注意
串口指令由用户端MCU直接发送去控制串口屏,脚本是运行于串口屏模块内部的代码,用于处理内部各种逻辑;
串口指令不能当作脚本写在串口屏的事件代码中;
绝大部分指令,只对串口屏发送有效,VP上位机模拟无效;
连接串口屏时,注意接4Pin座子串口而不是Type-C口,Type-C口只能用于下载工程文件,不能用于通信;
1. 串口屏信息查询指令:version
此串口指令用于查询串口屏的基础软硬件信息;VP模拟发送无效果;

2. 查看所有串口指令 :help
此指令用于返回所有串口指令;VP上位机发送有效;
发送格式:help + 回车换行
指令名 |
功能 |
指令返回 |
|---|---|---|
help |
回传所有可用串口指令 |
help - 返回所有指令 |
3. 页面跳转指令 :page
指令名 |
功能 |
参数及举例 |
|---|---|---|
page |
页面跳转 |
page name/id + 回车换行 |
4. 控件属性设置指令 :wset
指令名 |
功能 |
参数及举例 |
|---|---|---|
wset |
设置页面以及控件的属性值 |
wset name value + 回车换行 |
说明:
页面/控件名称是带有可查找路径的名称,要设置页面的属性,则用“wset 页面名称.属性名称”,
如:wset main.bgColor 0xFFFF0000 //设置页面main的背景颜色为红色
wset main.num1.val 123 //设置页面main中整数控件num1的当前值为123
wset numf1.valf 3.14 //设置浮点数控件numf1的值为3.14
wset text1.txt "ABC123" //设置文本控件text1的显示为"ABC123"
注意:字符串类型需要用英文双引号括起来。包含中文时,注意串口屏工程的编码设置(工具->项目设置),需和发送端的字符编码一致。如:VP中字符编码选择GBK,那么用户发送的字符串编码也得是GBK。
5. 控件属性值获取指令 : wget
指令名 |
功能 |
参数及举例 |
|---|---|---|
wget |
取得页面以及控件的属性值 |
wget name + 回车换行 |
说明:
页面\控件名称是带有可查找路径的名称,如果要读取页面的属性,则用“wget 页面名称.属性名称”,
如:wget main.name //获取main页面的页名称(读出来是字符串形类型,可赋给文本控件打印显示)
wget page1.numf1.valf //获取page1页面的浮点数控件numf1的浮点数值
返回的属性值有三种类型,整数,小数,字符串,整数和小数都用十六进制码表示;中英文字符串,返回中英文的ascii码值或者区位码值,十六进制表示。
注意串口屏工程的编码设置(工具->项目设置),需和发送端的字符编码一致。如:VP中字符编码选择GBK,那么用户发送的字符串编码也得是GBK。
6. 设置系统变量 : sset
指令名 |
功能 |
参数及举例 |
|---|---|---|
sset |
设置系统变量 |
sset name value + 回车换行 |
7. 设置系统变量 : sget
指令名 |
功能 |
参数及举例 |
|---|---|---|
sget |
读取系统变量的值 |
sget name + 回车换行 |
8. 事件触发 :event
指令名 |
功能 |
参数及举例 |
|---|---|---|
event |
事件触发 |
event name value + 回车换行 |
说明: 此指令可以触发按钮控件,触摸热区控件,双态按钮控件的按下、弹起的处理脚本。
event timer 1 //触发定时器脚本,会立即执行定时器脚本,定时器的interval设置(触发事件的间隔时间)将无效。
9. 模拟点击 :click
指令名 |
功能 |
参数及举例 |
|---|---|---|
click |
模拟点击事件 |
click name + 回车换行 |
说明:
此指令可以模拟按下按钮控件,触摸热区控件,双态按钮控件。
方便没有触摸屏时,用户使用物理按键操作串口屏模组实现点击触摸效果。
10. 触摸校准&恢复出厂 :adjust & factory
指令名 |
功能 |
参数及举例 |
|---|---|---|
adjust |
触发触屏校准功能 |
adjust + 回车换行 |
factory |
恢复出厂状态 |
factory + 回车换行 |
11. 曲线数据透传 :addt
指令名 |
功能 |
参数及举例 |
|---|---|---|
addt |
曲线控件数据透传指令 |
命令格式: |
举例:
设置0通道byte类型10个点:61 64 64 74 00 04 00 0A 00 00 00 00 01 02 04 06 08 0A 0C 0E 10 12
byte类型,一个字节表示一个点
设置0通道int类型3个点:61 64 64 74 00 04 00 0C 00 00 00 00 01 00 00 00 02 00 00 00 03 00 00 00<
int 类型,4个字节表示一个点,小端模式,这里三个点分别是0x00000001,0x00000002,0x00000003
设置0通道float类型3个点:61 64 64 74 00 04 00 0C 00 00 00 00 9a 99 99 3F 9A 99 19 40 66 66 66 40
float类型,4个字节表示一个点,小端模式,这里三个点分别是1.2 , 2.4 , 3.6
12. 显示点阵 :pisx(已弃用)
指令名 |
功能 |
参数及举例 |
|---|---|---|
pisx |
显示点阵数据 |
参数介绍: |
说明:
此功能实现了客户想显示一些字库中没有特殊字符或者单色图片,显示时需要用户实时发送,
例如 笑脸等用户自定义有个性的图标。
举例: 70 69 78 73 命令码 | 00 00 起始横坐标 | 0A 00 起始竖坐标 | 10 字模宽度16 | 10 字模高度16
00 00 FF 颜色0xFF0000,红色 |20 00 字模字节数32
08 80 08 80 08 80 11 FE 11 02 32 04 34 20 50 20 91 28 11 24 12 24 12 22 14 22 10 20 10 A0 10 40 字模数据”你”,16*16,宋体,不加粗,不斜体
注意:该命令已弃用,建议使用图片或者其他控件,显示特殊字符。
13. 复位屏幕 :reset
指令名 |
功能 |
参数及举例 |
|---|---|---|
reset |
复位屏幕 |
reset 1 + 回车换行 |
说明:
此指令可以模拟屏幕断电重启。
通过串口发送指令复位,无需断电也可重启复位串口屏。
此指令对VP编辑软件无效。
14. 通讯指令返回值介绍1
说明 |
|
|---|---|
条件 |
只有当系统变量bkcmd为非0的时候才会返回指令执行成功或者失败数据。 |
格式 |
返回指令格式为命令码(1字节)+参数(长度随命令码而不同)+结束符(2字节,\r\n) |
数据 |
所有指令名以及参数全部16进制数据,非ASCII数据,便于软件解析。 |
15. 通讯指令返回值介绍2
命令码 |
含义 |
格式 |
参数说明 |
|---|---|---|---|
0x00 |
指令执行结果 |
执行结果代码+返回数据+结束符(\r\n) |
执行结果代码:1字节 |
0x01 |
整数返回 |
0x01+4字节整数+结束符 |
4字节整数:4字节小端模式存储,低字节在前 |
0x02 |
小数返回 |
0x02+4字节小数+结束符 |
4字节小数:4字节小端模式存储,低字节在前 |
0x03 |
字符串返回 |
0x03+字符串+结束符 |
字符串:GBK编码 |
说明:
如果客户发送的指令有错,例如命令码拼写错误,属性名称拼写错误等,造成串口屏不能解析,将返回不同的错误码,方便客户查错。
只有当系统变量bkcmd为非0的时候才会返回指令执行成功或者失败数据。
这个命令提供了一种客户的调试命令的方式,大部分情况下,在调试完毕后,都会把系统变量bkcmd置0,不会收到此命令。 举例:如果客户发送指令的命令码拼写错误,返回:“00010d0a”。解释:从左到右,00 表示返回的命令码,01表示命令码无效,0d表示 \r,0a表示 \n。
返回结果包括:命令执行情况和需要返回的数据。执行情况即执行结果,需要返回的数据主要是取串口屏控件属性的值。值的类型有整数,小数,字符串。
举例:获取按钮1的x坐标。发送指令“wget button1 x\r\n”,返回为:“01880000000d0a” 解释:01 表示返回值为整数;88000000表示位buttton1的 x坐标,低字节在前的格式;0D0A是命令结束符。
如果系统变量bkcmd没有设置为0,这个指令会接收到两个返回指令,“00000d0a”,和“01880000000d0a”,第一个指令表示命令执行成功,
第二个指令是用户需要的结果。如果系统变量bkcmd设置为0,则只返回第二个指令(默认不返回执行成功或失败)。