gpio_irq_test.lua 893 B

1234567891011121314151617181920212223242526272829303132
  1. --[[
  2. @module gpio_irq_test
  3. @summary GPIO中断测试模块
  4. @version 1.0
  5. @date 2025.07.01
  6. @author Jensen
  7. @usage
  8. 使用Air780EGH核心板测试GPIO中断功能,主要流程为配置指定IO的触发模式,IO被触发时输出调试信息
  9. ]]
  10. -- 配置GPIO中断检测端口
  11. local irq_io_number = 24
  12. function io_irq_handler(level, io_number)
  13. log.info("gpio", io_number, "被触发", "level=", level)
  14. end
  15. function test_gpio_irq_func()
  16. -- 配置GPIO为中断模式, 第二参数为function表示中断模式,
  17. -- 第三参数表示内部上拉输入,第四参数表示下降沿触发中断
  18. gpio.setup(irq_io_number, io_irq_handler, gpio.PULLUP, gpio.FALLING)
  19. -- 配置输入IO防抖动参数:100ms
  20. gpio.debounce(irq_io_number, 100)
  21. end
  22. --创建并且启动一个task
  23. --运行这个task的主函数 test_gpio_irq_func
  24. sys.taskInit(test_gpio_irq_func)