main.lua 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. -- LuaTools需要PROJECT和VERSION这两个信息
  2. PROJECT = "adxl345_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 adxl34x = require "adxl34x"
  13. i2cid = 0
  14. i2c_speed = i2c.FAST
  15. gpio.setup(24, function() --配置wakeup中断,外部唤醒用 连接ADXL34X INT1引脚
  16. log.info("gpio ri")
  17. end, gpio.PULLUP, gpio.FALLING)
  18. sys.taskInit(function()
  19. i2c.setup(i2cid, i2c_speed)
  20. adxl34x.init(i2cid)--初始化,传入i2c_id
  21. sys.wait(50)
  22. adxl34x.set_thresh(i2cid, string.char(0x05), string.char(0x02), string.char(0x05)) -- 设置阀值
  23. sys.wait(50)
  24. adxl34x.set_irqf(i2cid, string.char(0x00), string.char(0xff), string.char(0x10)) -- activity映射到到INT1,并开启对应中断功能
  25. while 1 do
  26. adxl34x.get_int_source(i2cid) -- 不加这个不会触发中断
  27. local adxl34x_data = adxl34x.get_data()
  28. log.info("adxl34x_data", "adxl34x_data.x"..(adxl34x_data.x),"adxl34x_data.y"..(adxl34x_data.y),"adxl34x_data.z"..(adxl34x_data.z))
  29. sys.wait(1000)
  30. end
  31. end)
  32. -- 用户代码已结束---------------------------------------------
  33. -- 结尾总是这一句
  34. sys.run()
  35. -- sys.run()之后后面不要加任何语句!!!!!