STM32_General 1.0
Библиотеки для периферии STM32
Loading...
Searching...
No Matches
UART Tools

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

Collaboration diagram for UART Tools:

Topics

 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();
}
}
HAL_StatusTypeDef UART_Base_Init(UART_SettingsTypeDef *suart)
Инициализация UART с помощью структуры UART_SettingsTypeDef.
Структура настроек UART.
uint32_t DMA_CHANNEL_X
Номер канала DMA (0 если не нужен)
DMA_Stream_TypeDef * DMAChannel
Канал DMA (NULL если не нужен)
uint16_t GPIO_PIN_RX
Пин приема
uint16_t GPIO_PIN_TX
Пин передачи
UART_HandleTypeDef huart
HAL handle UART.
GPIO_TypeDef * GPIOx
Порт для UART.
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, дефайнами 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, дефайнами Init defines в general_uart.h определяются используемые UART.

Definition at line 267 of file general_uart.c.