STM32F207 I2C EEPROM
大家好,又要麻烦各位了。我最近在使用I2C读写AT24C256,当我在某个地址写按字节方式写单个数据时,我在其先后总共128个字节的地址都可以读到这个数,很是郁闷,若是按页写多个字节就会发生读错误,读出的数据有时错乱,有时少部分,还有写乱七八糟的数据,大概是我以前写的。例如我写入123456789asdf,有时就会读出678934000ffff,这是怎么回事?
RE:STM32F207 I2C EEPROM
可能是:1、写入的时候,跨页了,比如:一页是10个字节,从第5个地址开始写,那么只能写入5个字节内容,而去的时候并没有页的限制
2、读取页和地址不对
回复:STM32F207 I2C EEPROM
回复第 2 楼 于2011-10-27 03:37:29发表:可能是:
1、写入的时候,跨页了,比如:一页是10个字节,从第5个地址开始写,那么只能写入5个字节内容,而去的时候并没有页的限制
2、读取页和地址不对
不是发生卷页了,因为我即使是从页的开始写,写十几个字节(每页64个字节)都不行,加入我按页在地址300处写入“123456789”,我按字节读时,在300~3ff处读到的一样,都是“1”,好像每次都读入上次写入的首个字节,不管你的读地址是多少,还请指教。我现在用的EEPROM是AT24C256,现在,我换了一块开发板,其上的EEPROM是M24c64,采用这个程序就不会出错,这是怎么回事?
回复:STM32F207 I2C EEPROM
1、你确定I2C工作正常2、AT24c256是要分页的
3、你写完后,再读出校验下,
回复:STM32F207 I2C EEPROM
回复第 4 楼 于2011-10-30 09:36:57发表:1、你确定I2C工作正常
2、AT24c256是要分页的
3、你写完后,再读出校验下,
I2C工作时我从示波器看的时钟和数据位与传出的数据及应答都对应,我猜会不会是与它的缓存有关呢
RE:STM32F207 I2C EEPROM
解决了,我的256是坏的,:funk:回复:STM32F207 I2C EEPROM
回复第 6 楼 于2011-11-08 11:43:50发表:解决了,我的256是坏的,:funk:
楼主,能发一下你的I2C例程吗?谢谢 843182364@qq.com 楼主能给我发一份I2C的例程吗?谢谢syau_zy@163.com 不懂帮顶 顶一下,,,,,
页:
[1]
2