我正在尝试使用
i2cgert
(或 i2ctransfer
)从 eeprom 中读取数据,但我无法重置 eeprom 的内部地址计数器。因此,我每次读取相同偏移量的不同值。$ i2ctransfer -y 0 w1@0x52 0x00 r20@0x52
0x00 0x00 0x00 0x40 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x01 0x20 0x00 0x00 0x00
$ i2ctransfer -y 0 w1@0x52 0x00 r20@0x52
0x05 0x00 0x00 0x20 0x00 0x00 0x00 0x30 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
您能否帮助我了解如何使用
i2ctransfer
或 i2cget
进行阅读并确保我从 eeprom 的开头开始阅读?
我不知道
i2ctransfer
的内部结构,尽管我用它来读取SFP 512字节EEPROM并且它有效。
这个来自DS,首先如何设置随机地址:
5.10.2 随机地址读取 选择性读取操作允许主设备选择 随机读取操作的任何内存位置。这 主设备首先执行“虚拟”写操作 发送起始条件、从机地址和字节 它希望读取的位置的地址。之后 GT24C64A 确认字节地址,主机 设备重新发送开始条件和从机地址, 这次 R/W 位设置为 1。然后EEPROM 使用 ACK 进行响应并发送所请求的数据。这 主设备不发送ACK,但会生成一个 停止条件。 (参见图 5-9。随机地址读取 图表。)