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数据手册上的读写时序及读写过程,感觉上面程序没啥问题啊,不知道有没忽略掉什么,很不解,知道的能不能提点建议啊,谢过先。。