DMA not resuming after stopping
Hello,
I am currently using the Hal library to do send and receive I2S signals over DMA. I am constantly calling the DMA receive and transmit functions, because I cannot figure out how to work it in circular mode. I am struggling because whenever I stop calling the functions, it becomes impossible to resume. Even without calling the stop and resume functions. For example, when I press a button on my device it triggers an interrupt. This immediately stops all audio output from the device, even if the interrupt doesn't do anything. What's even stranger is that when I use it in debug mode, running straight through plays audio just fine, but as soon as I pause it, it stops never to be resumed again.
I've attached screenshots of my while loop, DMA configuration code, and the interrupt handler. I use 2 different I2S1 and 2 for receiving and transmitting, and their DMA config is the same apart from the direction.



