求助解释spi的代码

2019-07-21 08:45发布

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);    //循环读数  红 {MOD}的这个函数是读写数据,0XFF指的是要读取的字节位数还是字节本身?
    }
W25QXX_CS=1;                 
}  
红 {MOD}字体所疑所问

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
10条回答
Ckeai
1楼-- · 2019-07-22 11:39
Acuity 发表于 2018-10-7 23:05
SPI的读写模式包括:
1)先写后读,比如读寄存器,存储地址等;
2)先写后写,比如写寄存器,存储地址等;
...

W25QXX_Read(datatemp,FLASH_SIZE-100,SIZE);                                        //从倒数第100个地址处开始,读出SIZE个字节
悄咪咪的再问一个,这个datatemp是个数组,只规定了长度不知道内容的那种,怎么就能读了并在LCD上显示呢?
Acuity
2楼-- · 2019-07-22 12:35
Ckeai 发表于 2018-10-7 23:36
W25QXX_Read(datatemp,FLASH_SIZE-100,SIZE);                                        //从倒数第100个地址处开始,读出SIZE个字节
悄咪咪的 ...

数组就是一段内存,把内存首地址给到函数即可,然后从flash中读出数据放在这段内存中,然后显示。
Ckeai
3楼-- · 2019-07-22 13:48
Acuity 发表于 2018-10-8 21:33
数组就是一段内存,把内存首地址给到函数即可,然后从flash中读出数据放在这段内存中,然后显示。

懂了 懂了 感谢!
八度空间
4楼-- · 2019-07-22 16:11
Ckeai 发表于 2018-10-7 23:11
为什么会造成不必要的麻烦?求教了!想理解的更深些!

这个具体要看你控制的SPI芯片的要求了

一周热门 更多>