STM32l151RBT6A SPI issue
Hi all,
I am not able to get SPI working on stm32l151rbt6a. I have posted my initialization code below.
/* SPI1 init function */
void MX_SPI1_Init(void){ GPIO_InitTypeDef GPIO_InitStruct; SPI_HandleTypeDef hspi1;__SPI1_CLK_ENABLE(); // clock ok
/**SPI1 GPIO Configuration
PA5 ------> SPI1_SCK PA6 ------> SPI1_MISO PA7 ------> SPI1_MOSI */ GPIO_InitStruct.Pin = GPIO_PIN_5|GPIO_PIN_6|GPIO_PIN_7; GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; GPIO_InitStruct.Pull = GPIO_NOPULL; GPIO_InitStruct.Speed = GPIO_SPEED_VERY_LOW; GPIO_InitStruct.Alternate = GPIO_AF5_SPI1; HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);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_2; hspi1.Init.FirstBit = SPI_FIRSTBIT_MSB; hspi1.Init.TIMode = SPI_TIMODE_DISABLED; hspi1.Init.CRCCalculation = SPI_CRCCALCULATION_DISABLED; HAL_SPI_Init(&hspi1); __HAL_SPI_ENABLE(&hspi1); }I am writing a byte to DR and waiting for RXNE bit to set. RXNE bit is never setting. What could be the problem? I have spent a lot of time trying various options but to no avail. Any help will be highly appreciated. Thank you in advance.