LUA教程4- 定时器的使用
Posted 大彩科技
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LUA教程4- 定时器的使用相关的知识,希望对你有一定的参考价值。
点击关注了解更多精彩内容!!
定时器的使用-视频教程演示
1.VisualTFT软件版本:V3.0.0.944及以上的版本。
版本查看:
打开VisualTFT软件启动页面如图2‑1软件版本,右上角会显示的软件版本号;
-
打开VisualTFT,在软件右下角可以查看软件版本图2‑2软件版本,
最新版本可登录http://www.gz-dc.com/进行下载。
2. 串口屏硬件版本:V3.0.301.0 及以上的版本。
-
-
VisualTFT与屏幕联机成功后,右下角显示的版本号。
物联型可以通过LUA脚本配合工程完成丰富多样的操作。
本文将介绍在LUA脚本中使用定时器循环设置按钮的状态。在按下按钮后,定时器启动,定时器以设定的时间为标准,循环设置灯亮/灭。
1.《物联型LUA 脚本API_v1.0》 可通过以下链接下载物联型开发包获取:
http:/www.gz-dc.com/index.php?s=/List/index/cid/19.html
2.《LUA基础学习》 可通过以下链接下载物联型开发包获取:
http:/www.gz-dc.com/index.php?s=/List/index/cid/19.html
http://www.runoob.com/lua/lua-arrays.html
本章节主要讲述通过LUA实现循环计时,并在超时回调函数中设置灯循环亮/灭。本文将分为以下是4个阶段讲述教程DEMO是如何实现的:
工程准备,
工程配置与功能,
LUA编写及调试,
下载与运行。
-
-
-
5.1.1 硬件平台
该例程使用大彩物联型7寸DC80480W070为验证开发平台。如图 5‑1所示。
5.1.2 素材准备
5.1.3 LUA编辑器
上位机VisualTFT内部已集成了LUA开发编译环境,点击菜单栏工具,选择LUA编辑器,如图 5‑3所示。
图5‑3打开LUA编辑器
LUA编辑器的开发环境,如图 5‑4所示。
5.2 API函数说明
大彩科技针对LUA脚本提供了丰富的API接口函数,具体函数可以查阅文档《大彩组态串口屏LUA 脚本API》,如图 5‑5所示。
本教程文档中所涉及到的部分的相关接口函数
1. 函数on_control_notify(screen,control,value)
注释:此函数可以在用户触摸修改控件后被回调。函数有三个参数:
注释:此函数可以在定时器超时后被回调。函数有一个参数:
3. 函数start_timer(timer_id, timeout,countdown, repeat)
timer_id表示定时器ID,0~31
timeout表示超时时间,单位毫秒
countdown表示计时的方向,0顺计时,1 倒计时
4. 函数
stop_timer(timer_id),timer_id表示定时器ID。
5. 函数
set_value(screen,control,value)
注:更多API函数请参考文档《物联型LUA脚本API_V1.0》和网站:www.runoob.com/lua
5.3 教程实现过程
本例主要展示通过定时器设置灯循环亮/灭,教程中功能的实现步骤如下:
-
-
-
5.3.1 定时器的使用
1.首先,设置一个按钮用来控制定时器的开关,事件通知选择是。如果在按下时需要有效果,就要选择按下时的图片效果,并勾选上裁剪。操作风格选择开关。如图5‑6。
在工程中可以选择按钮或者图标来模拟灯。
本文使用按钮来模拟。
设置一个按钮,因为灯有两种状态,所有需要两张图片分别表示亮和灭。
使用灯灭的图片作页面背景图。
在按下时的图片处选择灯亮的图片并勾选裁剪。
如图 5‑7。
2.按下按钮时,触发事件通知,LUA脚本中的if判断成立,执行函数start_timer(...),启动定时器。如程序清单5‑1所示。
定时器开启后,超时就会进入回调函数on_timer(...),在回调函数中循环设置灯的状态。
如程序清单 5‑2。
把程序编写入软件的LUA编辑器中,如图 5‑8所示。
3.运行虚拟屏,点击"19200"和"115200"按钮即可设置波特率,如图5‑9和图5‑10所示。
图 5‑9 虚拟运行,灯亮
5.4 编译和下载
在我司的上层软件Visual TFT中集成了LUA程序的编译器,可以实现在编译工程的同时将LUA脚本程序一起编译,并且将编译后的图片和程序集合在一个名为DCIOT.PKG的文件中。编译后只需要把DCIOT.PKG文件拷贝到U盘中,接上串口屏并重新上电即可将图片和程序下载到屏中。
●编辑:肖水兰
官网:www.gz-dc.com
淘宝:gz-dc.taobao.com
以上是关于LUA教程4- 定时器的使用的主要内容,如果未能解决你的问题,请参考以下文章
记录——时间轮定时器(lua 实现)
lua实现定时器
记录——时间轮定时器(lua 实现)
ESP8266 LUA脚本语言开发: 外设篇-定时器,延时,看门狗
停止 Lua 中的所有计时器(Garry's Mod)
韦东山freeRTOS系列教程之第十章软件定时器(software timer)