中级会员
 
- 积分
- 454
- 金钱
- 454
- 注册时间
- 2016-4-22
- 在线时间
- 82 小时
|

楼主 |
发表于 2016-9-12 12:56:35
|
显示全部楼层
我懂为什么这里是datatemp了
其实这里只要提供一个数组就可以了,与数组首地址并没有很大关系
仔细看一下这个读函数
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=SPI2_ReadWriteByte(0XFF); //循环读数
}
W25QXX_CS=1;
}
这个函数的作用是 :在指定的位置,写入固定长度的数据(写0XFF,会接收到从机返回来的数据)并将返送回来的数据存入pBuffer这个指针指向的数组,即datatemp【】这个数组中,之后再显示出来就行,显示用的是这一句:
LCD_ShowString(30,190,200,16,16,datatemp);
datatemp代表的是datatemp【】这个数组的首地址
因此,我要保证datatemp[]这个数组能够存放下之前写入的数据,所以才会在主函数中出现这一句定义 u8 datatemp[SIZE];
|
|