EEPROM数据读取异常,何故?

[复制链接]
5125|4
 楼主| ningling_21 发表于 2012-7-12 16:38 | 显示全部楼层 |阅读模式
DV:24C256 (microchip)
MCU:8051F340
模拟I2C读写EEPROM.
现象:连续一次写入128BYTE后读取写入的数据地址,发现:从第48字节开始就变成了FF,0-47字节都是正确的。
读取地址:0X0090;
换MCU芯片一样结果。
换EEPROM一样。

哪位遇到过?
ayb_ice 发表于 2012-7-12 17:10 | 显示全部楼层
24256页大小应该是64吧
coody 发表于 2012-7-12 17:34 | 显示全部楼层
64字节/页,地址翻卷了,看看DS说明吧
阮天宇00 发表于 2012-7-12 18:21 | 显示全部楼层
地址翻卷了!
要做产品,最好不要一次写多个字节。
我写AT24C16卡驱动的时候,是一个字节一个字节的读写。
页写太不好控制了。
 楼主| ningling_21 发表于 2012-7-12 20:17 | 显示全部楼层
原因找到了,原来是程序问题:
while(len--)
{
  sbyte(dt);
  if(!ckack()) //检查应答,如果应答正确,继续写下一字节,问题出在这里
     continue;//不正确,地址加1
  addr_l++;
  if(addr_l==0)  //地址到256,高地址加1
  {
     addr_h++;
   }
   if(addr_l%64==0)//页满
  {
        delay(5); //写满一页需延时
  }
  
}
您需要登录后才可以回帖 登录 | 注册

本版积分规则

5015

主题

17845

帖子

51

粉丝
快速回复 在线客服 返回列表 返回顶部