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

目录点击这里查看所有博文一、前言学习过C语言的朋友应该很清楚(没有学过可以直接跳过前言,以下纯属闲聊),C语言入门第一课就是HelloWorld,下面的这段代码大家都不陌生#include <stdio.h...

目录

点击这里查看所有博文

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

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

一、前言

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

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

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

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

  1. tab1={}
  2. print(tab2.key1)
  3. print(tab2["key1"])
  4. print(tab2.key2)
  5. print(tab3[1])
  6. print(tab3[2])
  7. print(tab3[3])
  8. print(tab3[4])
  9. tab1.key1="www.baidu.com"
  10. print(tab1["key1"])
  11. print(tab1.key1)
  12. tab1["key2"]="haha"
  13. print(tab1["key2"])
  14. print(tab1.key2)

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

二、新建一个工程

1、创建文件

在一个自己能找到的地方,比如桌面,实际随便哪里都行,新建一个文件夹,命名为0_HelloWorld
在这里插入图片描述
进去新建一个文本文档命名为main.lua,注意后缀名,最好是.lua,不要是.txt,其他的后缀名我也没试过
在这里插入图片描述

2、编写程序

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

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

  1. --必须在这个位置定义PROJECTVERSION变量
  2. --PROJECTascii string类型,可以随便定义,只要不使用,就行
  3. --VERSIONascii string类型,如果使用Luat物联云平台固件升级的功能,必须按照"X.X.X"定义,X表示1位数字;否则可随便定义
  4. PROJECT = "LED"
  5. VERSION = "0.0.1"
  6. require "sys"
  7. --加载日志功能模块,并且设置日志输出等级
  8. --如果关闭调用log模块接口输出的日志,等级设置为log.LOG_SILENT即可
  9. require "log"
  10. LOG_LEVEL = log.LOGLEVEL_TRACE
  11. local function user_main()
  12. while true do
  13. print("Hello World")
  14. sys.wait(1000)
  15. end
  16. end
  17. --启动系统框架,下面不要随便动
  18. sys.taskInit(user_main)
  19. sys.init(0, 0)
  20. 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脚本在这里插入图片描述进入如下界面
在这里插入图片描述
点击添加脚本,添加刚才写的程序
在这里插入图片描述
点击下载脚本,会弹出如下界面
在这里插入图片描述
直接点击确定,下载器会自动完成脚本库的添加,并且进入下载状态
在这里插入图片描述
按下复位按钮,程序开始下载,等待下载完成
在这里插入图片描述
关闭下载界面,回到主界面,选择USB打印,并且打开端口在这里插入图片描述
系统会打印一些无关的消息,我们的Hello World就藏在里面
在这里插入图片描述
自己要是不想找的话,那就等一会,系统会逐渐停止抽搐
在这里插入图片描述直到满屏的Hello World出现,我们的第一个例程到此结束

  • 发表于 2020-02-12 23:50
  • 阅读 ( 3476 )
  • 分类:默认分类

0 条评论

请先 登录 后评论
不写代码的码农
陈夏

26 篇文章

作家榜 »

  1. 技术销售Delectate 43 文章
  2. 陈夏 26 文章
  3. 国梁 24 文章
  4. miuser 21 文章
  5. 晨旭 20 文章
  6. 朱天华 19 文章
  7. 金艺 19 文章
  8. 杨奉武 18 文章