• 回复
  • 收藏
  • 点赞
  • 分享
  • 发新帖

STC单片机内部EEPROM擦除等待的问题

STC手册上面说内部EEPROM擦除需要很长时间,但是看他的例程也没有判断擦除有没有完成的代码,这是什么原因?
全部回复(3)
正序查看
倒序查看
Davidok
LV.4
2
2018-01-29 10:03
shafa
0
回复
2018-02-08 16:46
IapEraseSector(IAP_ADDRESS); //扇区擦除
    for (i=0; i<512; i++)           //检测是否擦除成功(全FF检测)
    {
        if (SendData(IapReadByte(IAP_ADDRESS+i)) != 0xff)
            goto Error;             //如果出错,则退出
    }
    P1 = 0xfc;                      //1111,1100 擦除成功
    Delay(10);                      //延时
    for (i=0; i<512; i++)           //编程512字节
    {
        IapProgramByte(IAP_ADDRESS+i, (BYTE)i);
    }
    P1 = 0xf8;                      //1111,1000 编程完成
    Delay(10);                      //延时
    for (i=0; i<512; i++)           //校验512字节
    {
        if (SendData(IapReadByte(IAP_ADDRESS+i)) != (BYTE)i)
            goto Error;             //如果校验错误,则退出
    }

为啥我看的都有检测 ?
0
回复
2018-02-28 21:50
@xiaoxiong1988
IapEraseSector(IAP_ADDRESS);//扇区擦除for(i=0;i
看手册不认真,这个等待是自动处理的
0
回复