主题 : k9f1208 写 spare 的16个字节 怎么只有第一个black 的写的正确 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 2989
精华: 0
发帖: 3
金钱: 30 两
威望: 21 点
综合积分: 6 分
注册时间: 2008-12-20
最后登录: 2022-06-08
楼主  发表于: 2009-01-19 11:15

 k9f1208 写 spare 的16个字节 怎么只有第一个black 的写的正确

我的 k9f1208 写 spare 的16个字节 怎么只有第一个black 的写的正确,其它的都不正确那??
读写的程序在下面,大侠们说说。
int NF8_ReadSpare(U32 addr,U8 *pPage)
{
    int i,j;
     addr &= ~0x1f;
    
                   NFChipEn();
    WrNFCmd(READCMD2);    //point to area c
    WrNFAddr(0);        
    WrNFAddr(addr);
    WrNFAddr(addr>>8);
    WrNFAddr(addr>>16);
    WaitNFBusy();
    for(i=0;i<16;i++)
                  {    
                     *pPage++=RdNFDat();
                    }
        
    WrNFCmd(READCMD0);    //point to area a
    
    NFChipDs();

    return (0);

}



int NF8_WriteSpare(U32 addr)
{
    int i;
  //  unsigned int blockPage;
  //  blockPage=(block<<5)+page;
    
    addr &= ~0x1f;
    
    NFChipEn();
    
    WrNFCmd(READCMD2);    //point to area c
    
    WrNFCmd(PROGCMD0);
    WrNFAddr(0);        
    WrNFAddr(addr);
    WrNFAddr(addr>>8);
    WrNFAddr(addr>>16);

    for(i=0;i<16;i++)
      {
       WrNFDat(0xff);
      }    
    WrNFCmd(PROGCMD1);
    WaitNFBusy();        //needn't check return status
    
    WrNFCmd(READCMD0);    //point to area a
        
    NFChipDs();

}
级别: 新手上路
UID: 2989
精华: 0
发帖: 3
金钱: 30 两
威望: 21 点
综合积分: 6 分
注册时间: 2008-12-20
最后登录: 2022-06-08
1楼  发表于: 2009-01-21 18:49
版主帮看看啊 ,怎么没人说下啊。