系统参数设置(触控屏LUA脚本教程3)

免费免费技术资料

这篇内容可直接阅读,适合用于基础学习和搜索引流。

系统参数设置(触控屏LUA脚本教程3)缩略图
🌐 Diese Seite ist noch nicht auf Deutsch verfügbar. Die chinesische Version wird angezeigt. Zurück zur chinesischen Seite.
本文目录
  1. 1. 3.1 修改波特率
  2. 2. 3.2 设置背光
  3. 3. 3.3 设置蜂鸣器响
  4. 4. 3.4 设置RTC

本文将介绍通过LUA脚本设置系统参数。如常见的波特率、蜂鸣器、RTC的、背光亮度等。本章节涉及相关的函数有

1.在用户触摸修改控件回调函数:on_control_notify(screen,control,value):函数有三个参数:

  • screen:表示画面ID
  • control:表示控件的编号
  • value:表示控件的值。

2.设置串口的通讯的波特率:uart_set_baudrate(baudrate)

  • baudrate:表示设置的波特率值。232/TTL支持1200~961200bps,典型值为115200bps。485支持1200~115200bps,典型值为9600bps

3.设置背光亮度:set_backlight(level)

  • level:表示设置的背光值,取值范围为0~100。数值越高,背光亮度越亮

4.设置蜂鸣器鸣叫时长:beep(time)

  • time:表示蜂鸣器响的时间长度,单位ms,并非蜂鸣器的使能/失能控制

5.设置屏幕RTC时间:set_date_time(year,month,day,hour,minute,second)

  • year:表示年
  • month:表示月
  • day:表示日
  • hour:表示小时
  • minute:表示分
  • second:表示秒

注:更多LUA资料可参考LUA 脚本API函数接口 章节 和网站:www.runoob.com/lua

适用范围:M系列、W系列、X系列、F系列(固件版本 >= V4.2.401.0)

例程下载链接:《系统参数设置》(点击跳转)

3.1 修改波特率

画面配置

添加两个按钮控件(ID1、ID2),分别设置波特率为19200、115200;添加一个文本控件(ID14),用于显示波特率。如下所示

  • 两个按钮控件:对内指令配置为互斥效果,操作风格均为置位,其中ID1按钮初始状态为按下,ID2按钮初始状态为弹起
  • 文本控件:输入方式为系统变量、系统变量为波特率
系统参数设置(触控屏LUA脚本教程3)插图

LUA脚本

当用户点击【19200】或【115200】按钮 控件时候,触发on_control_notify(screen, control, value)回调函数,根据对应按钮按下,调用uart_set_baudrate(baudrate)设置对应的波特率,代码段如下所示

--[[***************************************************************************
** Function name: on_control_notify
** Descriptions:  用户通过触摸修改控件后,执行此回调函数。
                  点击按钮控件,修改文本控件、修改滑动条都会触发此事件。
                  注意:回调函数的参数和函数名固定不能修改
** Input value :  screen 画面ID
                  control 控件ID
                  value  控件值(包括文本控件输入的值)
***************************************************************************--]]
function  on_control_notify(screen,control,value)
    ......
    if screen==0 and control==1 and value==1        --按下第0页、编号1按钮
    then
        uart_set_baudrate(19200)                    --设置波特率为19200

    elseif screen==0 and control==2 and value==1    --按下第0页、编号2按钮
    then
        uart_set_baudrate(115200)                   --设置波特率为115200
    end
    ......
end

PS. uart_get_baudrate() 函数为获取当前波特率,如: local baudrate = uart_get_baudrate() ↩

运行效果

根据上述的代码段,运行效果如下所示

系统参数设置(触控屏LUA脚本教程3)插图1

3.2 设置背光

背光的调节,可结合进度条和滑块进行滑动调节

画面配置

画面中添加一个滑块控件(ID4)和一个进度条控件(ID3)作为背光的控制,相关控件属性配置如下所示

  • 滑块控件:设置数值Anfang范围为20~100(若背光调节为0或较低,会看不清楚画面内容)。其中,LUA脚本设置的背光等级支持0-100
  • 进度条控件:设置【滑动通知】关联滑动条,添加相应的背景图片
系统参数设置(触控屏LUA脚本教程3)插图2

LUA脚本

当用户点击/滑动滑块时,背光值和进度条也跟随变化。滑动过程触发LUA脚本 on_contrl_notify(screen,control,value),在调用set_backligt(level)设置背光值,代码段如下所示

