Lua初识
NodeMCU
自带LUA
的解释器,所以可以用LUA
语言给其编写控制程序,LUA
是一个轻量级的脚本语言,用C
语言编写,编译后解释器大小仅仅100多K。- LUA旨在针对内存有很大限制的嵌入式系统。
- N
odeMCU
还提供交互命令行环境,比Arduino
的编程调试环境友好。
注: NodeMCU还可以支持
Arduino的IDE
对其编程,简介参见<这篇>。
LUA
语言入门移步<这里>。
刷固件
注: 刷固件的软件<这里>
STEP1 固件获取
固件获取网址<这里>
No.1 填写邮箱
建议用outlook,QQ邮箱指定是不成的。
No.2 选择模块
自定义模块提供了各种各样的模块,譬如一些传感器,LED驱动,通信协议等等。
默认已经选择了一些模块就已经够初学者学习用了,可直接点击Start your build
。
对了,还有两个事。
第一个呢,提交后,过一会就会收到邮件。
邮件里面有两个bin
文件的下载地址,一个是float
,一个是integer
。没错了,就是为了支持不同的数据类型分开的。
**第二个呢,**这个
DEBUG ON
对于后期调试打印信息倒是挺方便的,可以后期勾选!
STEP2 刷入固件
No.1 设置Advanced
Baudrate
- 波特率,当然是越高下载的越快了,当然如果出现下载不进去的情况,可选择适当降低波特率。
Flash Size
· - Flash
大小,这个主要根据自己的8266具体型号而定,可从选型表中查看<这里>。
其实我的
12E
系列的是32MByte
,但是并没有这个选项,所以将就选了16M
。也许更应该用乐鑫官方的烧录工具<这里>
Flash Speed
- Flash
速度,选择依据,我也不太清楚,这个问题等以后搞清楚了,再回来更新!40MHz
SPI Mode
- SPI
模式,选择依据呢,依据不清楚,还是老样子,按照这个来吧!DIO
<这里>
之前见论坛上有人解释过DIO和QIO的区别,但是也不太懂,先帖子在这吧。
DIO或QIO模式是否可用取决于ESP8266 CPU与其板载闪存芯片之间的物理连接。与DIO 4相比,QIO使用6个引脚连接到闪存,QIO的读/写速度是DIO的两倍。
No.2 选择Config
选择好你刚刚编译下载好的固件路径,然后地址是0x00000
。
No.3 下载Operation
准备工作做了一大堆,终于可以下载了!
ESPlorer编写程序并烧录
No.1 编写程序
编写第一个LUA
小程序**“HelloWorld”**。
tmr.alarm(0, 1000, 1, function() --定时器0,每隔1s重复打印一次HelloWorld
print("HelloWrold")
end
)
烧录程序
效果展示
程序解读
就是tmr
的API
函数<这里>了,当然可以自己边查边写。
看文档一切就不难理解了吧。
mode
选择官方有三种。
但是呢,通常我们不写那么长的名字,而是直接用数字代替。如下:
0
- tmr.ALARM_SINGLE
1
- tmr.ALARM_AUTO
2
- tmr.ALARM_SEMI
上面的简单HelloWorld
例程也是这样做的不是吗?