LUA教程9-自定义串口指令
Posted 大彩科技
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LUA教程9-自定义串口指令相关的知识,希望对你有一定的参考价值。
关注↑↑↑我们获得更多精彩内容!
自定义串口指令-视频教程演示
1.VisualTFT软件版本:V3.0.0.944及以上的版本。
-
打开VisualTFT软件启动页面如图2‑1软件版本,右上角会显示的软件版本号;
-
打开VisualTFT,在软件右下角可以查看软件版本图2‑2软件版本,
最新版本可登录http://www.gz-dc.com/进行下载。
图 2‑2 软件版本
2. 串口屏硬件版本:V3.0.301.0 及以上的版本。
b) VisualTFT与屏幕联机成功后,右下角显示的版本号。
3. LUA语言版本V5.5。
物联型可以通过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
3. LUA脚本初学者可以通过下面链接进行学习。
http://www.runoob.com/lua/lua-arrays.html
本章节主要讲述通过LUA实现自定义串口指令设置按钮按下、设置文本、设置蜂鸣器响。并在按下按钮或通过键盘输入数据后发送自定义指令。本文将分为以下是4个阶段讲述教程DEMO是如何实现的:
-
-
-
-
5.1 工程准备
5.1.1 硬件平台
该例程使用大彩物联型7寸DC80480W070为验证开发平台。如图 5‑1所示。
5.1 素材准备
图 5‑2 素材准备
5.1.3 LUA编辑器
上位机VisualTFT内部已集成了LUA开发编译环境,点击菜单栏工具,选择LUA编辑器,如图 5‑3所示。
5.2 API函数说明
大彩科技针对LUA脚本提供了丰富的API接口函数,具体函数可以查阅文档《大彩组态串口屏LUA 脚本API》,如图 5‑5所示。
1. 函数on_control_notify(screen,control,value)
注释:此函数可以在用户触摸修改控件后被回调。函数有三个参数:
2. 函数on_uart_recv_data(packet),baudrate表示设置的波特率值。
3. 函数uart_set_timeout(timeout,timeout_inter)
注释:此函数可以在用户触摸修改控件后被回调。函数有两个参数:
4. 函数beep(time),time表示蜂鸣器响的时间长度,单位ms。
5. 函数set_value(screen,control,value)
6. 函数set_text(screen,control,text)
7. 函数uart_send_data(packet),packet表示数据,数据类型:表。
8. 函数get_text(screen,control)
9. 函数string.len(arg),arg表示字符串。
10. 函数string.byte(arg[,int])
注释:转换字符为整数值(可以指定某个字符,默认第一个字符)。
注:更多API函数请参考文档《物联型LUA脚本API_V1.0》和网站:www.runoob.com/lua
5.3 教程实现过程
串口屏中使用自定义串口指令,通过发送自定义的指令可以设置按钮按下、设置文本、设置蜂鸣器响。并在按下按钮或通过键盘输入数据后发送自定义指令。教程中每个功能的实现步骤如下:
-
-
-
5.3.1 设置自定义串口
首先因为在实体屏中数据传输需要时间,所以在LUA脚本中设置串口接受超时时间,如程序清单 5‑1。
然后,设置uart_free_protocol为1即进入自由串口协议,如程序清单 5‑2。
把程序编写入软件的LUA编辑器中,如图 5‑6所示。
5.3.2 设置按钮状态
-
在工程中设置一个按钮,如需要在状态改变有效果,可以设置按下图片并选择裁剪,如图5‑6。
2.然后在串口函数接收到A1 0101 1A指令时使按钮按下,如程序清单5‑3。
3.虚拟运行,当接收到A1 0101 1A指令时,按钮设置为按下状态,如图5‑7所示。
图 5‑7 设置按钮按下
5.3.3 设置文本内容
设置一个文本框,如图 5‑8。
图 5‑8 设置文本框
2.然后在串口函数接收到A1 02XX 1A指令时设置文本值为XX,如程序清单 5‑4。
程序清单5‑4设置文本框的数值
3.虚拟运行,接收到指令时,设置文本框的值,如图 5‑9所示。
5.3.4 设置蜂鸣器响
在串口函数接收到A1 03 XX1A指令时设置响为XX毫秒,如程序清单 5‑5。
程序清单5‑5设置蜂鸣器响
5.3.5 发送按钮指令
在设置一个按钮,事件通知选择是,再设置按下图片并选择裁剪,操作风格选择瞬变,如图 5‑10。
2.在触摸控件回调函数中设置按下按钮是发送指令A1 04 01 1A,如程序清单5‑6。
3.虚拟运行,按下按钮时,发送A1 0401 1A指令,如图5‑11所示。
5.3.6 发送键盘输入内容
-
在设置一个文本框,文本框属性的键入方式选择弹出系统键盘输入,输入方式选择全键盘,如图 5‑12所示。
2.在触摸控件回调函数中设置键盘输入完成后是发送指令A1 05 XX 1A,XX表示键盘输入的内容,如程序清单5‑7所示。
虚拟运行,键盘输入完成后发送键盘输入的内容,如图 5‑13所示。
5.4 编译和下载
在我司的上层软件Visual TFT中集成了LUA程序的编译器,可以实现在编译工程的同时将LUA脚本程序一起编译,并且将编译后的图片和程序集合在一个名为DCIOT.PKG的文件中。编译后只需要把DCIOT.PKG文件拷贝到U盘中,接上串口屏并重新上电即可将图片和程序下载到屏中。
自定义串口指令demo的完整程序,如程序清单 8所示,查看程序时请结合教程demo理解:
●编辑:肖水兰
官网:www.gz-dc.com
淘宝:gz-dc.taobao.com
以上是关于LUA教程9-自定义串口指令的主要内容,如果未能解决你的问题,请参考以下文章
必看!LuatOS自定义C库全新教程,一文极速上手
必看!LuatOS自定义C库全新教程,一文极速上手
本篇更完ESP 保姆级教程 疯狂传感器篇 —— 案例:ESP8266 + 火焰传感器 + 串口输出 + 自定义微信告警(火警预防)
ESP 保姆级教程疯狂传感器篇 —— 案例:ESP8266 + 火焰传感器 + 串口输出 + 自定义飞书告警(火警预防)
vue3.0 如何自定义指令
vue3.0 如何自定义指令