我最近在用MSP4618对Nand Flash的K9F1G08U0C进行调试。但是在擦除的时候,电流是没有变化的,但是用示波器检测的RB信号是变低的~但是变低的时间大约是120μs,与芯片资料的1.5—10ms相差较远,我的这个Flash还没有写过东西。擦除程序如下:
unsigned char BlockEra(unsigned long addr) //无符号长整型变量addr,32位
{
unsigned char sdata;
nand_RE_1;
P5DIR=0xFF;
nand_CLE_1;
nand_ALE_0;
P5OUT=0x60;
nand_WE_0;
nand_WE_1;
nand_CLE_0;
nand_ALE_1;
P5OUT=(addr & 0x000000ff)>>0;
nand_WE_0;
nand_WE_1;
P5OUT=(addr & 0x0000ff00)>>8;
nand_WE_0;
nand_WE_1;
nand_ALE_0;
nand_CLE_1;
P5OUT=0xD0;
nand_WE_0;
nand_WE_1;
nand_CLE_0;
Busy_Ready();
nand_CLE_1;
P5OUT=0x70;
nand_WE_0;
nand_WE_1;
nand_CLE_0;
P5DIR=0x00;
nand_RE_0;
nand_RE_1;
sdata=P5IN;
if(sdata & 0x01)
return 0;
else return 1;
}
我想问一下怎么知道,擦完的块是FF啊?还有我的这个Flash到底擦除了吗?但是擦除后为什么电流是没有变化的?谢谢大家的帮忙了。如有知道的或是愿意讨论的,留下我的qq627167481,可以联系,谢谢各位了~
此帖出自
小平头技术问答
一周热门 更多>