wait.c

来自「Flash中内置了一个状态寄存器(Status Register」· C语言 代码 · 共 71 行

C
71
字号
Int  _WAIT(void)
{
unsigned int state,flashStatus,old;
old=_RD(BADDR2WADDR(0x0));
while(1)
	{
	    flashStatus=_RD(BADDR2WADDR(0x0));
        if( (old&0x40) == (flashStatus&0x40) )break;
        if( flashStatus&0x20 ) { //DQ5==1
		old=_RD(BADDR2WADDR(0x0));
		flashStatus=_RD(BADDR2WADDR(0x0));
		if( (old&0x40) == (flashStatus&0x40) ) return 0;
		else return 1;
	    }
	    //printf(".");
	    old=flashStatus;
    }                                            //printf("!\n");
	return 1; 
}

Flash中内置了一个状态寄存器(Status Register,SR)来指示Flash的当前工作状态和各种操作是否成功。要读取SR的当前值需要向CUI发送读状态寄存器命令(Read Status Register),命令码为0x70,SR中的内容将在DQ[7:0]上输出。The Read Status Register (0x70)command causes subsequent reads to output data from the SR until another command is issued. The SR bits are output on DQ[7:0].


CUI Command Codes and Descriptions

Code(HEX)       Device Mode

FF                         Read Array

40                          Program Set-up

20                          Erase Set-up

D0                         Erase Confirm

                               Program/Erase Resume

                               Unlock Block

B0                          Program Suspend

                               Erase Suspend

70                           Read Status Register

50                           Clear Status Register

90                           Read Identifier

60                           Block Lock Set-up

                                Block Unlock Set-up

                                Block Lock-Down Set-up

01                            Lock-Block

2F                            Lock-Down

98                            CFI Query

C0                           Protection Program Set-up  

10                            Alternative Program Set-up

00                            Invalid / Reserved



to be continued...

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?