SPI讀寫


 SPI_Flash_Read( (u8*)&gSoundInfo, addr, sizeof(gSoundInfo) );

 

//讀取SPI FLASH

//在指定地址開始讀取指定長度的數據

//pBuffer:數據存儲區

//ReadAddr:開始讀取的地址(24bit)

//NumByteToRead:要讀取的字節數(最大65535)

 

// 定義語音信息結構, 8個字節. 和語音flash的頭部結構對應. ADPCM壓縮格式

typedef struct

{

    u32 nAddr; // 語音數據首地址

    u32 nLength; // 語音數據長度

} SOUND_INFO;

 

SOUND_INFO gSoundInfo; // 語音信息

void SPI_Flash_Read(u8* pBuffer, u32 ReadAddr, u16 NumByteToRead)

{

    u16 i;

    W25QXX_CS(0);         //使能器件

    SPI1_ReadWriteByte(W25X_READ_DATA);         //發送讀取命令

    SPI1_ReadWriteByte((u8)((ReadAddr) >> 16)); //發送24bit地址

    SPI1_ReadWriteByte((u8)((ReadAddr) >> 8));

    SPI1_ReadWriteByte((u8)ReadAddr);

    for(i = 0; i < NumByteToRead; i++)

    {

        pBuffer[i] = SPI1_ReadWriteByte(0XFF);   //循環讀數

    }

    W25QXX_CS(1);

}

//返回直接存放的是地址,和數據的長度

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM