Lua初识

  • NodeMCU自带LUA的解释器,所以可以用LUA语言给其编写控制程序,LUA是一个轻量级的脚本语言,用C语言编写,编译后解释器大小仅仅100多K。
  • LUA旨在针对内存有很大限制的嵌入式系统。
  • NodeMCU还提供交互命令行环境,比Arduino的编程调试环境友好。

注: NodeMCU还可以支持Arduino的IDE对其编程,简介参见<这篇>。

LUA语言入门移步<这里>。


刷固件

注: 刷固件的软件<这里>

STEP1 固件获取

固件获取网址<这里>

No.1 填写邮箱

建议用outlook,QQ邮箱指定是不成的。

No.2 选择模块

自定义模块提供了各种各样的模块,譬如一些传感器,LED驱动,通信协议等等。默认已经选择了一些模块就已经够初学者学习用了,可直接点击Start your build。

对了,还有两个事。

第一个呢,提交后,过一会就会收到邮件。 邮件里面有两个bin文件的下载地址,一个是float,一个是integer。没错了,就是为了支持不同的数据类型分开的。

**第二个呢,**这个DEBUG ON对于后期调试打印信息倒是挺方便的,可以后期勾选!

lua串口通信源码 lua串口编程_下载地址

STEP2 刷入固件

No.1 设置Advanced

lua串口通信源码 lua串口编程_固件_02

Baudrate - 波特率,当然是越高下载的越快了,当然如果出现下载不进去的情况,可选择适当降低波特率。Flash Size· - Flash大小,这个主要根据自己的8266具体型号而定,可从选型表中查看<这里>。

其实我的12E系列的是32MByte,但是并没有这个选项,所以将就选了16M。也许更应该用乐鑫官方的烧录工具<这里>

Flash Speed - Flash速度,选择依据,我也不太清楚,这个问题等以后搞清楚了,再回来更新!40MHzSPI Mode- SPI模式,选择依据呢,依据不清楚,还是老样子,按照这个来吧!DIO<这里>

之前见论坛上有人解释过DIO和QIO的区别,但是也不太懂,先帖子在这吧。

DIO或QIO模式是否可用取决于ESP8266 CPU与其板载闪存芯片之间的物理连接。与DIO 4相比,QIO使用6个引脚连接到闪存,QIO的读/写速度是DIO的两倍。

No.2 选择Config

选择好你刚刚编译下载好的固件路径,然后地址是0x00000。

No.3 下载Operation

准备工作做了一大堆,终于可以下载了!

lua串口通信源码 lua串口编程_NodeMCU_03


ESPlorer编写程序并烧录

软件下载地址<这里>

lua串口通信源码 lua串口编程_固件_04

Github对应的开源代码下载<

这里

>

No.1 编写程序

编写第一个LUA小程序**“HelloWorld”**。

tmr.alarm(0, 1000, 1, function() --定时器0,每隔1s重复打印一次HelloWorld
    print("HelloWrold")
    end
)
烧录程序

lua串口通信源码 lua串口编程_lua串口通信源码_05

效果展示

lua串口通信源码 lua串口编程_固件_06

程序解读

就是tmr的API函数<这里>了,当然可以自己边查边写。

lua串口通信源码 lua串口编程_lua串口通信源码_07

看文档一切就不难理解了吧。

mode 选择官方有三种。 但是呢,通常我们不写那么长的名字,而是直接用数字代替。如下:0 - tmr.ALARM_SINGLE1 - tmr.ALARM_AUTO2 - tmr.ALARM_SEMI

上面的简单HelloWorld例程也是这样做的不是吗?


嘿嘿,这么快就看完了,入门了,兄嘚,继续加油!