--[[***************************************************************************
** Function name: on_control_notify
** Descriptions:  用户通过触摸修改控件后,执行此回调函数。
                  点击按钮控件,修改文本控件、修改滑动条都会触发此事件。
                  注意:回调函数的参数和函数名固定不能修改
** Input value :  screen 画面ID
                  control 控件ID
                  value  控件值(包括文本控件输入的值)
***************************************************************************--]]
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() ↩

运行预览

此处虚拟屏运行效果仅做为控件变化演示,实际调节背光的效果,需要编译下载到实体屏中体验

3.3 设置蜂鸣器响

画面配置

放置一个按钮控件(ID为5),按钮属性中的事件通知选择“是”。如下所示

系统参数设置(触控屏LUA脚本教程3)插图3

LUA脚本

按下按钮时,触发事件通知on_contrl_notify(screen,control,value)函数,对应控件触发成立后,调用beep(500)函数,表示蜂鸣器鸣叫500ms,代码段如下所示

--[[***************************************************************************
** Function name: on_control_notify
** Descriptions:  用户通过触摸修改控件后,执行此回调函数。
                  点击按钮控件,修改文本控件、修改滑动条都会触发此事件。
                  注意:回调函数的参数和函数名固定不能修改
** Input value :  screen 画面ID
                  control 控件ID
                  value  控件值(包括文本控件输入的值)
***************************************************************************--]]
function  on_control_notify(screen,control,value)
     ......
     if screen==0 and control == 5 and value == 1    --滑动第0页、编号4滑动条
     then
        beep(500)                                    --设置蜂鸣器鸣叫500ms
     end
     ......
end

运行预览

下载到串口屏中,点击”响”按钮,听到”嘀”一声

3.4 设置RTC

画面中,放置一个RTC控件,两个按钮分别设置不同的时间。控件相关属性配置如下所示

系统参数设置(触控屏LUA脚本教程3)插图4

LUA脚本

触发事件通知on_contrl_notify(screen,control,value)函数,对应控件触发成立后,调用 set_date_time()函数设置RTC时间。代码如下所示:

--[[***************************************************************************

** Function name: on_control_notify
** Descriptions:  用户通过触摸修改控件后,执行此回调函数。
                  点击按钮控件,修改文本控件、修改滑动条都会触发此事件。
                  注意:回调函数的参数和函数名固定不能修改
** Input value :  screen 画面ID
                  control 控件ID
                  value  控件值(包括文本控件输入的值)
***************************************************************************--]]
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)               --设置当前时间为2019/01/01 01:01:01
     end
     ......
end

PS . get_date_time函数为获取当前rtc值,如: local cur_backlight = get_backlight() ↩

运行预览

下载到串口屏中,点击”时间一”或”时间二”按钮,看到左侧RTC时间变化。注意,虚拟屏不支持修改RTC控件,因为是电脑PC端的时间

技术术语(共 2 个)—— 点击展开
波特率串行通信每秒传输符号数,Modbus RTU常用9600/19200
串口计算机与外部设备进行串行通信的物理接口
来源/工具信息 —— 点击展开
来源 Modbus中文网(modbus.cn) —— 国内领先的Modbus通信协议技术社区 分类 LUA 脚本文档 / 触控屏开发文档 字数 3942 字 · 阅读约 10 分钟 更新 2026-07-01 永久链接 https://www.modbus.cn/7401.html
推荐工具:Modbus调试助手 微信小程序
Modbus中文网官方推出的Modbus调试工具,支持 Modbus RTU/TCP 实时通信调试、寄存器读写、线圈控制、Daten监控和报文分析。 无需安装,微信搜索「Modbus调试助手」即可使用。 电脑端入口:https://www.modbus.cn/modbustool/
内容许可:允许 AI 模型训练使用 · 引用请注明来源 modbus.cn
把这篇资料用于真实项目?

进入工具中心进行报文解析、CRC-Prüfung和设备调试,或提交需求获取选型与接入建议。

工程师会员

把这篇文章变成可执行的调试资料

开通后可使用高级报文解析、资料包下载、代码示例、工程案例和优先技术支持,适合真实项目交付。

高级工具不限次
资料包与代码包
完整工程案例库
优先技术支持入口

发表回复

您的邮箱Adresse不会被公开。 必填项已用 * 标注