Цитата(charkin @ Jan 30 2017, 00:21)
В чем разница между функциями HAL_UART_Transmit_DMA, HAL_UART_Transmit_IT и HAL_UART_Transmit?
Рекомендую обратиться к первоисточнику, т.е. документации.
В заголовке этого stmXXXX_hal_uart.c всё подробно расписано.
(#) Blocking mode APIs are:
(++) HAL_UART_Transmit()
(++) HAL_UART_Receive()
(#) Non Blocking mode APIs with Interrupt are:
(++) HAL_UART_Transmit_IT()
(++) HAL_UART_Receive_IT()
(++) HAL_UART_IRQHandler()
(#) Non Blocking mode functions with DMA are:
(++) HAL_UART_Transmit_DMA()
(++) HAL_UART_Receive_DMA()
(++) HAL_UART_DMAPause()
(++) HAL_UART_DMAResume()
(++) HAL_UART_DMAStop()
Цитата(charkin @ Jan 30 2017, 00:21)
Правильно ли понимаю, что после вызова HAL_UART_Transmit_DMA процессор сразу же выполняет следующие команды, а передача данных идет в "фоновом" режиме?
Да. Для этого достаточно посмотреть код этой функции - там нет никаких ожиданий.