Loading...
Searching...
No Matches
UART Tools

Функции и макросы для удобной работы с UART. More...

Collaboration diagram for UART Tools:

## Topics

| UART Init defines
| Настройка UART.

## Classes

struct | UART_SettingsTypeDef
| Структура настроек UART. More...

## Functions

HAL_StatusTypeDef | UART_Base_Init (UART_SettingsTypeDef *suart)
| Инициализация UART с помощью структуры UART_SettingsTypeDef.
HAL_StatusTypeDef | UART_Check_Init_Struct (UART_SettingsTypeDef *suart)
| Проверка корректности структуры инициализации UART.
void | UART_MspInit (UART_HandleTypeDef *huart)
| Настройка тактирования и прерываний UART.
void | UART_MspDeInit (UART_HandleTypeDef *huart)
| Деинициализация тактирования и прерываний UART.

## Detailed Description

Функции и макросы для удобной работы с UART.

Модуль предоставляет функции для базовой инициализации UART

Пример использования:
  // Структура настроек UART
  UART_SettingsTypeDef uart2Settings;
  void UART2_Init(void)
  {
  // Настройка UART2 с 115200 бод, 8 бит, 1 стоп-бит, без паритета
  uart2Settings.huart.Instance = USART2;
  uart2Settings.huart.Init.BaudRate = 115200;
  uart2Settings.huart.Init.WordLength = UART_WORDLENGTH_8B;
  uart2Settings.huart.Init.StopBits = UART_STOPBITS_1;
  uart2Settings.huart.Init.Parity = UART_PARITY_NONE;
  uart2Settings.huart.Init.Mode = UART_MODE_TX_RX;
  uart2Settings.huart.Init.HwFlowCtl = UART_HWCONTROL_NONE;
  uart2Settings.huart.Init.OverSampling = UART_OVERSAMPLING_16;
  // Настройка GPIO
  uart2Settings.GPIOx = GPIOA;
  uart2Settings.GPIO_PIN_TX = GPIO_PIN_2;
  uart2Settings.GPIO_PIN_RX = GPIO_PIN_3;
  // DMA не используется в этом примере
  uart2Settings.DMAChannel = NULL;
  uart2Settings.DMA_CHANNEL_X = 0;
  // Инициализация UART
  if(UART_Base_Init(&uart2Settings) != HAL_OK)
  {
  // Обработка ошибки
  Error_Handler();
  }
  }
  UART_Base_Init
  HAL_StatusTypeDef UART_Base_Init(UART_SettingsTypeDef *suart)
  Инициализация UART с помощью структуры UART_SettingsTypeDef.
  Definition general_uart.c:32
  UART_SettingsTypeDef
  Структура настроек UART.
  Definition general_uart.h:98
  UART_SettingsTypeDef::DMA_CHANNEL_X
  uint32_t DMA_CHANNEL_X
  Номер канала DMA (0 если не нужен)
  Definition general_uart.h:106
  UART_SettingsTypeDef::DMAChannel
  DMA_Stream_TypeDef * DMAChannel
  Канал DMA (NULL если не нужен)
  Definition general_uart.h:105
  UART_SettingsTypeDef::GPIO_PIN_RX
  uint16_t GPIO_PIN_RX
  Пин приема
  Definition general_uart.h:102
  UART_SettingsTypeDef::GPIO_PIN_TX
  uint16_t GPIO_PIN_TX
  Пин передачи
  Definition general_uart.h:103
  UART_SettingsTypeDef::huart
  UART_HandleTypeDef huart
  HAL handle UART.
  Definition general_uart.h:99
  UART_SettingsTypeDef::GPIOx
  GPIO_TypeDef * GPIOx
  Порт для UART.
  Definition general_uart.h:101

Note
  Требуется подключение модуля UART в библиотеке HAL
  #define HAL_UART_MODULE_ENABLED

## Function Documentation

## UART_Base_Init()

HAL_StatusTypeDef UART_Base_Init | ( | UART_SettingsTypeDef * | suart | ) |

Инициализация UART с помощью структуры UART_SettingsTypeDef.

Parameters

  suart | Указатель на структуру с настройками UART.

Returns
  HAL status.

Инициализирует UART и его GPIO и при необходимости DMA. Настройка аналогична HAL_UART_Init

suart.huart.Init...

но дополнительно надо прописать пины RX/TX UART_SettingsTypeDef

suart->GPIOx, suart->GPIO_PIN_RX, suart->GPIO_PIN_TX

Definition at line 32 of file general_uart.c.

## UART_Check_Init_Struct()

HAL_StatusTypeDef UART_Check_Init_Struct | ( | UART_SettingsTypeDef * | suart | ) |

Проверка корректности структуры инициализации UART.

Parameters

  suart | Указатель на структуру с настройками UART.

Returns
  HAL status.

Definition at line 364 of file general_uart.c.

## UART_MspInit()

void UART_MspInit | ( | UART_HandleTypeDef * | huart | ) |

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

Parameters

  huart | Указатель на хендл UART.

Note
  Чтобы не генерировать функцию с иницилизацией неиспользуемых UART, дефайнами UART Init defines в general_uart.h определяются используемые UART.

Definition at line 146 of file general_uart.c.

## UART_MspDeInit()

void UART_MspDeInit | ( | UART_HandleTypeDef * | huart | ) |

Деинициализация тактирования и прерываний UART.

Parameters

  huart | Указатель на хендл UART.

Note
  Чтобы не генерировать функцию с деиницилизацией неиспользуемых UART, дефайнами UART Init defines в general_uart.h определяются используемые UART.

Definition at line 267 of file general_uart.c.