2022-03-29 10:56 PM
Hello, I ported wokring code from STM32F4 to STM32H7 (STM32H7A3NI). So far most is working as expected, however on SPI2 used as I2S the circular RX DMA1 Stream3 does not start. NTD remains on its initial value 0x800. The SPI2 has RXP and OVR set. The TX DMA1 Stream4 works as expected. The DMA buffers are aligned and in DMA-reachable memory.
HAL_I2SEx_TransmitReceive_DMA (1.9.1) is used. The init order is not as described in the Reference Manual RM0455 Rev 7, page 2115. I also tried the Ref.M. order without success.
The following image shows the SPI2 registers after start The following 2 image show the state of the DMA1 Steam3 (RX) and Stream4 (TX) about a second from each other. The Stream3 NDT stays on 0x800 whereas Stream4 counts.
What could prevent DMA1 Stream3 from starting? Any help appreciated! Thanks in advance.
Solved! Go to Solution.
2022-03-29 11:29 PM
Resolved: missed to set AudioStreamRxDmaHandle.Init.Request = DMA_REQUEST_SPI2_RX
2022-03-29 11:29 PM
Resolved: missed to set AudioStreamRxDmaHandle.Init.Request = DMA_REQUEST_SPI2_RX