Перейти к содержанию
    

Передача/прием разными функциями HAL.

В чем разница между функциями HAL_UART_Transmit_DMA, HAL_UART_Transmit_IT и HAL_UART_Transmit?

 

Понятно, что первая реализует передачу, используя DMA, но в чем еще разница между ней и HAL_UART_Transmit_IT?

 

Правильно ли понимаю, что после вызова HAL_UART_Transmit_DMA процессор сразу же выполняет следующие команды, а передача данных идет в "фоновом" режиме?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В чем разница между функциями 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()

 

 

 

 

Правильно ли понимаю, что после вызова HAL_UART_Transmit_DMA процессор сразу же выполняет следующие команды, а передача данных идет в "фоновом" режиме?

Да. Для этого достаточно посмотреть код этой функции - там нет никаких ожиданий.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...