运行 多个计时器?

Running multiple timers?

我有 nodemcu 并试图实现以下目标。 - 每 5 分钟向远程网站发送一次数据。 - 每 1 秒检查一次传感器

所以有两个函数:

   function checkSensors()
        print("checking sensors")
        -- do some stuff here
   end

   function sendData()
        print("Sending Data")
        -- do some stuff here
   end

   tmr.alarm(0, 1000, 1, function() checkSensors() end )
   tmr.alarm(0, 300000, 1, function() sendData() end )

如果我注释掉第一个 tmr,那么每隔 5 分钟就会调用函数 sendData。同样注释掉第一个 tmr 函数 sendData 每秒调用一次。

然而,两者都在 sendData 上被调用。

我怎样才能同时使用这两个计时器,或者有其他方法可以做到这一点。

tmr.alarm的第一个参数是定时器的ID。因为您对两个调用都使用 0,所以这只是将一个计时器重新配置两次。如果你想要多个计时器,你需要为每个计时器传递不同的ID。

有 7 个静态计时器 (0-6),但它们即将消失。您可以使用 tmr.create 创建动态计时器。返回的ID可以传递给tmr.alarm.