AnsweredAssumed Answered

Is this a bug? - STM32L4, HAL, USART DMA handler

Question asked by kledtke.steve.002 on Oct 2, 2015
Latest reply on Oct 8, 2015 by Amel N
Using HAL, I have configured DMA1_CH2 and USART3_TX such that once in a while, a block of bytes will be copied from memory to peripheral, in NORMAL, i.e. non-circular mode.

Now, my handler, HAL_USART_TxCpltCallback, never gets called - but the one for the half complete does get called.

In file stm32L4xx_hal_usart.c, function USART_DMATransmitCplt, the HAL_USART_TxCpltCallback is called.
BUT: only when the DMA is in circular mode.
Is this a bug, or does this somehow make sense and I have misunderstood how to use this feature?
This HAL-internal handler does get called, so my configuration basically works I guess.

For my USART Transmission in normal mode, I don't care for the half-completed callback, I only need to know when it's done.
How is it supposed to be done?

Thanks in advance