nimaltd / spif

W25qxx, N25Qxx and other SPI FLASH driver for stm32 HAL

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Error with w2q16jv interface

Rajkumar181 opened this issue · comments

Hi,
Thank you for your support.
I am using STM32L432KC with W2q16jV. But I am not able to read the device ID. Please can you look it my code, I don't know where I am doing the mistake?

static void MX_SPI1_Init(void)
{

/* USER CODE BEGIN SPI1_Init 0 */

/* USER CODE END SPI1_Init 0 */

/* USER CODE BEGIN SPI1_Init 1 */

/* USER CODE END SPI1_Init 1 /
/
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_8;
hspi1.Init.FirstBit = SPI_FIRSTBIT_MSB;
hspi1.Init.TIMode = SPI_TIMODE_DISABLE;
hspi1.Init.CRCCalculation = SPI_CRCCALCULATION_DISABLE;
hspi1.Init.CRCPolynomial = 7;
hspi1.Init.CRCLength = SPI_CRC_LENGTH_DATASIZE;
hspi1.Init.NSSPMode = SPI_NSS_PULSE_ENABLE;
if (HAL_SPI_Init(&hspi1) != HAL_OK)
{
Error_Handler();
}
/* USER CODE BEGIN SPI1_Init 2 */

/* USER CODE END SPI1_Init 2 */

}

In main

W25qxx_Init();

Output:
w25qxx Init Begin...
w25qxx ID:0xFFFFFF
w25qxx Unknown ID

Hello. Do you config correctly w25qxxconfig.h file? And cs pin.

Yes, and I have checked the cs pin and clock pin.

Your cs must be set in software mode

GPIO_InitStruct.Pin = SPI_SEL1_Pin|SPI_SEL2_Pin;
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);

yes, it is software mode.

Send photo of your spi config in cubemx

Disable interrupt and dma and try again

Hi,
Sorry for the late reply, i have tried to disable the DMA and interpret, still i am getting same Error.

image
image
image