2024-04-16 09:36 AM
Hi, i try migrate some old stdlib app into HAL or LL over new project in MX. On old system we have SPI init part for TX only master
/* SPI configuration -------------------------------------------------------*/
SPI_I2S_DeInit(SPIx);
SPI_InitStructure.SPI_Direction = SPI_Direction_1Line_Tx;
cleanly work and show only MOSI used. But same choiced in MX result into
/* 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_LSB;
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)
why here direction is SPI_DIRECTION_2LINES? With LL drivers same situation.
2024-04-16 10:24 AM - edited 2024-04-16 10:26 AM
Hi, ok name is with _2Lines_ now, but does it work correct ?
(Maybe they just changed the name...)
I looked in my projects :
- master transmit SPI_DIRECTION_2LINES_TXONLY;
- slave receive SPI_DIRECTION_2LINES_RXONLY
- half duplex master SPI_DIRECTION_1LINE;
+ all correct working.