HAL_SPI_TxRxCpltCallback is not reached using SPI on STM32H743
Greetings. I am having an issue with SPI communication Note: In my case, under STM32H743, with SPI4 used as "Full-Duplex Slave" and "Hardware NSS Input Signal". The SPI4 pins used are PE11 (SPI4_NSS), PE12 (SPI4_SCK), PE13 (SPI4_MISO), and PE14 (SPI4_MOSI). The issue is that HAL_SPI_TxRxCpltCallback is never reached!
Here are some info:
SPI4 global interrupt (using .ioc file) is enabled with priority 0.
After the TransmitReceive call: ( if (HAL_SPI_TransmitReceive_IT(&hspi4, pTxBuff, pRxBuff, SIZE) == HAL_OK)
with HAL_OK, I go to a while loop waiting for the completion of interrupt. That is waiting for HAL_SPI_TxRxCpltCallback to be hit. However, it hangs there because the Callback is never reached!
Note that SPI4_IRQHandler in stm32h7xx_it.c does indeed get hit and it calls HAL_SPI_IRQHandler(&hspi4), however, that routine does not call the Callback routine!
Note that I have traced into HAL_SPI_IRQHandler(&hspi4) and it appears to run into and error with ErrorCode (hspi->ErrorCode) = 0x84.
So, from that error, then it doesn't call the Calbbackroutine and returns.
Why and what am I missing to fix that ErrorCode.?
By the way, please note that ultimately this application will become my custom bootloader, but for now I have set it up as a simple application and wanted to make sure everything (SPI) is working before proceeding with making it a Bootloader application.
Thank you in advance.
