HOW to send 16bit over SPI
Hi,
I want to send five,16 bit data over SPI. WHile executing the code i cant see any transmission. What i wanted is
- SS = 0 -> 16 bit data1 -> SS=1, SS = 0 -> 16 bit data2 -> SS=1,
or
2, SS=0 , word0, word1, word2,word3, word4 ss=1
i tried both methods but no action..
How to configure FifoThreshold and NSS. DDS_CS_Pin is CS and is connected to PD14
HAL_GPIO_WritePin(GPIOD,DDS_CS_Pin,0);
HAL_Delay(1);
HAL_SPI_Transmit(&hspi6, (uint8_t*)&DDS_CR, 2, 10);
HAL_SPI_Transmit(&hspi6, (uint8_t*)&DDS_FL, 2, 10);
HAL_SPI_Transmit(&hspi6, (uint8_t*)&DDS_FH, 2, 10);
HAL_SPI_Transmit(&hspi6, (uint8_t*)&DDS_PR, 2, 10);
HAL_SPI_Transmit(&hspi6, (uint8_t*)&DDS_RST,2, 10);
HAL_Delay(1);
HAL_GPIO_WritePin(GPIOD,DDS_CS_Pin,1);
static void MX_SPI6_Init(void)
{
hspi6.Instance = SPI6;
hspi6.Init.Mode = SPI_MODE_MASTER;
hspi6.Init.Direction = SPI_DIRECTION_2LINES_TXONLY;
hspi6.Init.DataSize = SPI_DATASIZE_16BIT;
hspi6.Init.CLKPolarity = SPI_POLARITY_HIGH;
hspi6.Init.CLKPhase = SPI_PHASE_1EDGE;
hspi6.Init.NSS = SPI_NSS_SOFT;
hspi6.Init.BaudRatePrescaler = SPI_BAUDRATEPRESCALER_64;
hspi6.Init.FirstBit = SPI_FIRSTBIT_MSB;
hspi6.Init.TIMode = SPI_TIMODE_DISABLE;
hspi6.Init.CRCCalculation = SPI_CRCCALCULATION_DISABLE;
hspi6.Init.CRCPolynomial = 7;
hspi6.Init.NSSPMode = SPI_NSS_SOFT;
hspi6.Init.NSSPolarity = SPI_NSS_POLARITY_LOW;
hspi6.Init.FifoThreshold = SPI_FIFO_THRESHOLD_01DATA;
hspi6.Init.TxCRCInitializationPattern = SPI_CRC_INITIALIZATION_ALL_ZERO_PATTERN;
hspi6.Init.RxCRCInitializationPattern = SPI_CRC_INITIALIZATION_ALL_ZERO_PATTERN;
hspi6.Init.MasterSSIdleness = SPI_MASTER_SS_IDLENESS_00CYCLE;
hspi6.Init.MasterInterDataIdleness = SPI_MASTER_INTERDATA_IDLENESS_00CYCLE;
hspi6.Init.MasterReceiverAutoSusp = SPI_MASTER_RX_AUTOSUSP_DISABLE;
hspi6.Init.MasterKeepIOState = SPI_MASTER_KEEP_IO_STATE_DISABLE;
hspi6.Init.IOSwap = SPI_IO_SWAP_DISABLE;
if (HAL_SPI_Init(&hspi6) != HAL_OK)
{
Error_Handler();
}
}
its SPI is waiting for FIFO threshold and what is the threshold for follwoing ?
hspi6.Init.FifoThreshold = SPI_FIFO_THRESHOLD_01DATA;
