main.lua 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  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. -- 配置gpio27为输入模式
  13. -- 配置GPIO20(即开发板上LED灯)为输出模式
  14. -- 请根据实际需求更改gpio编号和上下拉
  15. local inputpin = 27
  16. local ledpin = 20
  17. local input = gpio.setup(inputpin,nil)
  18. local led = gpio.setup(ledpin, 1)
  19. gpio.debounce(inputpin, 50)
  20. --GPIO27检测到有高低电平输入后,会返回GPIO27当前获取到的电平为高还是低,高返回值为1,低返回值为0
  21. --将这个返回值,传给GPIO20(LED),为0 则GPIO20输出低电平(LED灯灭),为1则输出高电平(LED灯亮)
  22. sys.taskInit(function ()
  23. while true do
  24. led(input())
  25. sys.wait(500)
  26. end
  27. end)
  28. -- 用户代码已结束---------------------------------------------
  29. -- 结尾总是这一句
  30. sys.run()
  31. -- sys.run()之后后面不要加任何语句!!!!!