main.lua 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. -- LuaTools需要PROJECT和VERSION这两个信息
  2. PROJECT = "usb_connect_demo"
  3. VERSION = "1.0.0"
  4. log.info("main", PROJECT, VERSION)
  5. -- sys库是标配
  6. _G.sys = require("sys")
  7. local rtos_bsp = rtos.bsp()
  8. local function pinx()
  9. if rtos_bsp == "EC618" then -- AIR780E -- 33是虚拟GPIO,见https://wiki.luatos.com/chips/air780e/iomux.html#id1
  10. return 24, 33
  11. elseif string.find(rtos_bsp,"EC718") then -- AIR780EP -- 40是虚拟GPIO
  12. return 27, 40
  13. else
  14. return 255, 255
  15. end
  16. end
  17. local led_pin, vbus_pin = pinx() -- 赋值led,vbus引脚编号
  18. if led_pin ~= 255 and vbus_pin ~= 255 then
  19. local led = gpio.setup(led_pin, 1) --如果真的把USB拔出,可能无法打印出信息,所以拿个IO输出和USB一样状态的电平
  20. led(gpio.get(vbus_pin)) --IO输出和USB一样的状态
  21. gpio.setup(vbus_pin, function()
  22. log.info("usb", gpio.get(vbus_pin))
  23. led(gpio.get(vbus_pin)) --IO输出和USB一样的状态
  24. end, gpio.PULLUP, gpio.BOTH)
  25. gpio.debounce(vbus_pin, 500, 1) --加入消抖是为了尽量能看到输出
  26. log.info("usb", gpio.get(vbus_pin))
  27. else
  28. log.info("bsp not support")
  29. end
  30. -- 用户代码已结束---------------------------------------------
  31. -- 结尾总是这一句
  32. sys.run()
  33. -- sys.run()之后后面不要加任何语句!!!!!