lua开发8266API手册:https://nodemcu.readthedocs.io/en/master/
ESP8266模块使用lua开发操作GPIO时并不是直接操作的GPIO引脚而是通过索引号去操作GPIO在lua开发手册中提供相关GPIO的索引号
ESP8266模块GPIO索引号
索引号 ESP8266-Pin
0 -------- GPIO16
1 -------- GPIO5
2 -------- GPIO4
3 -------- GPIO0
4 -------- GPIO2
5 -------- GPIO14
6 -------- GPIO12
7 -------- GPIO13
8 -------- GPIO15
9 -------- GPIO3
10 -------- GPIO1
11 -------- GPIO9
12 -------- GPIO10
要操作GPIO首先设置GPIO的工作模式,我想要GPIO控制一个LED 则需要设置相应的GPIO为输出模式,然后控制GPIO输出是高电平还是低电平
买了块ESP8266小板通过低电平控制LED亮的程序只需要2个函数即可确实很方便
gpio.mode(2,gpio.OUTPUT) -- 设置GPIO工作为输出模式
gpio.write(2,0) --控制GPIO输出低电平 此处的GPIO的索引号为2 也就是操作的GPIO4
在使用ESPlorer开发esp8266时不要使用中文注释!!!! 其实注释是自己测试完后期加的方便理解
当需要读取GPIO引脚状态时也只需要一个函数: gpio.read() 其参数也是GPIO索引号.
如下控制一个LED闪烁:
gpio.mode(2,gpio.OUTPUT) --设置为输出模式
--写一个局部函数 local表示局部函数
local function LED()
gpio.write(2,1-gpio.read(2)) --通过读取GPIO的状态取反后再设置输出
end
--[[
第一个参数 1 表示定时器1,
第二个参数 2000 表示 每2s 进入一次 定时器1ms进入一次
第三个参数 1 表示的以表示循环执行,当为0时则表示只执行一次
第四个是这个定时器1满足2s定时条件时执行的函数 --- 仍在理解中...
]]
tmr.alarm(1,2000,1,LED) --定时器2s执行一次LED函数就可以实现LED的闪烁