打印
[国产单片机]

单片机 NAND FLASH

[复制链接]
1817|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
crf7036|  楼主 | 2014-1-24 21:43 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我买了一个K9F2GBU0C型号的NAND FLASH ,就是读不了,那位大哥帮指导一下,存一个字节的数字,读出来后变成了C0,函数为
void  NF_SendAddre(uint8 Pageadd,uint8 Columnadd)
{
   
     NF_ALE=1;
  NF_WE=0;
     NF_DATA=Columnadd;
     NF_WE=1;
  //送地址第一个字节,列地址(其实就是那512个字节地地址)
  NF_WE=0;
  NF_DATA=Pageadd&0xff;  //NF_DATA=((Pageadd%256)%256)&0xff;
     NF_WE=1;
  //送地址第二个字节,低五位是页地址,高三位是块地址的低三位(1block = 32page)
  NF_WE=0;
  NF_DATA=(Pageadd>>8)&0xff;   //NF_DATA=((Pageadd%256)/256)&0xff;
     NF_WE=1;
  //送地址第三个字节,块地址
  NF_WE=0;
  NF_DATA=(Pageadd>>16)&0xff; // NF_DATA=(Pageadd/256)&0xff;
     NF_WE=1;
  //送地址第四个字节,块地址
  NF_ALE=0;
  P2=0xff;  
}
/***********************************************************************/
/***********************************************************************/
//写入一个字节的数据    NAND Flash  WirteByte   
//写入命令      80h   10h
//******************************************
void  NF_WriteByte(uint8 Pageadd,uint8 Columnadd,uint8 NF_dat)
{
   uint8 s=0;
   NF_Initial();
   NF_CE=0;
// NF_Command(0x50);

   NF_R_B=1;while(!NF_R_B);     //检查是否忙碌
   NF_Command(0x80);
   NF_SendAddre(Pageadd,Columnadd);
   NF_WE=0;
      NF_DATA=NF_dat;
      NF_WE=1;
   NF_Command(0x10);
      NF_R_B=1;while(!NF_R_B);     //检查是否忙碌
   s=NF_ReadStatus();    //读取状态:(0xff)正确  0x00)错误
    NF_CE=1;
}
/***********************************************************************/
/***********************************************************************/
//读取一个字节    NAND Flash  ReadByte   
//读取命令   00h/01h  (half)
//******************************************
uint8 NF_ReadByte(uint8 Pageadd,uint8 Columnadd,uint8 half)
{
   uint8  NF_dat,s=0;
   NF_Initial();
      NF_CE=0;
   NF_Command(half);  
   NF_SendAddre(Pageadd,Columnadd);
   NF_R_B=1;while(!NF_R_B);     //检查是否忙碌
   NF_DATA=0xff;
   NF_RE=0;
      NF_dat=NF_DATA;
      NF_RE=1;
      NF_R_B=1;while(!NF_R_B);     //检查是否忙碌
   s=NF_ReadStatus();    //读取状态:(0xff)正确  0x00)错误
    NF_CE=1;
    return (NF_dat);
}

怎么回事??

相关帖子

沙发
crf7036|  楼主 | 2014-2-4 21:12 | 只看该作者
我用的是5V的电脑USB供电,如果是电压的问题,请问要3.3V的,那位大哥说一下需要接多大的限压电阻可以为K9F2G08UOC提供3.3V的电压,感激不尽,我已经纠结两三个礼拜了,钨钨钨钨钨钨钨钨钨钨钨钨钨钨钨?

使用特权

评论回复
板凳
crf7036|  楼主 | 2014-2-5 14:49 | 只看该作者
51单片机的P0口能用做输入口么?

使用特权

评论回复
地板
dianzijiangren| | 2014-2-5 16:23 | 只看该作者
crf7036 发表于 2014-2-5 14:49
51单片机的P0口能用做输入口么?

能啊,记得接上拉电阻

使用特权

评论回复
5
crf7036|  楼主 | 2014-2-10 00:34 | 只看该作者
dianzijiangren 发表于 2014-2-5 16:23
能啊,记得接上拉电阻

兄弟,怎么联系你啊,网上搜到的电路图里都没有接上拉呀

使用特权

评论回复
6
wangch_sh| | 2014-2-10 08:24 | 只看该作者
51的P0口要加的,其他口可以不加。

使用特权

评论回复
7
dianzijiangren| | 2014-2-10 09:03 | 只看该作者
crf7036 发表于 2014-2-10 00:34
兄弟,怎么联系你啊,网上搜到的电路图里都没有接上拉呀

我大概理清了你想说的问题了:
1、你用电脑供电5V;
2、你想要3.3V供电;

是这么个事情吧?
如果是的话,5V转3.3V,你要用LDO去做,另外上拉电阻你当我没说,按照官方手册来做

使用特权

评论回复
8
McuPlayer| | 2014-2-11 00:07 | 只看该作者
LM1117-3.3降压到3.3V
看看你所用的mcu的IO有无推挽模式,有的话不用上拉

使用特权

评论回复
9
crf7036|  楼主 | 2014-2-13 14:33 | 只看该作者
wangch_sh 发表于 2014-2-10 08:24
51的P0口要加的,其他口可以不加。

ok,多谢,那我程序改成P1口就行了,不用加了?多谢

使用特权

评论回复
10
crf7036|  楼主 | 2014-2-13 14:47 | 只看该作者
dianzijiangren 发表于 2014-2-10 09:03
我大概理清了你想说的问题了:
1、你用电脑供电5V;
2、你想要3.3V供电;

感谢老兄

使用特权

评论回复
11
wangch_sh| | 2014-2-13 14:53 | 只看该作者
P1口不用加。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

15

主题

41

帖子

0

粉丝