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

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) 命令 . 为什么?