Nodemcu学习入门

先提重要的一点:
如何把程序写入nodemcu且每次上电都运行此程序?
———用ESPlorer编写程序后保存为命名为 init.lua 的文件,
然后Upload 到esp上。

这是我写的第一个init.lua程序:

function time_while1()
    if flag_led==1 then
        flag_led=0
        gpio.write(4,gpio.HIGH)
    else 
        flag_led=1
        gpio.write(4,gpio.LOW)
    end
end


flag_led=0
gpio.mode(4,gpio.OUTPUT)
tmr.alarm(0,1000,tmr.ALARM_AUTO,time_while1)

定时器操作:
Nodemcu学习入门_第1张图片





先从简单的函数开始说起,

  1. .softwd 设置一个软件看门狗,时间参数单位为秒。使用任何负数可以失能。
  2. .wdclr 喂狗。但是,文档说使用这个功能是错误的。没明白tmr这个看门狗干嘛用的。
  3. .delay 顾名思义,就是最传统的死循环延时,文档中明确指出不推荐使用!
  4. tmr.now & tmr.time 都是用来获取系统时间,只是单位不一样。前者是微秒,后者是秒。31位计数器,计满后清零。
  5. .alarm 就是调用 .register 和 .start 两个函数。
  6. .interval 修改一个定时器的终止时间,单位ms
  7. .start 启动或者重启定时器.
  8. .stop 暂停一个正在运行的定时器,可以使用.start重启。
  9. .state返回一个定时器的运行状态(启动or暂停)和模式或者nil。注意,该函数返回的是两个参数。Lua的神奇之处在于,返回值可以是多个。
  10. .register & .unregister 前者用于注册一个定时器。后者注销一个定时器,如果定时器还在运行会先暂停。
  11. .create 动态创建一个定时器。





还有,就是mode参数有三种选择。分别是:

tmr.ALARM_SINGLE 单触发模式,会自动注销定时器;

tmr.ALARM_SEMI 手动重置模式,可以使用.start重启定时器;
tmr.ALARM_AUTO 自动重置模式。

作者:谢mingmin
链接:https://www.jianshu.com/p/371897c21486
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

序号 函数名 参数 返回值
1 gpio.mode() pin, mode, [ullup] nil
2 gpio.read() pin 0 / 1
3 gpio.serout() pin, start_level, delay_times [, repeat_num[, callback]] nil
4 gpio.trig() pin, [type [, callback_function]] nil
5 gpio.write() pin, level nil

参考链接:https://www.jianshu.com/p/c3ef61c9c59b

你可能感兴趣的:(Nodmcu)