2025-05-15 12:44 PM - edited 2025-05-15 1:39 PM
I'm using STM32CubeMX to generate initialization code for all my hardware. I initially tried USART1 TX with GPDMA1 Channel 0 - all data was transmitted over TX except neither the GPDMA1_Channel0_IRQHandler() nor the USART1_IRQHandler() didn't trigger. I used the same configuration settings but chose GPDMA Channel 10 - now both the GPDMA1_Channel10_IRQHandler() and the USART1_IRQHandler() get triggered.
Is this a known limitation? I haven't found anything relevant in MCU's Errata.
Note that the USART1 HAL_UART_Transmit_IT() triggers interrupt. So it's clearly a GPDMA issue.
The 2nd problem is that USART1 RX with GPDMA1 won't work with all the Channels I have tried so far (Channel 1 and Channel 11). If anyone else has experienced same issue please let me know which GPDMA1 channels worked with any USARTx.
EDIT: USART1 RX with GPDMA1 triggers interrupt for Channels 3, 4, and 7 but doesn't trigger for Channels 0, 1, 10, 11 (the rest I haven't tried yet).