Skip to main content
PRaja.1
Visitor II
October 23, 2020
Question

I am new to MCU programming. I'd like to test SPI loopback using HAL. The project was generated by CubeMX for STM32F411RE. The SPI_call() is called inside the main. I am unable to receive the characters in the terminal.

  • October 23, 2020
  • 0 replies
  • 435 views
void SPI_call()
{
	char msg[] = "smile";
	char copy[6];
	HAL_SPI_Receive_IT(&hspi1, (uint8_t *)copy, strlen(copy));
	HAL_SPI_Transmit(&hspi1, (uint8_t *)msg, strlen(msg), 100);
}
 
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_2;
 hspi1.Init.FirstBit = SPI_FIRSTBIT_MSB;
 hspi1.Init.TIMode = SPI_TIMODE_DISABLE;
 hspi1.Init.CRCCalculation = SPI_CRCCALCULATION_DISABLE;
 hspi1.Init.CRCPolynomial = 10;
 if (HAL_SPI_Init(&hspi1) != HAL_OK)
 {
 Error_Handler();
 }
 /* USER CODE BEGIN SPI1_Init 2 */
 
 /* USER CODE END SPI1_Init 2 */
 
}

This topic has been closed for replies.