2024-03-17 04:13 AM
int main(void)
{
HAL_Init();
SystemClock_Config();
MX_GPIO_Init();
MX_SPI1_Init();
MX_USART3_UART_Init();
/* USER CODE BEGIN 2 */
----> HAL_SPI_Receive_IT(&hspi1, (uint8_t*) &rx_data, sizeof(rx_data));
/* USER CODE END 2 */
while (1)
{
HAL_SPI_Transmit(&hspi1, (uint8_t*) &test,sizeof(test), HAL_MAX_DELAY);
delay(10000);
}
}
I use SPI1 module in FullDuplexMaster Mode.
I use interrupt to receive data from the SPI Slave.
The Thing is that if I add the Line which is arrowed--->HAL_SPI_Receive_IT(), the sending is not happening.
I want to know why this is happening. help me why?
Thank You
2024-03-17 04:20 AM
Helll @vbk22398
I suggest you to take a look at this example to understand how it works.It should be helpful on your case.
Best Regards.
STTwo-32
To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.
2024-03-17 05:03 AM - edited 2024-03-17 05:06 AM
Try with (only using) :
HAL_SPI_TransmitReceive(..);
on full duplex spi, always both happen together, transmit and receive, see rm :
2024-03-17 06:49 AM
Use HAL_SPI_TransmitReceive().