• 欢迎大家分享资料!前往留言板评论即可!

2、合宙Air模块Luat开发:第一个Luat的Hello World

合宙 模组资料网 5个月前 (05-15) 69次浏览 已收录 0个评论 扫描二维码
文章目录[隐藏]

目录

点击这里查看所有博文

本系列博客,理论上适用于合宙的Air202、Air268、Air720x、Air720S以及最近发布的Air720U(我还没拿到样机,应该也能支持)。

先不管支不支持,如果你用的是合宙的模块,那都不妨一试,也许会有意外收获
我使用的是Air720SL模块,如果在其他模块上不能用,那就是底层core固件暂时还没有支持,这里的代码是没有问题的。例程仅供参考!

一、前言

学习过C语言的朋友应该很清楚(没有学过可以直接跳过前言,以下纯属闲聊),C语言入门第一课就是HelloWorld,下面的这段代码大家都不陌生

#include <stdio.h>
int main() {
    printf("hello world!\n");
    system("pause");
    return 0;
}

在c语言里,想要使用printf函数就需要包含#include <stdio.h>
想要程序能够运行,那需要有main函数,程序以main函数作为程序入口,开始执行

而Lua是一个脚本语言,相比C语言要少了很多限制,它可以不需要main函数,甚至参数可以不用定义,直接使用,系统会根据里面的值,自动创建一个对应的变量存储它,用起来十分方便。
直接写一个str=“abc”系统会自动给这个数据创建一个String类型的变量存储
直接写一个str=123系统会自动给这个数据创建一个Number类型的变量存储
开始运行时直接从上到下顺序执行(下面这段程序,是我随便打出来的,没有什么实际意义)

tab1={}
print(tab2.key1)
print(tab2["key1"])
print(tab2.key2)
print(tab3[1])
print(tab3[2])
print(tab3[3])
print(tab3[4])
tab1.key1="www.baidu.com"
print(tab1["key1"])
print(tab1.key1)
tab1["key2"]="haha"
print(tab1["key2"])
print(tab1.key2)

我们这里也不例外,我选择将HelloWorld作为本系列教程的第一个程序,
闲话扯了这么多,下面开始正式我们的Helloworld例程

二、新建一个工程

1、创建文件

在一个自己能找到的地方,比如桌面,实际随便哪里都行,新建一个文件夹,命名为0_HelloWorld
2、合宙Air模块Luat开发:第一个Luat的Hello World
进去新建一个文本文档命名为main.lua,注意后缀名,最好是.lua,不要是.txt,其他的后缀名我也没试过
2、合宙Air模块Luat开发:第一个Luat的Hello World

2、编写程序

双击main.lua打开复制如下代码,然后保存

这里有些朋友可能会说,你刚才在前言上面不是说可以不用main函数吗,这里怎么有个user_main()
没错确实可以不用main函数,不信等会你测试完成我的代码后,可以自己试,不会有任何问题
我这里利用系统任务创建了一个main函数,可能是因为我有强迫症吧
我个人觉得lua虽然可以直接写程序,但是文件一多,程序就显得比较乱
这是我的个人原因,我习惯有一个函数能够统一运行用户程序代码,以后的教程我放出来的程序都会是这个程序格式
可以将下面这段程序理解为一个工程模板,以后的程序我都是在这个模板上面改的

--必须在这个位置定义PROJECT和VERSION变量
--PROJECT:ascii string类型,可以随便定义,只要不使用,就行
--VERSION:ascii string类型,如果使用Luat物联云平台固件升级的功能,必须按照"X.X.X"定义,X表示1位数字;否则可随便定义
PROJECT = "LED"
VERSION = "0.0.1"
require "sys"
--加载日志功能模块,并且设置日志输出等级
--如果关闭调用log模块接口输出的日志,等级设置为log.LOG_SILENT即可
require "log"
LOG_LEVEL = log.LOGLEVEL_TRACE


local function user_main()
    while true do
        print("Hello World")
        sys.wait(1000)
    end
end

--启动系统框架,下面不要随便动
sys.taskInit(user_main)
sys.init(0, 0)
sys.run()

这个程序的主逻辑很简单,在一个死循环里面while true do不停的做print("Hello World")输出,然后延时1000ms,继续循环

  • print(“Hello World”):输出函数
  • sys.wait(1000):阻塞延时函数单位毫秒
  • sys.taskInit(user_main):创建一个任务,这里创建的是user_main()
  • sys.init(0, 0):系统框架初始化
  • sys.run():系统开始运行

3、下载脚本

打开LuaTools(不知道这是什么东西的,去看我的第一篇博客1、Air720SL模块Luat开发:环境搭建,从本文的目录处可找到入口)
在这里插入图片描述
点击右边蓝色按钮下载Lua脚本2、合宙Air模块Luat开发:第一个Luat的Hello World进入如下界面
在这里插入图片描述
点击添加脚本,添加刚才写的程序
在这里插入图片描述
点击下载脚本,会弹出如下界面
在这里插入图片描述
直接点击确定,下载器会自动完成脚本库的添加,并且进入下载状态
在这里插入图片描述
按下复位按钮,程序开始下载,等待下载完成
2、合宙Air模块Luat开发:第一个Luat的Hello World
关闭下载界面,回到主界面,选择USB打印,并且打开端口2、合宙Air模块Luat开发:第一个Luat的Hello World
系统会打印一些无关的消息,我们的Hello World就藏在里面
在这里插入图片描述
自己要是不想找的话,那就等一会,系统会逐渐停止抽搐
在这里插入图片描述直到满屏的Hello World出现,我们的第一个例程到此结束


喜欢 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址