main.lua 890 B

12345678910111213141516171819202122232425262728293031323334
  1. -- Luatools需要PROJECT和VERSION这两个信息
  2. PROJECT = "gpio_irq"
  3. VERSION = "1.0.0"
  4. log.info("main", PROJECT, VERSION)
  5. -- sys库是标配
  6. _G.sys = require("sys")
  7. if wdt then
  8. --添加硬狗防止程序卡死,在支持的设备上启用这个功能
  9. wdt.init(9000)--初始化watchdog设置为9s
  10. sys.timerLoopStart(wdt.feed, 3000)--3s喂一次狗
  11. end
  12. --配置gpio24为中断计数模式
  13. --请根据实际需求更改gpio编号和上下拉
  14. local gpio_pin = 24
  15. -- gpio.setup(gpio_pin, gpio.count, gpio.PULLUP, gpio.FALLING)
  16. gpio.setup(gpio_pin, gpio.count)
  17. --配置PWM4输出 1kHZ 占空比50%的方波作为信号源
  18. pwm.open(4,1000,50)
  19. --每隔1S统计一次中断触发的次数
  20. sys.taskInit(function()
  21. while true do
  22. sys.wait(1000)
  23. log.info("irq cnt", gpio.count(gpio_pin))
  24. end
  25. end)
  26. sys.run()
  27. -- sys.run()之后后面不要加任何语句!!!!!