美文网首页Luat开源硬件
LuaTask教程之Hello World

LuaTask教程之Hello World

作者: Luat物联网通信模块 | 来源:发表于2018-03-23 13:21 被阅读64次

某程序员退休后决定练习书法,于是重金购买文房四宝。一日,饭后突生雅兴,一番研墨拟纸,并点上上好檀香。定神片刻,泼墨挥毫,郑重地写下一行字:hello world!

上一章讲到如何验证开发板,使用的是官方提供的固件和脚本。本章先不讲Luat的运行原理,先写个Hello World压压惊。

在此之前必须先理解几个名词:

底层软件,也叫基础软件(core),基础软件编译后的文件称为lod。底层lod,不同功能不同lod,合宙官方提供,详见core文件中。用C语言开发完成,内嵌了Lua虚拟机,支持上层软件的运行。参见模块固件版本

上层软件(script),二次开发部分,详见script。文件采用 Lua 脚本语言开发,是模块的应用例程源码。脚本分为两部分:Lib和demo。其中:

​ Lib中是库文件,对AT命令封装成API,lib 实现公用的服务,比如sms,call,audio,mqtt,gps等等;

​ 脚本:开发者二次开发的代码,自行编写。demo代码合宙官方提供的一些常用接口的脚本例程,用户可以在demo基础上修改糅合,实现自己的业务功能。

基础软件和上层软件,两部分软件缺一不可,一起运行于模块之中,完成各种功能和应用。

量产工具:用于工厂生产和远程升级。

画了一张图来描述几者之间的关系:

image

接下来进入正题:

1、从https://github.com/openLuat/Luat 下载源码

2、目录结构如下:

image

core:存放基础软件

demo:一些例子

doc:说明文档

drive:第三方模块驱动

img:存放lcd显示的图片

lib:库文件

mp3:存放播放的音乐

main.lua:主文件

3、打开demo文件夹,新建一个test.lua,用自己喜欢的编辑器打开编辑(比如sublime text ,vs code,根据自己的爱好),这儿以sublime text 为例,输入

module(..., package.seeall)                 --必须,目的是让其他文件能包含该文件


sys.taskInit(function()                 --任务1
    while true do
        print("Hello World")
        sys.wait(1000)
    end
end)

sys.taskInit(function()                 --任务2
    while true do
        print("Luat is esay")
        sys.wait(2000)
    end
end)

打开main.lua,添加

require "test"

这样就将test文件包含到了main.lua里面,可以理解为C语言中的#include \

4、下载lod,教程可在wiki上找到,就不在这儿累赘

5、下载脚本

image

添加lib下面的全部Lua文件,main.lua以及自己写的test.lua。添加完成后点下载即可

6、查看结果

关闭下载框,进入主界面,点击开始打印

image

可以看到,输出两次Hello World才会输出一次Luat is esay,这是为什么呢?看一下sys.wait里面的延时就知道了。

本章教程到此结束。有兴趣的尝试修改print的数据,增加多个任务,或者修改sys.wait的时间看看会有什么变化,下一章将会讲解运行原理。

相关文章

  • LuaTask教程之Hello World

    某程序员退休后决定练习书法,于是重金购买文房四宝。一日,饭后突生雅兴,一番研墨拟纸,并点上上好檀香。定神片刻,泼墨...

  • Shell入门

    Shell Shell编程之Hello World 编写一个hello world shell一般使用.sh作为后...

  • 常用markdown语法

    Hello World! Hello World! Hello World! Hello World! Hello...

  • hello

    hello, world hello, world hello, world hello, world

  • Markdown

    标题: hello world hello world hello world hello world hello...

  • 2018-06-11

    markdown hello world hello world hello world hello world ...

  • Lua 编程之 Hello World

    今天开始我要学 Lua 了,之所以要学习它,确实也是游戏开发目前需要的,涉及到热更新技术,Lua 相对来说还是比较...

  • Hello World

    Hello World 1 Hello World 2## Hello World 3 Hello World 4...

  • 如何用markdown在简书上写文章?

    1 标题 Hello World! #Hello World! Hello World! ## Hello Wor...

  • Python学习|一小时快速入门python(一)

    1. hello world print('Hello World!')`--># 输出:Hello World!...

网友评论

    本文标题:LuaTask教程之Hello World

    本文链接:https://www.haomeiwen.com/subject/rjtxcftx.html