31 lines
694 B
C
31 lines
694 B
C
/*
|
|
* falsh.c
|
|
*
|
|
* Created on: Mar 11, 2021
|
|
* Author: 13370
|
|
*/
|
|
|
|
#include "flash.h"
|
|
|
|
//读取SPI FLASH
|
|
//在指定地址开始读取指定长度的数据
|
|
//pBuffer:数据存储区
|
|
//ReadAddr:开始读取的地址(24bit)
|
|
//NumByteToRead:要读取的字节数(最大65535)
|
|
|
|
|
|
void W25QXX_Read(uint8_t* pBuffer,uint32_t ReadAddr,uint16_t NumByteToRead)
|
|
{
|
|
unsigned char buff[4];
|
|
HAL_GPIO_WritePin(FLASH_E_GPIO_Port,FLASH_E_Pin,0);
|
|
buff[0]=W25X_ReadData;
|
|
buff[1]=(uint8_t)((ReadAddr)>>16);
|
|
buff[2]=(uint8_t)((ReadAddr)>>8);
|
|
buff[3]=(uint8_t)ReadAddr;
|
|
HAL_SPI_Transmit(&hspi2,buff,4,100); //发送读取命令
|
|
|
|
HAL_SPI_Receive(&hspi2,pBuffer,NumByteToRead,100);
|
|
HAL_GPIO_WritePin(FLASH_E_GPIO_Port,FLASH_E_Pin,1);
|
|
|
|
}
|