新手上路
- 积分
- 22
- 金钱
- 22
- 注册时间
- 2020-8-11
- 在线时间
- 6 小时
|
//读取SPI FLASH
//在指定地址开始读取指定长度的数据
//pBuffer:数据存储区
//ReadAddr:开始读取的地址(24bit)
//NumByteToRead:要读取的字节数(最大65535)
void W25QXX_Read(u8* pBuffer,u32 ReadAddr,u16 NumByteToRead)
{
u16 i;
W25QXX_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[i]=SPI2_ReadWriteByte(0XFF); //循环读数
}
W25QXX_CS=1;
}
1、u32 ReadAddr 是32位,经过SPI2_ReadWriteByte((u8)((ReadAddr)>>16)); SPI2_ReadWriteByte((u8)((ReadAddr)>>8)); SPI2_ReadWriteByte((u8)ReadAddr)后是取它的低24位吗?为什么是这24位是地址呢?
2、 pBuffer[i]=SPI2_ReadWriteByte(0XFF); 这个是从哪里读取数据呢?oXFF代表什么呢?
|
|