ESP8266踩坑记01

刚拿到ESP8266板子, 迫不及待网上找到DEMO程序如下:

ledswitch=0
pin=4
gpio.mode(pin,gpio.OUTPUT)
tmr.alarm(0,2000,1,function()
    if ledswitch==0 then
        ledswitch=1 --led on
        gpio.write(pin,gpio.LOW)
    else
        ledswitch=0 --led off
        gpio.write(pin,gpio.HIGH)
    end
end)
 

    该代码保存、上传,然后愉快点了RUN,结果悲剧了,居然报错了“ attempt to call field 'alarm' (a nil value) ”, 该DEMO程序刷固件前还是好的可以运行啊, 为啥忽然来一个坑?

     一番bing搜索,原来最新的固件在使用timer定时器时,需要先定义。呕吐呀,这个nodemcu的lua编程环境的向前兼容性简直太垃圾了,赶紧换新的语法伺候,新代码如下:

ledswitch=0
pin=4
gpio.mode(pin,gpio.OUTPUT)
local tObj = tmr.create()
tObj:alarm(1000, 1, function ()
    if ledswitch==0 then
        ledswitch=1 --led on
        gpio.write(pin,gpio.LOW)
    else
        ledswitch=0 --led off
        gpio.write(pin,gpio.HIGH)
    end
  end)

    新代码终于没问题可以运行了,LED灯终于开始一闪一闪了。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值