指令集说明
0.术语
attr:表示控件属性、系统变量属性、自定义变量的名称
pagename: 表示页面名
widname: 表示控件名
id: 表示页面id、控件id、资源id(音频、图片)。数值类型
str: 表示常量字符串
1.page(页面切换)
- 发送格式 :page(pagename | id)
参数说明:
pagename | id:页面名称或页面数值ID
举例:
page(1):切换到ID为1的页面(不推荐此方法,工程编辑时可能会拖动页面调整页面顺序)
page(main):切换到页面名称为main的页面(推荐此方法)
- 返回格式 :
无
提示
脚本中,执行了page()指令,后续的代码将不会执行
page()指令不能切换到屏保页面,会报“页面ID无效”警告
2.get(获取属性)
- 发送格式 :get(attr)
参数说明:
attr: 可以为控件属性名称、系统变量名称、其他变量名称、常量数值
举例:
get(btn0.x): 获取控件btn0.x属性的值
get(sys.bl): 获取系统变量sys.bl的值
get(123) : 获取123
get(btn0.txt) : 获取控件btn0的文本值,即字符串
- 返回格式-getn:100 -gets:btntxt
返回结果为数值型:-getn:100
返回结果为字符串型:-gets:btntxt
3.play(播放音乐)
发送格式 :play(str | id, mode)
参数说明:
str | id: str字符串,如”/test.ATKA”(播放TF卡里面的资源)、id,如0(播放添加工程里ID为0音乐)
mode: 0-播放一遍 1-循环播放
举例:
play(0, 1) : 播放工程资源里面ID为0的音乐,循环播放
play(“/test.ATKA”, 0) : 播放TF卡根目录下,test.ATKA音乐,播放一遍
- 返回格式 :
无
提示
play()指令可以直接播放音乐,无需页面添加音频控件
调用play()指令后,可调用系统变量sys.audio来控制播放和暂停
串口屏同一时刻仅支持播放一个音频(音频和视频共享)
使用play()指令和页面添加音频控件播放的区别:音频控件和play()指令的区别
4.move(移动控件)
- 发送格式 :move(widname | id, x0, y0, x1, y1, time, mode)
参数说明:
widname | id: 控件名或控件id
x0: 移动的起始坐标x
y0: 移动的起始坐标y
x1: 结束坐标x
y1: 结束坐标y
time: 移动时间(单位毫秒)
mode:移动方式,范围:0-5
值
移动方式
0
线性
1
缓入
2
缓出
3
缓入缓出
4
过冲
5
反弹
举例:
move(1, 10, 10, 100, 100, 300, 0) : 移动当前页面第1个控件,线性移动
move(btn1, 10, 10, 100, 100, 300, 5) : 移动当前页面控件名为btn1的控件,反弹方式
- 返回格式 :
无
- 说明:
只能移动当前页面的控件
页面、屏保、系统键盘等不能移动
5.click(激发控件事件)
- 发送格式click(widname | id, event)
参数说明:
widname | id: 控件名或控件id
event: 0-激活弹起事件 1-激活按下事件
举例:
click(1, 0) : 激活当前页面控件ID为1的弹起事件
click(btn1, 1) : 激活当前页面控件名为btn1的控件的按下事件
- 返回格式 :
无
提示
当前事件脚本,只允许调用不超过10次click指令
click指令和其他指令不同,它先缓存指令,执行完当前事件脚本之后再依次执行click指令
click不能激活自己,否则执行过程返回警告。因为click激活自己会造成死循环
6.vis(隐藏控件)
- 发送格式vis(widname | id, state)
参数说明:
arwidname | id: 控件名或控件id
state: 0-隐藏 1-显示
举例:
vis(1, 0) : 隐藏当前页面控件ID为1的控件
vis(btn1, 1) : 激活当前页面控件名为btn1的控件
- 返回格式 :
无
7.cadd(曲线添加数据)
- 发送格式cadd(widname | id, ch, value)
参数说明:
arwidname | id: 控件名或控件id(仅支持曲线控件的名称,否则报错)
ch: 通道0-3
value: 值 (0~255)
举例:
cadd(chart0, 2, 100) : 给chart0曲线控件的通道2,添加一个数据,值为100
- 返回格式 :
无
8.covx(变量类型转换)
- 发送格式covx(attr0, attr1, lenth, format)
参数说明:
attr0: 源变量
attr1: 目标变量
lenth: 字符串的长度(0为自动长度,非0为固定长度)
format: 目前未使用,设为0即可
举例:
covx(h0.val, btn0.txt, 0, 0) : 将滑块控件h0的值,数值转换为字符串并赋值给btn0.txt
covx(btn0.txt, h0.val, 0, 0) : 将btn0.txt的数值字符串转换为数值,并赋值给h0.val
- 返回格式 :
无
- 说明 :
源变量为数值型变量时,目标变量必须是字符串型变量。
相反,源变量为字符串型时,目标变量必须是数值型。
9.reset(复位)
- 发送格式reset()
参数说明:无参数
举例:
reset() : 复位屏幕
- 返回格式 :
无
10.ack(握手)
- 发送格式ack()
参数说明:无参数
举例:
ack(): 和串口屏握手
- 返回格式 :
-ack
11.rtcs(设置RTC时间)
- 发送格式rtcs(year, month, mday, hour, min, sec)
参数说明:
year: 年,设置范围2000-2099
month: 月,范围1-12
mday: 日,范围1-31
hour: 时,范围0-23
min: 分,范围0-59
sec: 秒,范围0-59
举例:
rtcs(2022, 10, 20, 17, 20, 0) : 设置时间给RTC芯片,RTC控件时间使用该指令校准时间
- 返回格式 :
无
注意
输入的参数一定要在范围内,否则设置不成功!返回-war:131警告
12.beep(激活蜂鸣器)
- 发送格式beep(time, frequency)
参数说明:
time: 激活时间,单位毫秒
frequency: 频率,单位hz
举例:
beep(300, 1000) : 激活蜂鸣器300毫秒,频率1000hz
- 返回格式 :
无
13.version(获取固件版本)
- 发送格式version()
参数说明:无参数
举例:
version() : 获取版本号,返回版本号字符串
- 返回格式 :
-version:V1.2.9
14.randset(设置随机数范围)
- 发送格式randset(min, max)
参数说明:无参数
min: 最小值, int32_t类型
max: 最大值,int32_t类型
举例:
randset(0, 100) : 设置系统变量随机数(sys.rand)属性的范围,0-100。
- 返回格式 :
无
15.cclear(曲线清除数据)
- 发送格式cclear(widname | id, ch)
参数说明:
arwidname | id: 控件名或控件id(仅支持曲线控件的名称,否则报错)
ch: 通道0-3
举例:
cclear(chart0, 0) : 清除chart0曲线控件通道0的数据,即清除波形
- 返回格式 :
无
16.caddt(曲线透传添加数据)
- 发送格式caddt(widname | id, ch, points)
参数说明:
arwidname | id: 控件名或控件id(仅支持曲线控件的名称,否则报错)
ch: 通道0-3
points: 透传的点数 范围:0-1024
举例:
caddt(chart0, 0, 100) // 设置设备串口进入透传状态,然后给chart0曲线控件通道0一次性添加100个点
- 返回格式 :
-caddt:start // 表示设备已进入透传状态,用户可以开始发送波形数据
-caddt:end // 设备退出透传状态(传输完成points个点,或5秒内设备没接收到数据)
- 说明 :
发送caddt指令后,设备串口进入透传状态(不解析数据,直接将接收的数据发送给曲线控件的指定通道)
当设备接收完points个点后或5秒内没接收到数据,设备串口退出透传状态。
退出透传状态,设备返回:-caddt:end
17.prints(发送字符串数据)
- 发送格式 :prints(“fmt”, …) // 用法和C语言printf一模一样
参数说明:
fmt: 格式化字符串(必须带双引号)
…: 可变参数(最多支持9个参数)
举例:
prints(“123”): 发送字符串“123”
prints(“b0.x=%d”, b0.x) : 如b0.x=100,发送字符串“b0.x=100”
prints(“str=%s”, b0.txt.str) : 如b0.txt.str=”Btn”,发送字符串“str=Btn”
- 返回格式 :
发送:prints(“123”), 返回:-prints:123
发送:prints(“b0.x=%d”, b0.x) 返回:-prints:b0.x=100
发送:prints(“str=%s”, b0.txt.str) 返回:-prints:str=Btn
注解
用法和C语言printf一模一样,只不过可变参数仅支持9个
注意参数类型和格式化类型一定要匹配!如:prints(“%d”, b0.txt.str),输出可能是0。
此指令通常用在串口屏发送给设备,而非设备发给串口屏
18.printh(发送十六进制数据)
- 发送格式 :printh(hex)
参数说明:
hex: 十六进制数据,如:aa ff 01
举例:
printh(aa ff 01): 发送十六进制数据: aa ff 01
- 返回格式 :
无
注解
hex: aa ff 01。写法:必须是两位的十六进制格式,且每个数据之间间隔一个空格
hex: 最多可以发送256个数据
此指令通常用在串口屏发送给设备,而非设备发给串口屏
19.get_sdsize(获取SD卡剩余空间)
- 发送格式 get_sdsize()
参数说明:
无
举例:
get_sdsize(): 获取SD卡容量信息
- 返回格式 :
-get_sdsize: remain = 2878996kb; // 获取SD 剩余空间,单位kb
- 注意:
必需先插上了SD卡再上电,才能读到剩余空间,否则读出来是0kb。