久芯网

模拟I2C读写EEPROM的问题

avatar Pure Tiger 提问时间: 2023-07-06 16:28:35 / 未解决

STM32F103芯片中,利用I2C读写EEPROM时,单字节写入,读回的数据和写入的一致;但是当利用页写入时,读回的数据和写入的数据不一致,这是什么原因导致的?

5个回答
  • avatar 老牛洋车
    回答时间: 2023-07-06 16:55:08

    既然是使用模拟I2C,很有可能是您的代码有问题。

  • avatar butterflyspring
    回答时间: 2023-07-06 17:24:59

    页写入的时候楼主需要注意: 1. 页地址对齐,不同容量的EEPROM的页写范围是不同的,起始地址不对容易造成回写故障。 2. 一页连续写完后注意写入时间参数,如果采样延时,要保证5ms后再进行下次操作。

  • avatar Pure Tiger
    回答时间: 2023-07-06 17:45:29
    butterflyspring 发表于 2023-3-21 11:28
    页写入的时候楼主需要注意: 1. 页地址对齐,不同容量的EEPROM的页写范围是不同的,起始地址不对容易造成 ...

    我目前只利用页写入的方式写入2个字节而已,但是读回的数据都不正确,

  • avatar xmshao
    回答时间: 2023-07-06 18:14:58

    如果你单字节读写没问题,基本操作应该没啥问题了。其实 页写 跟 字节写操作上差别并不大。 页写入不过一次多写了几个数据,比方一次性写8个或16个数据后才发送 停止位。 建议你对着EEPROM手册 你确认下你的操作时序有没有问题。或者说代码方面有无忽略了小问题。

  • avatar 老牛洋车
    回答时间: 2023-07-06 18:38:46

    用逻辑分析仪抓取一下时序,对照手册检查一下应该可以发现问题。

会员中心 微信客服
客服
回到顶部