gpio_pull_task.lua 960 B

1234567891011121314151617181920212223242526272829303132
  1. --[[
  2. @module gpio_pull_task
  3. @summary Air8000演示GPIO上下拉功能模块
  4. @version 1.0
  5. @date 2025.10.2
  6. @author 拓毅恒
  7. @usage
  8. 本文件为Air8000开发板演示 GPIO 上下拉功能的代码示例,核心业务逻辑为:
  9. 1. 配置GPIO1为上拉输入模式
  10. 2. 配置GPIO2为下拉输入模式
  11. 3. 定时读取并打印两个GPIO的电平状态
  12. 4. 将GPIO1和GPIO2引脚接地或接3.3V来控制GPIO1和GPIO2的电平变化,验证上拉/下拉配置是否生效
  13. ]]
  14. local gpio_pin1 = 1
  15. local gpio_pin2 = 2
  16. -- 按键防抖函数
  17. gpio.debounce(gpio_pin1, 50)
  18. gpio.debounce(gpio_pin2, 50)
  19. -- 设置GPIO1引脚为上拉输入模式
  20. gpio.setup(gpio_pin1, nil, gpio.PULLUP)
  21. -- 设置GPIO2引脚为下拉输入模式
  22. gpio.setup(gpio_pin2, nil, gpio.PULLDOWN)
  23. local function gpiopulltask()
  24. log.info("GPIO",gpio_pin1,"电平",gpio.get(gpio_pin1))
  25. log.info("GPIO",gpio_pin2,"电平",gpio.get(gpio_pin2))
  26. end
  27. sys.timerLoopStart(gpiopulltask,1000)