我正在与24LC512和47C16 EEProm / EERam进行接口
我已经在两个芯片上的位置0处存储了多个字节。
在24LC512上的我得到了这些结果 - 当我执行块读取时注意到 bus.read_i2c_block_data,它从第二个内存位置开始。当我将指针重置为0并使用bus.read_byte读取时,它会将位置读取为0并正确地将指针递增1
>>> bus.write_byte_data(0x54, 0, 0)
>>> bus.read_byte(0x54)
45
>>> bus.write_byte_data(0x54, 0, 0)
>>> bus.read_i2c_block_data(0x54, 0, 6)
[46, 71, 65, 32, 48, 255]
>>> bus.write_byte_data(0x54, 0, 0)
>>> bus.read_byte(0x54)
45
>>> bus.read_byte(0x54)
46
>>> bus.read_byte(0x54)
71
>>> bus.read_byte(0x54)
65
>>> bus.read_byte(0x54)
32
>>> bus.read_byte(0x54)
48
我在47C16上得到了相同的结果
>>> bus.write_byte_data(0x50, 0, 0)
>>> bus.read_i2c_block_data(0x50, 0, 6)
[46, 71, 70, 32, 49, 255]
>>> bus.write_byte_data(0x50, 0, 0)
>>> bus.read_byte(0x50)
45
>>>
>>> bus.read_byte(0x50)
46
>>> bus.read_byte(0x50)
71
>>> bus.read_byte(0x50)
70
>>> bus.read_byte(0x50)
32
>>> bus.read_byte(0x50)
49
看来我没有正确使用read_i2c_block_data - 即使这是我在文档中读到的内容。我做错了什么?
感谢您提供的任何指示