导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→C51编程:am29lv160db芯片烧写/擦除判断位d7不[seasoblue]

 *第3410篇: C51编程:am29lv160db芯片烧写/擦除判断位d7不够可靠?!

  
楼 主:seasoblue 2002年5月24日13:33
 C51编程:am29lv160db芯片烧写/擦除判断位d7不够可靠?!

我现在正在用am29lv160db flash芯片,按PDF上的说法可以根据数据位DQ7来判断写或擦*作
是否完成,我写的判断程序如下,但在仿真时总有一些单元明明没有完成写*作,但程序却判断
为写正确了,继续写下一个单元。不知大家遇到过这种情况没有?是否我的程序有问题?
----------------------------------------
STATUS DataPolling(unsigned short *pAddr,unsigned short data,unsigned long time)
{
    unsigned long i;
    volatile unsigned short *pAddr_tmp = pAddr;
   for(i = 0; i < time; i ++)
    {
          if((*pAddr_tmp & 0x0080) == (data & 0x0080))   /*DQ7 ==DATA?*/
             return OK;
          else if((*pAddr_tmp & 0x0020) == 0x0020)       /*DQ5 ==1?*/

          {
     if((*pAddr_tmp & 0x0080) == (data & 0x0080))
                 return OK;
              else
                 return ERROR;
          }
    }
    return ERROR;
}
----------------------------------
入口参数:pAddr为要写入数据的地址,data为要写入的数据,time为写一个单元需要最大
的等待时间。

  
2楼:xutaol 2004年6月2日14:31
 我请教一下,这个芯片写程序时,需要先开保护位吗?

>>>>>>对该主题发表你的看法

本主题贴数2,分页: [第1页]


[上一篇主题]:初学者:急问如何使用89C52的T2定时器

[下一篇主题]:初学者:感谢各位的帮助,我的学C51后的第一个小程序出来了,贴出来,大家帮我看看还有什么可以改进的地