HAL SPI library: Does Master's single call to HAL_SPI_Transmit() always trigger Slave's both HAL_SPI_RxCpltCallback() and also HAL_SPI_TxCpltCallback() ?
I am coding STM32H743 MCU with CubeMX generated library.
I have 1 SPI Master and 1 Slave. Both configured for a full SPI with both lines of Tx and Rx.
Master is calling blocking HAL_SPI_Transmit() or HAL_SPI_Receive() but never simultaneous HAL_SPI_TransmitReceive() . Yet the library converts any call to the HAL_SPI_TransmitReceive(). Slave configured in non-blocking IT mode to catch any direction transmission.
Does this mean that either one-directional transaction from Master will always trigger both Slave's callbacks HAL_SPI_TxCpltCallback() and HAL_SPI_RxCpltCallback() as well ?
In other words if Master Transmits only, then Slave not only receives it but also completes transmission of the same back to Master over the shifting loop? So both catchup Callbacks are triggered in the Slave? Meaning the Slave side cannot distinguish Master's Transmit-only command from Master's TransmitReceive command?
Am I missing something ?
Thanks in advance to anyone for clarification .
