Question
Is this a bug? - STM32L4, HAL, USART DMA handler
Posted on October 02, 2015 at 14:39
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