nimaltd / spif

W25qxx, N25Qxx and other SPI FLASH driver for stm32 HAL
GNU General Public License v3.0
605 stars 173 forks source link

Error with w2q16jv interface #16

Open Rajkumar181 opened 4 years ago

Rajkumar181 commented 4 years ago

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

nimaltd commented 4 years ago

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

Rajkumar181 commented 4 years ago

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

nimaltd commented 4 years ago

Your cs must be set in software mode

Rajkumar181 commented 4 years ago

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.

nimaltd commented 4 years ago

Send photo of your spi config in cubemx

Rajkumar181 commented 4 years ago

image image image

nimaltd commented 4 years ago

Disable interrupt and dma and try again

Rajkumar181 commented 4 years ago

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

image image image