当前位置: 代码迷 >> 嵌入开发 >> [][ARM 裸机][NAND Flash读写]关于NF_WAITRB与NF_DETECT_RB
  详细解决方案

[][ARM 裸机][NAND Flash读写]关于NF_WAITRB与NF_DETECT_RB

热度:9934   发布时间:2013-02-26 00:00:00.0
[求助][ARM 裸机][NAND Flash读写]关于NF_WAITRB与NF_DETECT_RB
网上的关于读写NAND Flash的文章中有如下两个宏定义:
#define NF_WAITRB() {while(!(rNFSTAT&(1<<0)));} //等待nandflash不忙
#define NF_DETECT_RB() {while(!(rNFSTAT&(1<<2)));} //等待RnB信号变高,即不忙
这两个宏定义都是等待nandflash就绪,但数据手册中对rNFSTAT[2]的描述为:

When RnB low to high transition is occurred, this value set
and issue interrupt if enabled. To clear this value write ‘1’.
0: RnB transition is not detected
1: RnB transition is detected
Transition configuration is set in RnB_TransMode
(NFCONT[8]).

那么为什么这两者都能检测就绪呢?请高手指教。

------解决方案--------------------------------------------------------
while(!(rNFSTAT&(1<<0))); //等待nandflash不忙
这反映的是忙与不忙的状态,不忙,电平始终为高。
  
while(!(rNFSTAT&(1<<2))); //等待RnB信号变高,即不忙
这是反映是否有低到高的变化。如果在出现高电平后,你写1清零该位后,则即使现在不忙,电平也还是低的。
 
  相关解决方案