gpio_pullupdown_test.lua 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. --[[
  2. @module gpio_pullupdown_test
  3. @summary GPIO输入的上拉下拉测试模块
  4. @version 1.0
  5. @date 2025.07.01
  6. @author Jensen
  7. @usage
  8. 使用Air780EGH核心板测试GPIO输入模式上拉和下拉模式的电平状态
  9. ]]
  10. -- 定义输入上拉模式的端口GPIO7
  11. local gpio_pullup_number = 7
  12. -- 定义输入下拉模式的端口GPIO27
  13. local gpio_pulldown_number = 27
  14. function test_gpio_pullupdown_func()
  15. -- 设置GPIO输入上拉模式
  16. gpio.setup(gpio_pullup_number, nil, gpio.PULLUP)
  17. -- 配置输入检测防抖50ms
  18. gpio.debounce(gpio_pullup_number, 50)
  19. -- 设置GPIO输入下拉模式
  20. gpio.setup(gpio_pulldown_number, nil, gpio.PULLDOWN)
  21. -- 配置输入检测防抖50ms
  22. gpio.debounce(gpio_pulldown_number, 50)
  23. while 1 do
  24. -- 打印获取端口当前的电平状态
  25. log.info("GPIO",gpio_pullup_number,"电平",gpio.get(gpio_pullup_number))
  26. log.info("GPIO",gpio_pulldown_number,"电平",gpio.get(gpio_pulldown_number))
  27. sys.wait(1000)
  28. end
  29. end
  30. --创建并且启动一个task
  31. --运行这个task的主函数 test_gpio_pullupdown_func
  32. sys.taskInit(test_gpio_pullupdown_func)