针对I2C设备的eeprom进行验证性的说明:
使用i2cset -f -y 1 0x50 0x00 0xaa命令写eeprom后
再使用i2cdump -f -y 1 0x50读取数据,结果如下:
No size specified (using byte-data access)
0 1 2 3 4 5 6 7 8 9 a b c d e f 0123456789abcdef
00: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
10: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
20: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
30: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
40: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
50: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
60: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
70: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
80: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
90: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
a0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
b0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
c0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
d0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
e0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
f0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
实际经验说明:
正确的测试方式为
使用如下命令写eeprom:
i2ctransfer -f -y 1 w18@50 0x00 0x01 af-
再使用如下命令读eeprom:
i2ctransfer -f -y 1 w2@50 0x00 0x01 r16
命令解释:
其中0x00 0x01 表示 WORD ADDRESS
从芯片手册内容可知,从指定地址读取eeprom,需要写2个Byte的WORD ADDRESS,再读。
而写数据,不管是写字节还是写页都要先写2个Byte的WORD ADDRESS
芯片手册描述: