sytu_chyq 2010年01月23日
nand flash读写求助
希望有人能够指点下

情况1:
FlashReset();
state = FlashReadStatus(); //结果是state = 0xe0;
flashid = FlashReadId(); //结果是flashid = 0xe0e0;
情况2:
FlashReset();
flashid = FlashReadId(); //结果是flashid = ad76
state = FlashReadStatus(); //结果是state = 0xad;
情况3:
FlashReset();
state = FlashReadStatus(); //结果是state = 0xe0;
FlashReset();
flashid = FlashReadId(); //结果是flashid = 0xad76;
正确的,先读哪个都正确。
情况4:
FlashReset();
state = FlashReadStatus(); //结果是state = 0xe0;
FlashReadPage(0,readbuf); //结果是readbuf为e0e0e0...,
FlashReset();
flashid = FlashReadId(); //结果是flashid = 0xad76;
FlashReadPage(0,readbuf); //结果是readbuf为ad76ad76ad76...,
情况5:
FlashReset();
state = FlashReadStatus(); //结果是state = 0xe0;
FlashReset();
FlashReadPage(0,readbuf); //结果是readbuf为f0ffffffffff...,
情况6:
unsigned char FlashReadStatus(void)
{
unsigned char status = 0x00;

CE = 0;
//如果在这里再加一个FlashWriteCmd(任意命令);那读之前不要先写复位命令FlashReset();也可以得到与写了FlashReset();一样的结果,其他如FlashReadId();FlashReadPage(0,readbuf);也一样。
FlashWriteCmd(NAND_READSTATUS);
status = FlashDataRead();
CE = 1;
return status;
}
到底是咋回事呢,看了hy27us08121a数据手册上的读写时序及读写过程,感觉上面程序没啥问题啊,不知道有没忽略掉什么,很不解,知道的能不能提点建议啊,谢过先。。
...全文
348 点赞 收藏 24
写回复
24 条回复

还没有回复,快来抢沙发~

发动态
发帖子
单片机/工控
创建于2007-09-28

1.0w+

社区成员

2.8w+

社区内容

硬件/嵌入开发 单片机/工控
社区公告
暂无公告