在STM32F103芯片中,利用I2C读写EEPROM时,单字节写入,读回的数据和写入的一致;但是当利用页写入时,读回的数据和写入的数据不一致,这是什么原因导致的? |
既然是使用模拟I2C,很有可能是您的代码有问题。
页写入的时候楼主需要注意: 1. 页地址对齐,不同容量的EEPROM的页写范围是不同的,起始地址不对容易造成回写故障。 2. 一页连续写完后注意写入时间参数,如果采样延时,要保证5ms后再进行下次操作。
页写入的时候楼主需要注意: 1. 页地址对齐,不同容量的EEPROM的页写范围是不同的,起始地址不对容易造成 ...
我目前只利用页写入的方式写入2个字节而已,但是读回的数据都不正确,
如果你单字节读写没问题,基本操作应该没啥问题了。其实 页写 跟 字节写操作上差别并不大。 页写入不过一次多写了几个数据,比方一次性写8个或16个数据后才发送 停止位。 建议你对着EEPROM手册 你确认下你的操作时序有没有问题。或者说代码方面有无忽略了小问题。
用逻辑分析仪抓取一下时序,对照手册检查一下应该可以发现问题。