Skip to main content
chriskuku
Senior II
Jun 9, 2025 8:54 AM UTC
Question

I2S/SPI interrupt fires only once, when restarted in IRQ routine (STM32H503)

I have set up an I2S interface. The idea is to send it an initial HAL_I2S_Transmit_IT() request.
In the ISR of SPI2 I'm sending the next HAL_I2S_Transmit_IT() and this way the transmit should be continously kept running.

What happens is, that the SPI ISR is entered once. The HAL_I2S_Transmit_IT() issued within the ISR, doesn't fire the subsequent IR. Why?

This topic has been closed for replies.

1 reply

ST Technical Moderator
Jun 13, 2025 10:41 AM UTC

Hello @chriskuku 

The second call for HAL_I2S_Transmit_IT() should be in the HAL_I2S_TxCpltCallback().

 
In order to give better visibility on the answered topics, please click on 'Best answer' on the reply which solved your issue or answered your question. Saket_Om