- 1. 3.1 修改Baud rate
- 2. 3.2 设置背光
- 3. 3.3 设置蜂鸣器响
- 4. 3.4 设置RTC
本文将介绍通过LUAScript设置system参数。如常见的Baud rate、蜂鸣器、RTC的、背光Brightness等。本章节涉及Related的函数有
1.在用户触摸修改控件回调函数:on_control_notify(screen,control,value):函数有三个参数:
- screen:表示画面ID
- control:表示控件的编号
- value:表示控件的值。
2.设置串口的通讯的Baud rate:uart_set_baudrate(baudrate)
- baudrate:表示设置的Baud rate值。232/TTL支持1200~961200bps,典型值为115200bps。485支持1200~115200bps,典型值为9600bps
3.设置背光Brightness:set_backlight(level)
- level:表示设置的背光值,取值范围为0~100。numerical value越高,背光Brightness越亮
4.设置蜂鸣器鸣叫时长:beep(time)
- time:表示蜂鸣器响的timeLength,单位ms,并非蜂鸣器的使能/失能控制
5.设置屏幕RTCtime:set_date_time(year,month,day,hour,minute,second)
- year:表示年
- month:表示月
- day:表示日
- hour:表示小时
- minute:表示分
- second:表示秒
注:MoreLUAResources可参考LUA scriptAPI函数Interface 章节 和Website:www.runoob.com/lua
适用范围:M系列、W系列、X系列、F系列(固件版本 >= V4.2.401.0)
例程Download链接:《system参数设置》(点击跳转)
3.1 修改Baud rate
画面配置
添加两个button控件(ID1、ID2),分别设置Baud rate为19200、115200;添加一个Text控件(ID14),用于显示Baud rate。如下所示
- 两个button控件:对内指令配置为互斥效果,Operation风格均为置位,其中ID1button初始状态为按下,ID2button初始状态为弹起
- Text控件:输入方式为system变量、system变量为Baud rate

LUAScript
当用户点击【19200】或【115200】button 控件时候,触发on_control_notify(screen, control, value)回调函数,根据对应button按下,调用uart_set_baudrate(baudrate)设置对应的Baud rate,代码段如下所示
--[[***************************************************************************
** Function name: on_control_notify
** Descriptions: 用户通过触摸修改控件后,执行此回调函数。
点击button控件,修改Text控件、修改滑动条都会触发此事件。
注意:回调函数的参数和函数名固定不能修改
** Input value : screen 画面ID
control 控件ID
value 控件值(包括Text控件输入的值)
***************************************************************************--]]
function on_control_notify(screen,control,value)
......
if screen==0 and control==1 and value==1 --按下第0页、编号1button
then
uart_set_baudrate(19200) --设置Baud rate为19200
elseif screen==0 and control==2 and value==1 --按下第0页、编号2button
then
uart_set_baudrate(115200) --设置Baud rate为115200
end
......
end
PS. uart_get_baudrate() 函数为获取当前Baud rate,如: local baudrate = uart_get_baudrate() ↩
运行效果
根据上述的代码段,运行效果如下所示

3.2 设置背光
背光的调节,可结合progress bar和滑块进行滑动调节
画面配置
画面中添加一个滑块控件(ID4)和一个progress bar控件(ID3)作为背光的控制,Related控件属性配置如下所示
- 滑块控件:设置numerical valuestart范围为20~100(若背光调节为0或较低,会看不清楚画面内容)。其中,LUAScript设置的背光等级支持0-100
- progress bar控件:设置【滑动通知】关联滑动条,添加相应的背景图片

LUAScript
当用户点击/滑动滑块时,背光值和progress bar也跟随变化。滑动过程触发LUAScript on_contrl_notify(screen,control,value),在调用set_backligt(level)设置背光值,代码段如下所示
--[[***************************************************************************
** Function name: on_control_notify
** Descriptions: 用户通过触摸修改控件后,执行此回调函数。
点击button控件,修改Text控件、修改滑动条都会触发此事件。
注意:回调函数的参数和函数名固定不能修改
** Input value : screen 画面ID
control 控件ID
value 控件值(包括Text控件输入的值)
***************************************************************************--]]
function on_control_notify(screen,control,value)
......
if screen==0 and control == 4 --滑动第0页、编号4滑动条
then
set_backlight(value) --设置背光为value
end
......
end
PS . get_backlight 函数为获取当前背光值,如: local cur_backlight = get_backlight() ↩
运行预览
此处虚拟屏运行效果仅做为控件变化演示,实际调节背光的效果,需要编译Download到实体屏中体验
3.3 设置蜂鸣器响
画面配置
放置一个button控件(ID为5),button属性中的事件通知选择“是”。如下所示

LUAScript
按下button时,触发事件通知on_contrl_notify(screen,control,value)函数,对应控件触发成立后,调用beep(500)函数,表示蜂鸣器鸣叫500ms,代码段如下所示
--[[***************************************************************************
** Function name: on_control_notify
** Descriptions: 用户通过触摸修改控件后,执行此回调函数。
点击button控件,修改Text控件、修改滑动条都会触发此事件。
注意:回调函数的参数和函数名固定不能修改
** Input value : screen 画面ID
control 控件ID
value 控件值(包括Text控件输入的值)
***************************************************************************--]]
function on_control_notify(screen,control,value)
......
if screen==0 and control == 5 and value == 1 --滑动第0页、编号4滑动条
then
beep(500) --设置蜂鸣器鸣叫500ms
end
......
end
运行预览
Download到HMI中,点击”响”button,听到”嘀”一声
3.4 设置RTC
画面中,放置一个RTC控件,两个button分别设置不同的time。控件Related属性配置如下所示

LUAScript
触发事件通知on_contrl_notify(screen,control,value)函数,对应控件触发成立后,调用 set_date_time()函数设置RTCtime。代码如下所示:
--[[***************************************************************************
** Function name: on_control_notify
** Descriptions: 用户通过触摸修改控件后,执行此回调函数。
点击button控件,修改Text控件、修改滑动条都会触发此事件。
注意:回调函数的参数和函数名固定不能修改
** Input value : screen 画面ID
control 控件ID
value 控件值(包括Text控件输入的值)
***************************************************************************--]]
function on_control_notify(screen,control,value)
......
if screen==0 and control == 6 and value == 1 --滑动第0页、编号4滑动条
then
set_date_time(2019,1,1,1,1,1) --设置当前time为2019/01/01 01:01:01
end
......
end
PS . get_date_time函数为获取当前rtc值,如: local cur_backlight = get_backlight() ↩
运行预览
Download到HMI中,点击”time一”或”time二”button,看到左侧RTCtime变化。注意,虚拟屏不支持修改RTC控件,因为是电脑PC端的time
Leave a Reply