eeprom.lua 879 B

12345678910111213141516171819202122232425262728293031
  1. local eeprom = {}
  2. --[[
  3. 向EEPEOM中写入一个数据
  4. @number i2c的id号
  5. @number 设备地址
  6. @number 要写入的寄存器地址
  7. @number 要写入的数据
  8. ]]
  9. function eeprom.writebyte(i2cid,EEPROM_DEVICE_ADDRESS,EEPROM_RegAddr,data)
  10. local result = i2c.transfer(i2cid, EEPROM_DEVICE_ADDRESS, EEPROM_RegAddr .. data, nil, 0)
  11. sys.wait(5) -- 等待写入完成
  12. return result
  13. end
  14. --[[
  15. 从EEPEOM中读出一个数据
  16. @number i2c的id号
  17. @number 设备地址
  18. @number 要读出的寄存器地址
  19. @number 要读出的长度
  20. ]]
  21. function eeprom.readbyte(i2cid,EEPROM_DEVICE_ADDRESS,EEPROM_RegAddr,DATA_LEN)
  22. local result, rxdata = i2c.transfer(i2cid, EEPROM_DEVICE_ADDRESS, EEPROM_RegAddr, nil, DATA_LEN)
  23. log.info("transfer read: ",rxdata:toHex())
  24. return result,rxdata -- 返回读取到的数据
  25. end
  26. return eeprom