main.lua 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. -- LuaTools需要PROJECT和VERSION这两个信息
  2. PROJECT = "GPIO_irq"
  3. VERSION = "1.0.0"
  4. log.info("main", PROJECT, VERSION)
  5. if wdt then
  6. -- 添加硬狗防止程序卡死,在支持的设备上启用这个功能
  7. wdt.init(9000) -- 初始化watchdog设置为9s
  8. sys.timerLoopStart(wdt.feed, 3000) -- 3s喂一次狗
  9. end
  10. -- 配置GPIO为中断模式,上升沿(GPIO.RISING)和下降沿(GPIO.FALLING),需要注意的是air8101只能支持单边沿中断
  11. -- 请根据实际需求更改GPIO编号和触发模式
  12. local GPIO_pin = 1
  13. gpio.debounce(GPIO_pin, 100)
  14. gpio.setup(GPIO_pin, function()
  15. log.info("GPIO", GPIO_pin, "被触发")
  16. end,gpio.PULLDOWN,gpio.RISING)
  17. -- 在测试中,我们初始化GPIO0为输出模式,每隔一秒翻转一次输出电平,然后将此管脚与中断管脚相连
  18. local gpio_number = 0
  19. gpio_out = gpio.setup(gpio_number, 1)
  20. sys.taskInit(function()
  21. while 1 do
  22. gpio_out(1)
  23. log.info("GPIO0 高")
  24. sys.wait(1000)
  25. gpio_out(0)
  26. log.info("GPIO0 低")
  27. sys.wait(1000)
  28. end
  29. end)
  30. -- 用户代码已结束---------------------------------------------
  31. -- 结尾总是这一句
  32. sys.run()
  33. -- sys.run()之后后面不要加任何语句!!!!!