void SPI_Flash_Read(u8* pBuffer,u32 ReadAddr,u16 NumByteToRead)
{
u16 i;
SPI_FLASH_CS=0; //?????÷??
SPI2_ReadWriteByte(W25X_ReadData); //·????????ü??
SPI2_ReadWriteByte((u8)((ReadAddr)>>16)); //·???24bit???·
SPI2_ReadWriteByte((u8)((ReadAddr)>>8));
SPI2_ReadWriteByte((u8)ReadAddr);
for(i=0;i<NumByteToRead;i++)
{
pBuffer=SPI2_ReadWriteByte(0XFF); //???·????
}
SPI_FLASH_CS=1; //????????
}
SPI2_ReadWriteByte(W25X_PageProgram);
SPI2_ReadWriteByte((u8)((WriteAddr)>>16)); 为什么向存储器发送这个没有处理完的地址? 这样发送总感觉是先发一个错误地址呢?
SPI2_ReadWriteByte((u8)((WriteAddr)>>8)); 为什么向存储器发送这个没有处理完的地址?
SPI2_ReadWriteByte((u8)WriteAddr); 而不是 将地址移完位后再发送给存储器。
求分析谢谢
|