NodeMCU(Lua)并行定时器

时间:2017-04-08 08:03:49

标签: timer lua nodemcu

我是一个初学者,面对一个我无法解决的问题。

NodeMCU:0.9.6 build 20150704
Lua:5.1.4

********************* B1_up.lua ******************

Mpin = 8

gpio.mode(Mpin, gpio.OUTPUT)
gpio.write(Mpin, gpio.HIGH)

xdf = 0
tmr.alarm(4, 1000, 1, function()
if xdf < 5 then xdf = xdf+ 1
else
gpio.write(Mpin, gpio.LOW)
tmr.stop(4)
end 
end)

********************* B2_up.lua ******************

Mpin = 0

gpio.mode(Mpin, gpio.OUTPUT)
gpio.write(Mpin, gpio.HIGH)

xkf = 0
tmr.alarm(5, 1000, 1, function()
if xkf < 5 then xkf = xkf+ 1
else
gpio.write(Mpin, gpio.LOW)
tmr.stop(5)
end 
end)

分别正常工作,但按顺序执行:

dofile("B1_up.lua")
dofile("B2_up.lua")

...只有最后一个(在本例中为B2_up.lua)在5秒后执行gpio.write(Mpin, gpio.LOW)命令。为什么呢?

0 个答案:

没有答案