main.lua 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. -- LuaTools需要PROJECT和VERSION这两个信息
  2. PROJECT = "eeprom_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. --[[
  13. 示例里将A0、A1、A2、WP引脚都接地
  14. ]]
  15. local eeprom = require "eeprom"
  16. local EEPROM_DEVICE_ADDRESS = 0x50 -- i2c设备地址(7bit)
  17. local EEPROM_RegAddr = "\x00\x01" -- 要写入/读取的EEPROM地址
  18. local dataToWrite = "\xC3\x23\xB1" -- 要写入的示例数据
  19. local DATA_LEN = 3 -- 读出数据的长度
  20. i2cid = 0
  21. i2cSpeed = i2c.FAST
  22. sys.taskInit(function()
  23. local code = i2c.setup(i2cid,i2cSpeed)
  24. while true do
  25. local res_write = eeprom.writebyte(i2cid,EEPROM_DEVICE_ADDRESS,EEPROM_RegAddr,dataToWrite)
  26. log.info("transfer write: ",res_write)
  27. sys.wait(1000)
  28. local result, rxdata = eeprom.readbyte(i2cid,EEPROM_DEVICE_ADDRESS,EEPROM_RegAddr,DATA_LEN)
  29. log.info("transfer read: ",result,rxdata:toHex())
  30. end
  31. end)
  32. -- 用户代码已结束---------------------------------------------
  33. -- 结尾总是这一句
  34. sys.run()
  35. -- sys.run()之后后面不要加任何语句!!!!!