W25QXX状态寄存器(SR)的Busy位

对于W25QXX状态寄存器(SR)的Busy位常常牵扯到W25QXX_Wait_Busy();这个忙碌等待函数什么时候写,什么时候不写的问题。

首先我们需要明白Busy位什么时候清零和置一:

        W25Q18的Busy位是用于指示设备是否正在执行某个操作,应用程序可以通过读取W25Q18的状态寄存器中的Busy位来检查设备是否处于忙碌状态,并等待其完成操作。

具体地说,W25Q18的状态寄存器(SR)的第0位是Busy位。当W25Q18需要进行内部擦除、编程或擦除较大的数据时,它会将Busy位设置为“1”,以指示在该操作完成之前不能进行其他任何操作。当W25Q18完成操作后,它会自动将Busy位清零,并准备下一个操作。

 其次,我们也要知道W25QXX_Wait_Busy();函数的作用是等待Busy位清零。

//等待空闲
void W25QXX_Wait_Busy(void)   
{   
	while((W25QXX_ReadSR()&0x01)==0x01);  		// 等待BUSY位清空
}  

然后总结可以知道,一般是在MCU指令下达之后 ,再进行下一个指令之前,需要写一个W25QXX_Wait_Busy();函数,等待指令完成之后(等待Busy位清零后)再执行下一条指令。尤其是对于耗时比较长的指令!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值