main.lua 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. -- LuaTools需要PROJECT和VERSION这两个信息
  2. PROJECT = "sc7a20_demo"
  3. VERSION = "1.0.0"
  4. log.info("main", PROJECT, VERSION)
  5. -- 一定要添加sys.lua !!!!
  6. sys = require("sys")
  7. -- 添加硬狗防止程序卡死
  8. if wdt then
  9. wdt.init(9000) -- 初始化watchdog设置为9s
  10. sys.timerLoopStart(wdt.feed, 3000) -- 3s喂一次狗
  11. end
  12. local sc7a20 = require "sc7a20"
  13. i2cid = 0
  14. i2c_speed = i2c.FAST
  15. gpio.setup(24, function() --配置中断,外部唤醒用
  16. log.info("gpio 24")
  17. end, gpio.PULLUP, gpio.BOTH)
  18. gpio.setup(2, function() --配置中断,外部唤醒用
  19. log.info("gpio 2")
  20. end, gpio.PULLUP, gpio.BOTH)
  21. sys.taskInit(function()
  22. i2c.setup(i2cid, i2c_speed)
  23. sc7a20.init(i2cid)--初始化,传入i2c_id
  24. sys.wait(50)
  25. sc7a20.set_thresh(i2cid, string.char(0x05), string.char(0x05)) -- 设置活动阀值
  26. sys.wait(50)
  27. sc7a20.set_irqf(i2cid, 1, string.char(0x1F), string.char(0x03), string.char(0xFF)) -- AOI1中断映射到INT1上
  28. sys.wait(50)
  29. sc7a20.set_irqf(i2cid, 2, string.char(0x1F), string.char(0x03), string.char(0xFF)) -- AOI2中断映射到INT2上
  30. while 1 do
  31. local sc7a20_data = sc7a20.get_data()
  32. log.info("sc7a20_data", "sc7a20_data.x"..(sc7a20_data.x),"sc7a20_data.y"..(sc7a20_data.y),"sc7a20_data.z"..(sc7a20_data.z))
  33. sys.wait(1000)
  34. end
  35. end)
  36. -- 用户代码已结束---------------------------------------------
  37. -- 结尾总是这一句
  38. sys.run()
  39. -- sys.run()之后后面不要加任何语句!!!!!