串口指令的简介和用法
通讯指令:通讯指令,是用户向串口屏模块发送的指令。 脚本指令:脚本指令,是串口屏模块内部脚本,计算数据,控制页面控件,以及发送数据给用户。 这里介绍的是通信指令。
功能 |
用户通过通讯指令控制串口屏模块。 |
基本格式 |
命令码标识 + 参数1(+参数2) + 结束符[回车换行,即\r\n,十六机制为0x0D,0x0A] |
特点 |
通过精简的方式控制串口屏模块,命令极少。 |
1. 串口命令的发送格式举例
用USB转串口(TTL或485)工具、连接串口屏的4pin座子。注意不是type-C口,type-C口只能用于下载工程文件,不能用于通信。
示例1
打开串口助手,设置正确的波特率,打开串口。输入命令 version,勾选发送新行,点击发送,串口助手即可收到串口屏返回的版本信息。有的串口助手没有【发送新行】选项,需要手动输入回车换行,参考示例2
示例2
打开串口助手,设置正确的端口和波特率,打开串口。输入命令 version和[Enter键],点击发送,串口助手即可收到串口屏返回的版本信息
示例3
用单片机程序发送。
假设用户发送串口数据的函数定义为: void uart_send(char *ptr);
那么页跳转的方式为:uart_send(“page 8\r\n”);,串口数据为page 8(回车换行)
2. 查看所有指令 :help
指令名 |
功能 |
参数及举例 |
---|---|---|
help |
回传所有可用串口指令 |
无参数。 |
3. 页面跳转指令 :page
指令名 |
功能 |
参数及举例 |
---|---|---|
page |
页面跳转 |
page |
4. 控件属性设置指令 :wset
指令名 |
功能 |
参数及举例 |
---|---|---|
wset |
设置页面以及控件的属性值 |
wset |
说明:
页面\控件名称是带有可查找路径的名称,要设置页面的属性,则用“wset 页面名称.属性名称”,如:
wset main.bgColor 0xFFFF0000 //设置页面main的背景颜色为红色
wset main.num1.val 123 //设置页面main中整数控件num1的当前值为123
属性值有三种类型,整数,小数,字符串。注意字符串类型需要用双引号括起来。中英文字符串,注意制作串口屏工程时选择的字符编码(工具->项目设置),和发送命令的用户编译环境选择的字符编码一致。如:VP中字符编码选择GBK,那么用户发送的字符串编码也得是GBK。
如果设置页面的属性,则必须写明页面路径。
5. 控件属性值获取指令 : wget
指令名 |
功能 |
参数及举例 |
---|---|---|
wget |
取得页面以及控件的属性值 |
wget |
说明:
页面\控件名称是带有可查找路径的名称,如果要读取页面的属性,则用“wget 页面名称.属性名称”, 如:
wget main.name //获取main页面的页名称(读出来是字符串形类型,可赋给文本控件打印显示)
wget page1.numf1.valf //获取page1页面的浮点数控件numf1的浮点数值
返回的属性值有三种类型,整数,小数,字符串,整数和小数都用十六进制码表示,小端在前;中英文字符串,返回中英文的ascii码值或者区位码值,十六进制表示。注意制作串口屏工程时选择的字符编码(工具->项目设置),和发送命令的用户编译环境选择的字符编码一致。
如果获取页面的属性,则必须写明页面路径。
6. 设置系统变量 : sset
指令名 |
功能 |
参数及举例 |
---|---|---|
sset |
设置系统变量 |
sset |
7. 设置系统变量 : sget
指令名 |
功能 |
参数及举例 |
---|---|---|
sget |
读取系统变量的值 |
sget |
8. 事件触发 :event
指令名 |
功能 |
参数及举例 |
---|---|---|
event |
事件触发 |
event |
说明:
此指令可以触发按钮控件,触摸热区控件,双态按钮控件的按下、弹起的处理脚本。
event timer 1
//触发定时器脚本,会立即执行定时器脚本,定时器的interval设置(触发事件的间隔时间)将无效。
9. 模拟点击 :click
指令名 |
功能 |
参数及举例 |
---|---|---|
click |
模拟点击事件 |
click |
说明:
此指令可以模拟按下按钮控件,触摸热区控件,双态按钮控件。
方便没有触摸屏时,用户使用物理按键操作串口屏模组。
10. 触摸校准&恢复出厂 :adjust & factory
指令名 |
功能 |
参数及举例 |
---|---|---|
adjust |
触发触屏校准功能 |
adjust(+回车换行) |
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
##显示点阵 :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,宋体,不加粗,不斜体
注意:该命令已弃用,建议使用图片或者其他控件,显示特殊字符。
12. 查询版本信息 :version
指令名 |
功能 |
参数及举例 |
---|---|---|
version |
查询版本信息 |
version |
说明:
此指令可查询串口屏的型号,flash大小,固件的时间版本。
在VP编辑软件或其它串口助手上发送,会返回上述信息。
此指令需用串口连接串口屏后查询才有返回信息。
13. 复位屏幕 :reset
指令名 |
功能 |
参数及举例 |
---|---|---|
reset |
复位屏幕 |
reset 1 (+回车换行) |
说明:
此指令可以模拟屏幕断电重启。
通过串口发送指令复位,无需断电也可重启复位串口屏。
此指令对VP编辑软件无效。
14. 通讯指令返回值介绍1
条件 |
只有当系统变量bkcmd为非0的时候才会返回指令执行成功或者失败数据。 |
格式 |
返回指令格式为 命令码(1字节)+参数(长度随命令码而不同)+结束符(2字节,\r\n) |
数据 |
所有指令名以及参数全部16进制数据,非ASCII数据,便于软件解析。 |
15. 通讯指令返回值介绍2
命令码 |
含义 |
格式 |
参数说明 |
---|---|---|---|
0x00 |
指令执行结果 |
执行结果代码 |
执行结果代码:1字节 |
说明: |
|||
0x01 |
整数返回 |
0x01+4字节整数+结束符 |
4字节整数:4字节小端模式存储,低字节在前 |
0x02 |
小数返回 |
0x02+4字节小数+结束符 |
4字节小数:4字节小端模式存储,低字节在前 |
0x03 |
字符串返回 |
0x03+字符串+结束符 |
字符串:GBK编码 |
返回结果包括客户发起的命令执行情况和需要返回的数据。执行情况即执行结果,需要返回的数据主要是取串口屏控件属性的值。值的类型为整数,小数,字符串。 |