How DMA works in UART
Hello !
I've been wondering how DMA works in UART.
I've checked some codes for example HAL_UART_Transmit_DMA(). I know it is set to sned 8 bit to peripheral. But I wondered when DMA knows that UART sent 8 bit when it is TX DMA or recevied 8 bit when it is in RX DMA. In this case it is TX.
I've checked what HAL_UART_Transmit_DMA() does :

And there was this HAL_DMA_Start_IT(). So it works that DMA sends it's data from memory to UART TX registers. Ok. So tmp is the memory we have the data, and the Instance-> DR is the register the data must be sent.
So where exactly there is info about turning on the UART to transmit data, and when does the DMA know that UART sent 8 bit and is ready to send another 8 bits ?
I've also noticed this :

But I don't understand what it does ? It turn on the UART transmit ?
Sorry for being to picky I was quite a bit confused due to the fact that in HAL_UART_Transmit there is a while which has a counter that sends 1 byte

Although I don't know if it has any info back whether it has sent the data or not. It's so confusing ... There is no waiting time or anything.