UART Transmission, Interrupt vs DMA
I am working on a project using UART communication and I have a question what is really different between interrupt mode and DMA mode in TX except for their underlying mechanism.
(HAL_UART_Transmit_IT vs HAL_UART_Transmit_DMA)
I know DMA uses the DMA controller which works independently, and Interrupt type directly use its internal peripheral,
but both are working as the non-blocking mode and they set interrupts when all the data has been transmitted and completed(HAL_UART_TxCpltCallback)
The only thing I can find is DMA can use the half-complete call back(HAL_UART_TxHalfCpltCallback) but is that the only difference except for the mechanism?
I tried all three methods (polling, interrupt, DMA), and worked fine.
The project needs to do something else while it transmits UART data, so I need to use interrupt type or DMA type.
Both sound good, but I am really wondering what is different between the two.
If they make the same result and just use different internal procedures or devices in MCU, when would use DMA or Interrupt?
I am a bit confused and need your help!
Thank You :)
