STM32F723E_QSPI_Example icon indicating copy to clipboard operation
STM32F723E_QSPI_Example copied to clipboard

Support for STM32L4

Open Rajkumar181 opened this issue 4 years ago • 1 comments

I want to integrate with STM32L432KC, I have read your document https://vivonomicon.com/2020/08/08/bare-metal-stm32-programming-part-12-using-quad-spi-flash-memory/ , When I am reading the W25Q16 manufacturing ID, I got 0xFF. And what could be the issue?

/* SPI1 parameter configuration*/

hspi1.Instance = SPI1;

hspi1.Init.Mode = SPI_MODE_MASTER;

hspi1.Init.Direction = SPI_DIRECTION_2LINES;

hspi1.Init.DataSize = SPI_DATASIZE_8BIT;

hspi1.Init.CLKPolarity = SPI_POLARITY_LOW;

hspi1.Init.CLKPhase = SPI_PHASE_1EDGE;

hspi1.Init.NSS = SPI_NSS_SOFT;

hspi1.Init.BaudRatePrescaler = SPI_BAUDRATEPRESCALER_4;

hspi1.Init.FirstBit = SPI_FIRSTBIT_MSB;

hspi1.Init.TIMode = SPI_TIMODE_DISABLE;

hspi1.Init.CRCCalculation = SPI_CRCCALCULATION_DISABLE;

hspi1.Init.CRCPolynomial = 10;

hspi1.Init.CRCLength = SPI_CRC_LENGTH_DATASIZE;

hspi1.Init.NSSPMode = SPI_NSS_PULSE_ENABLE;

if (HAL_SPI_Init(&hspi1) != HAL_OK)

{

Error_Handler();

}

/ /main code

void manufacturerID(void)

{

uint8_t ID[4];

int i=0;

uint8_t cmd[4] = {READ_ID_CMD,0x00,0x00,0x00};

HAL_GPIO_WritePin(SPI_SEL2_GPIO_Port,SPI_SEL2_Pin,0);

HAL_SPI_TransmitReceive(&_W25QXX_SPI,&cmd[0],&ID[0],4,10);

HAL_GPIO_WritePin(SPI_SEL2_GPIO_Port,SPI_SEL2_Pin,1);

if((ID[0] != 0xEF) | (ID[1] != 0x17))

{

Error_Handler();

}

else

{

printf("W25Qxxx ID is : ");

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

{

printf("0x%02X ",ID[i]);

}

printf("\r\n\r\n");

}

}

Rajkumar181 avatar Sep 02 '20 05:09 Rajkumar181