|
#define NAND_PAGE_SIZE 0x800
void Nand()
{
//HAL_NAND_Reset(&hnand1);
//HAL_NAND_Read_ID(&hnand1, &NAND_ID);
WriteReadAddr.Plane = 0x00;
WriteReadAddr.Block = 0x01;
WriteReadAddr.Page = 0x00;
ret = HAL_NAND_Erase_Block(&hnand1,&WriteReadAddr);
for (i = 0; i < NAND_PAGE_SIZE; i++ )
{ txBuf[i] = i; }
HAL_Delay(100);
ret = HAL_NAND_Write_Page(&hnand1, &WriteReadAddr, txBuf, 1);
memset(rxBuf, 0, NAND_PAGE_SIZE);
ret = HAL_NAND_Read_Page(&hnand1, &WriteReadAddr, rxBuf, 1);
}
代码如上,我连续的给NAND内部一个页面写入数据后再读出,发现读出后的数据,在数组的下标为99,100零几的位置才出现(每次读取后偏移的位置不固定),请问这是为什么,怎么解决呢?望大神不吝赐教!
|
|