Настройка UART

В статье «STM32 HAL UART» мы рассмотрели функции HAL для работы с UART STM32. Сегодня же разберем, как проводится настройка Uart в микроконтроллерах STM32, с помощью CubeMX. С генерируем настройки для микроконтроллера STM32F407VGTx.

Настройка UART в CubeMX

Настройка Uart находится в вкладке Connectivity. На самом деле настроек у UART не так много, разберем их подробнее:

Настройка Uart в STM32 CubeMX
  • Baud Rate — скорость обмена данными между двумя устройствами.
  • Word Length — количество бит данных. Возможно выбрать 8 или 9 бит данных.
  • Parity — бит четности. В CubeMx мы можем выбрать NONE (нет бита четности), Even (Четный бит четности), Odd (не четный бит четности). Это такой бит при котором к данным добавляется еще один бит. Он может быть равен 1 или 0. Если мы выбрали нечетный бит четности, то при добавлении его к данным у нас получится нечетное количество единиц, в случае с четным битом четности, в итоге мы получим четное количество единиц.
  • Stop Bits — стоповый бит. Можем выбрать 1 или 2. Это количество бит которые завершают посылку одного пакета данных.
  • Data Direction — Выбираем режим обмена. Только передача, только прием или прием и передача.
  • Over Sampling — здесь мы настраиваем скорость передискретизации для возможного восстановления данных по линии RX. Данную скорость можно выбрать увеличенную в 8 или 16 раз.

ВНИМАНИЕ! Настройка Over Sampling имеется не во всех микроконтроллерах STM32. По этому выставив ее, контроллер проигнорирует ее.

Настройка прерываний UART в STM32

Прерывания UART в STM32 настраиваются в вкладке NVIC Settings. Установив галку мы активируем прерывание.

Настройка прерываний UART в STM32

Так же необходимо зарегистрировать функции Callback. Это можно сделать через Project Maneger->Advensed Setting в поле справа Register CalBack:

Регистрация Callback функции

Настройка UART DMA

Настройка Uart DMA

Настроить DMA можно на вкладке DMA Settings. Здесь, для каждой линии RX и TX настраивается отдельный поток. Обратите внимание, что по линии RX данные копируются из устройства в память, а при TX данные копируются из памяти в устройство.

0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest
2 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
Fredrick Fitzgerald
5 месяцев назад

Hi, Neat post. There is a problem along with your website in internet explorer, would test this텶E still is the market chief and a good section of other folks will pass over your magnificent writing due to this problem.