main.lua 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. -- main.lua文件
  2. -- LuaTools需要PROJECT和VERSION这两个信息
  3. PROJECT = "uart_tcp"
  4. VERSION = "1.0.0"
  5. sys = require("sys")
  6. -- 定义一个单次触发的定时器回调函数
  7. local function oneShotCallback(message)
  8. log.info("One-shot timer triggered: " .. message)
  9. end
  10. -- 定义一个周期性触发的定时器回调函数
  11. local function periodicCallback(count)
  12. log.info("Periodic timer triggered (Count: " .. count .. ")")
  13. end
  14. -- 定义一个周期性触发的定时器回调函数
  15. local function periodicCallback1(count)
  16. log.info("Periodic timer triggered1 (Count: " .. count .. ")")
  17. end
  18. -- 初始化计数器,用于周期性定时器
  19. local periodicCount = 0
  20. -- 启动一个单次触发的定时器,延迟3秒后触发
  21. local oneShotTimerId = sys.timerStart(oneShotCallback, 3000, 0, "Hello from one-shot timer!")
  22. -- 启动一个周期性触发的定时器,每2秒触发一次
  23. sys.timerStart(periodicCallback,7000,"first")
  24. sys.timerStart(periodicCallback,6000,"second")
  25. sys.timerStart(periodicCallback,5000,"third")
  26. local periodicTimerId2 = sys.timerLoopStart(function()
  27. periodicCount = periodicCount + 1
  28. periodicCallback1(periodicCount)
  29. end, 2000)
  30. -- 停止所有定时器(仅作为测试,实际应用中应根据需要停止)
  31. sys.timerStart(function()
  32. sys.timerStop(periodicTimerId2)
  33. log.info("stop 2s loop timer periodicCallback1")
  34. end,5000)
  35. sys.timerStart(function()
  36. sys.timerStopAll(periodicCallback)
  37. log.info("stop periodicCallback loop timer ")
  38. end,4000)
  39. sys.run()-- sys.run()-此后不要在添加其他函数