ESP8266 -- lua开发学习之路 二 (操作GPIO和定时器)

        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的闪烁

猜你喜欢

转载自blog.csdn.net/dianzishi123/article/details/82557402
今日推荐