风中的IT 发表于 2015-1-7 16:49:28

STM32外部FLASH芯片擦除请教

//擦除整个芯片
//整片擦除时间:
//W25X16:25s
//W25X32:40s
//W25X64:40s
//等待时间超长...
void SPI_Flash_Erase_Chip(void)   
{                                             
    SPI_FLASH_Write_Enable();                  //SET WEL
    SPI_Flash_Wait_Busy();   
        SPI_FLASH_CS=0;                            //使能器件   
    SPI2_ReadWriteByte(W25X_ChipErase);      //发送片擦除命令
        SPI_FLASH_CS=1;                            //取消片选                
        SPI_Flash_Wait_Busy();                                      //等待芯片擦除结束
}
void SPI_Flash_Wait_Busy(void)   
{   
        while ((SPI_Flash_ReadSR()&0x01)==0x01);   // 等待BUSY位清空
}   
这是STM32外部FLASH芯片的擦除,有大神能解释下一下芯片擦除的标志是“while ((SPI_Flash_ReadSR()&0x01)==0x01);   // 等待BUSY位清空”是什么意思?谢谢

五哥1 发表于 2018-6-5 22:47:06

看看W25Q16 手册,最后一节,关于BUSY 的作用
页: [1]
查看完整版本: STM32外部FLASH芯片擦除请教