【ESP8266之LUA开发】一、串口打印HelloWorld

xiaoxiao2021-02-27  236

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对于后期调试打印信息倒是挺方便的,可以后期勾选!

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编写程序并烧录

软件下载地址<这里> Github对应的开源代码下载<这里>

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例程也是这样做的不是吗?


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

ReCclay 认证博客专家 嵌入式软件开发 机器/深度学习 全栈技术学习者 大家好,我是博主ReCclay,目前处于研究生阶段,就读于电子科技大学,主攻方向为汽车辅助驾驶算法研究。入站以来,凭借坚持与热爱,以博文的方式分享所学,截止目前累计博文数量达800余篇,累计受益人次达130w+次,涉及领域包括但不限于物联网开发、单片机开发、Linux驱动开发、FPGA开发、前/后端软件开发等。在未来我将继续专注于嵌入式相关领域,学习更多的科技知识,输出更高质量的博文。
转载请注明原文地址: https://www.6miu.com/read-13274.html

最新回复(0)