【问题标题】:Running multiple timers?运行多个计时器?
【发布时间】:2017-03-17 09:37:39
【问题描述】:

我有 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 被调用。

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

【问题讨论】:

    标签: lua nodemcu


    【解决方案1】:

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

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

    【讨论】:

    • 啊是的...错过了!谢谢。多年来一直在挣扎:)
    猜你喜欢
    • 1970-01-01
    • 2022-01-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-24
    相关资源
    最近更新 更多