main.lua 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. -- LuaTools需要PROJECT和VERSION这两个信息
  2. PROJECT = "pwmdemo"
  3. VERSION = "1.0.0"
  4. log.info("main", PROJECT, VERSION)
  5. -- sys库是标配
  6. _G.sys = require("sys")
  7. --添加硬狗防止程序卡死
  8. if wdt then
  9. wdt.init(9000) -- 初始化watchdog设置为9s
  10. sys.timerLoopStart(wdt.feed, 3000)--3s喂一次狗
  11. end
  12. local PWM_ID = 4 -- 代码中使用pwm通道4,如需使用其他pwm通道请查看Air8000/pwm使用指南/pwm通道说明。
  13. sys.taskInit(function()
  14. -- 配置IO复用,PIN24 GPIO21 FUNC5-PWM4
  15. gpio.setup(21, 0, nil, nil, 5)
  16. log.info("pwm", "ch", PWM_ID)
  17. while 1 do
  18. -- 仿呼吸灯效果
  19. log.info("pwm", ">>>>>")
  20. -- 占空比从90%(i=10时)到9%(i=1时)
  21. for i = 10,1,-1 do
  22. pwm.open(PWM_ID, 1000, i*9) -- 频率1000hz, 占空比0-100
  23. sys.wait(100 + i*10)
  24. end
  25. -- 占空比从10%增加到90%
  26. for i = 10,1,-1 do
  27. pwm.open(PWM_ID, 1000, 100 - i*9)
  28. sys.wait(100 + i*10)
  29. end
  30. sys.wait(2000)
  31. end
  32. end)
  33. -- 用户代码已结束---------------------------------------------
  34. -- 结尾总是这一句
  35. sys.run()
  36. -- sys.run()之后后面不要加任何语句!!!!!