stm32 spi 读写AT26DF321怎样使它进入深度掉电模式啊,我仿照W25X16的flash写的可是就是不成功,进入不到掉电模式中去,各位帮我看看,问题在哪啊,下面是代码
u8 SPIx_ReadWriteByte(u8 byte)
{
/*循环,如数据寄存器非空*/
while(SPI_I2S_GetFlagStatus(SPI1, SPI_I2S_FLAG_TXE) == RESET);
//NotSelect_Flash(); while(1);
/*向SPI发送字节*/
SPI_I2S_SendData(SPI1, byte);
/*等待接收一字节*/
while(SPI_I2S_GetFlagStatus(SPI1, SPI_I2S_FLAG_RXNE) == RESET);
/*返回读到的一字节*/
return SPI_I2S_ReceiveData(SPI1);
}
//读取芯片IDID:0X1F47
u16 SPI_Flash_ReadID(void)
{
u16 Temp = 0;
GPIO_ResetBits(GPIOA,GPIO_Pin_4);
SPIx_ReadWriteByte(0x9F);//发送读取ID命令
Temp|=SPIx_ReadWriteByte(0xFF)<<8;
Temp|=SPIx_ReadWriteByte(0xFF);
GPIO_SetBits(GPIOA,GPIO_Pin_4);
return Temp;
}
//进入掉电模式
void SPI_Flash_PowerDown(void)
{
GPIO_ResetBits(GPIOA,GPIO_Pin_4);
SPIx_ReadWriteByte(0xB9);
GPIO_SetBits(GPIOA,GPIO_Pin_4); //取消片选
} |