STM32F103xB HAL User Manual
Data Structures | Defines | Typedefs | Enumerations | Functions
stm32f1xx_hal_uart.h File Reference

Header file of UART HAL module. More...

#include "stm32f1xx_hal_def.h"

Go to the source code of this file.

Data Structures

struct  UART_InitTypeDef
 UART Init Structure definition. More...
struct  __UART_HandleTypeDef
 UART handle Structure definition. More...

Defines

#define HAL_UART_ERROR_NONE   0x00000000U
#define HAL_UART_ERROR_PE   0x00000001U
#define HAL_UART_ERROR_NE   0x00000002U
#define HAL_UART_ERROR_FE   0x00000004U
#define HAL_UART_ERROR_ORE   0x00000008U
#define HAL_UART_ERROR_DMA   0x00000010U
#define HAL_UART_ERROR_INVALID_CALLBACK   0x00000020U
#define UART_WORDLENGTH_8B   0x00000000U
#define UART_WORDLENGTH_9B   ((uint32_t)USART_CR1_M)
#define UART_STOPBITS_1   0x00000000U
#define UART_STOPBITS_2   ((uint32_t)USART_CR2_STOP_1)
#define UART_PARITY_NONE   0x00000000U
#define UART_PARITY_EVEN   ((uint32_t)USART_CR1_PCE)
#define UART_PARITY_ODD   ((uint32_t)(USART_CR1_PCE | USART_CR1_PS))
#define UART_HWCONTROL_NONE   0x00000000U
#define UART_HWCONTROL_RTS   ((uint32_t)USART_CR3_RTSE)
#define UART_HWCONTROL_CTS   ((uint32_t)USART_CR3_CTSE)
#define UART_HWCONTROL_RTS_CTS   ((uint32_t)(USART_CR3_RTSE | USART_CR3_CTSE))
#define UART_MODE_RX   ((uint32_t)USART_CR1_RE)
#define UART_MODE_TX   ((uint32_t)USART_CR1_TE)
#define UART_MODE_TX_RX   ((uint32_t)(USART_CR1_TE | USART_CR1_RE))
#define UART_STATE_DISABLE   0x00000000U
#define UART_STATE_ENABLE   ((uint32_t)USART_CR1_UE)
#define UART_OVERSAMPLING_16   0x00000000U
#define UART_LINBREAKDETECTLENGTH_10B   0x00000000U
#define UART_LINBREAKDETECTLENGTH_11B   ((uint32_t)USART_CR2_LBDL)
#define UART_WAKEUPMETHOD_IDLELINE   0x00000000U
#define UART_WAKEUPMETHOD_ADDRESSMARK   ((uint32_t)USART_CR1_WAKE)
#define UART_FLAG_CTS   ((uint32_t)USART_SR_CTS)
#define UART_FLAG_LBD   ((uint32_t)USART_SR_LBD)
#define UART_FLAG_TXE   ((uint32_t)USART_SR_TXE)
#define UART_FLAG_TC   ((uint32_t)USART_SR_TC)
#define UART_FLAG_RXNE   ((uint32_t)USART_SR_RXNE)
#define UART_FLAG_IDLE   ((uint32_t)USART_SR_IDLE)
#define UART_FLAG_ORE   ((uint32_t)USART_SR_ORE)
#define UART_FLAG_NE   ((uint32_t)USART_SR_NE)
#define UART_FLAG_FE   ((uint32_t)USART_SR_FE)
#define UART_FLAG_PE   ((uint32_t)USART_SR_PE)
#define UART_IT_PE   ((uint32_t)(UART_CR1_REG_INDEX << 28U | USART_CR1_PEIE))
#define UART_IT_TXE   ((uint32_t)(UART_CR1_REG_INDEX << 28U | USART_CR1_TXEIE))
#define UART_IT_TC   ((uint32_t)(UART_CR1_REG_INDEX << 28U | USART_CR1_TCIE))
#define UART_IT_RXNE   ((uint32_t)(UART_CR1_REG_INDEX << 28U | USART_CR1_RXNEIE))
#define UART_IT_IDLE   ((uint32_t)(UART_CR1_REG_INDEX << 28U | USART_CR1_IDLEIE))
#define UART_IT_LBD   ((uint32_t)(UART_CR2_REG_INDEX << 28U | USART_CR2_LBDIE))
#define UART_IT_CTS   ((uint32_t)(UART_CR3_REG_INDEX << 28U | USART_CR3_CTSIE))
#define UART_IT_ERR   ((uint32_t)(UART_CR3_REG_INDEX << 28U | USART_CR3_EIE))
#define HAL_UART_RECEPTION_STANDARD   (0x00000000U)
#define HAL_UART_RECEPTION_TOIDLE   (0x00000001U)
#define __HAL_UART_RESET_HANDLE_STATE(__HANDLE__)
 Reset UART handle gstate & RxState.
#define __HAL_UART_FLUSH_DRREGISTER(__HANDLE__)   ((__HANDLE__)->Instance->DR)
 Flushes the UART DR register.
#define __HAL_UART_GET_FLAG(__HANDLE__, __FLAG__)   (((__HANDLE__)->Instance->SR & (__FLAG__)) == (__FLAG__))
 Checks whether the specified UART flag is set or not.
#define __HAL_UART_CLEAR_FLAG(__HANDLE__, __FLAG__)   ((__HANDLE__)->Instance->SR = ~(__FLAG__))
 Clears the specified UART pending flag.
#define __HAL_UART_CLEAR_PEFLAG(__HANDLE__)
 Clears the UART PE pending flag.
#define __HAL_UART_CLEAR_FEFLAG(__HANDLE__)   __HAL_UART_CLEAR_PEFLAG(__HANDLE__)
 Clears the UART FE pending flag.
#define __HAL_UART_CLEAR_NEFLAG(__HANDLE__)   __HAL_UART_CLEAR_PEFLAG(__HANDLE__)
 Clears the UART NE pending flag.
#define __HAL_UART_CLEAR_OREFLAG(__HANDLE__)   __HAL_UART_CLEAR_PEFLAG(__HANDLE__)
 Clears the UART ORE pending flag.
#define __HAL_UART_CLEAR_IDLEFLAG(__HANDLE__)   __HAL_UART_CLEAR_PEFLAG(__HANDLE__)
 Clears the UART IDLE pending flag.
#define __HAL_UART_ENABLE_IT(__HANDLE__, __INTERRUPT__)
 Enable the specified UART interrupt.
#define __HAL_UART_DISABLE_IT(__HANDLE__, __INTERRUPT__)
 Disable the specified UART interrupt.
#define __HAL_UART_GET_IT_SOURCE(__HANDLE__, __IT__)
 Checks whether the specified UART interrupt source is enabled or not.
#define __HAL_UART_HWCONTROL_CTS_ENABLE(__HANDLE__)
 Enable CTS flow control.
#define __HAL_UART_HWCONTROL_CTS_DISABLE(__HANDLE__)
 Disable CTS flow control.
#define __HAL_UART_HWCONTROL_RTS_ENABLE(__HANDLE__)
 Enable RTS flow control This macro allows to enable RTS hardware flow control for a given UART instance, without need to call HAL_UART_Init() function.
#define __HAL_UART_HWCONTROL_RTS_DISABLE(__HANDLE__)
 Disable RTS flow control This macro allows to disable RTS hardware flow control for a given UART instance, without need to call HAL_UART_Init() function.
#define __HAL_UART_ENABLE(__HANDLE__)   ((__HANDLE__)->Instance->CR1 |= USART_CR1_UE)
 Enable UART.
#define __HAL_UART_DISABLE(__HANDLE__)   ((__HANDLE__)->Instance->CR1 &= ~USART_CR1_UE)
 Disable UART.
#define UART_IT_MASK   0x0000FFFFU
 UART interruptions flag mask.
#define UART_CR1_REG_INDEX   1U
#define UART_CR2_REG_INDEX   2U
#define UART_CR3_REG_INDEX   3U
#define IS_UART_WORD_LENGTH(LENGTH)
#define IS_UART_LIN_WORD_LENGTH(LENGTH)   (((LENGTH) == UART_WORDLENGTH_8B))
#define IS_UART_STOPBITS(STOPBITS)
#define IS_UART_PARITY(PARITY)
#define IS_UART_HARDWARE_FLOW_CONTROL(CONTROL)
#define IS_UART_MODE(MODE)   ((((MODE) & 0x0000FFF3U) == 0x00U) && ((MODE) != 0x00U))
#define IS_UART_STATE(STATE)
#define IS_UART_LIN_OVERSAMPLING(SAMPLING)   (((SAMPLING) == UART_OVERSAMPLING_16))
#define IS_UART_LIN_BREAK_DETECT_LENGTH(LENGTH)
#define IS_UART_WAKEUPMETHOD(WAKEUP)
#define IS_UART_BAUDRATE(BAUDRATE)   ((BAUDRATE) <= 4500000U)
#define IS_UART_ADDRESS(ADDRESS)   ((ADDRESS) <= 0x0FU)
#define UART_DIV_SAMPLING16(_PCLK_, _BAUD_)   (((_PCLK_)*25U)/(4U*(_BAUD_)))
#define UART_DIVMANT_SAMPLING16(_PCLK_, _BAUD_)   (UART_DIV_SAMPLING16((_PCLK_), (_BAUD_))/100U)
#define UART_DIVFRAQ_SAMPLING16(_PCLK_, _BAUD_)   ((((UART_DIV_SAMPLING16((_PCLK_), (_BAUD_)) - (UART_DIVMANT_SAMPLING16((_PCLK_), (_BAUD_)) * 100U)) * 16U) + 50U) / 100U)
#define UART_BRR_SAMPLING16(_PCLK_, _BAUD_)
#define UART_DIV_SAMPLING8(_PCLK_, _BAUD_)   (((_PCLK_)*25U)/(2U*(_BAUD_)))
#define UART_DIVMANT_SAMPLING8(_PCLK_, _BAUD_)   (UART_DIV_SAMPLING8((_PCLK_), (_BAUD_))/100U)
#define UART_DIVFRAQ_SAMPLING8(_PCLK_, _BAUD_)   ((((UART_DIV_SAMPLING8((_PCLK_), (_BAUD_)) - (UART_DIVMANT_SAMPLING8((_PCLK_), (_BAUD_)) * 100U)) * 8U) + 50U) / 100U)
#define UART_BRR_SAMPLING8(_PCLK_, _BAUD_)

Typedefs

typedef uint32_t HAL_UART_RxTypeTypeDef
 HAL UART Reception type definition.
typedef struct __UART_HandleTypeDef UART_HandleTypeDef
 UART handle Structure definition.
typedef void(* pUART_CallbackTypeDef )(UART_HandleTypeDef *huart)
 HAL UART Callback pointer definition.
typedef void(* pUART_RxEventCallbackTypeDef )(struct __UART_HandleTypeDef *huart, uint16_t Pos)

Enumerations

enum  HAL_UART_StateTypeDef {
  HAL_UART_STATE_RESET = 0x00U, HAL_UART_STATE_READY = 0x20U, HAL_UART_STATE_BUSY = 0x24U, HAL_UART_STATE_BUSY_TX = 0x21U,
  HAL_UART_STATE_BUSY_RX = 0x22U, HAL_UART_STATE_BUSY_TX_RX = 0x23U, HAL_UART_STATE_TIMEOUT = 0xA0U, HAL_UART_STATE_ERROR = 0xE0U
}
 HAL UART State structures definition. More...
enum  HAL_UART_CallbackIDTypeDef {
  HAL_UART_TX_HALFCOMPLETE_CB_ID = 0x00U, HAL_UART_TX_COMPLETE_CB_ID = 0x01U, HAL_UART_RX_HALFCOMPLETE_CB_ID = 0x02U, HAL_UART_RX_COMPLETE_CB_ID = 0x03U,
  HAL_UART_ERROR_CB_ID = 0x04U, HAL_UART_ABORT_COMPLETE_CB_ID = 0x05U, HAL_UART_ABORT_TRANSMIT_COMPLETE_CB_ID = 0x06U, HAL_UART_ABORT_RECEIVE_COMPLETE_CB_ID = 0x07U,
  HAL_UART_WAKEUP_CB_ID = 0x08U, HAL_UART_MSPINIT_CB_ID = 0x0BU, HAL_UART_MSPDEINIT_CB_ID = 0x0CU
}
 HAL UART Callback ID enumeration definition. More...

Functions

HAL_StatusTypeDef HAL_UART_Init (UART_HandleTypeDef *huart)
 Initializes the UART mode according to the specified parameters in the UART_InitTypeDef and create the associated handle.
HAL_StatusTypeDef HAL_HalfDuplex_Init (UART_HandleTypeDef *huart)
 Initializes the half-duplex mode according to the specified parameters in the UART_InitTypeDef and create the associated handle.
HAL_StatusTypeDef HAL_LIN_Init (UART_HandleTypeDef *huart, uint32_t BreakDetectLength)
 Initializes the LIN mode according to the specified parameters in the UART_InitTypeDef and create the associated handle.
HAL_StatusTypeDef HAL_MultiProcessor_Init (UART_HandleTypeDef *huart, uint8_t Address, uint32_t WakeUpMethod)
 Initializes the Multi-Processor mode according to the specified parameters in the UART_InitTypeDef and create the associated handle.
HAL_StatusTypeDef HAL_UART_DeInit (UART_HandleTypeDef *huart)
 DeInitializes the UART peripheral.
__weak void HAL_UART_MspInit (UART_HandleTypeDef *huart)
 UART MSP Init.
__weak void HAL_UART_MspDeInit (UART_HandleTypeDef *huart)
 UART MSP DeInit.
HAL_StatusTypeDef HAL_UART_RegisterCallback (UART_HandleTypeDef *huart, HAL_UART_CallbackIDTypeDef CallbackID, pUART_CallbackTypeDef pCallback)
 Register a User UART Callback To be used instead of the weak predefined callback.
HAL_StatusTypeDef HAL_UART_UnRegisterCallback (UART_HandleTypeDef *huart, HAL_UART_CallbackIDTypeDef CallbackID)
 Unregister an UART Callback UART callaback is redirected to the weak predefined callback.
HAL_StatusTypeDef HAL_UART_RegisterRxEventCallback (UART_HandleTypeDef *huart, pUART_RxEventCallbackTypeDef pCallback)
 Register a User UART Rx Event Callback To be used instead of the weak predefined callback.
HAL_StatusTypeDef HAL_UART_UnRegisterRxEventCallback (UART_HandleTypeDef *huart)
 UnRegister the UART Rx Event Callback UART Rx Event Callback is redirected to the weak HAL_UARTEx_RxEventCallback() predefined callback.
HAL_StatusTypeDef HAL_UART_Transmit (UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size, uint32_t Timeout)
 Sends an amount of data in blocking mode.
HAL_StatusTypeDef HAL_UART_Receive (UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size, uint32_t Timeout)
 Receives an amount of data in blocking mode.
HAL_StatusTypeDef HAL_UART_Transmit_IT (UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size)
 Sends an amount of data in non blocking mode.
HAL_StatusTypeDef HAL_UART_Receive_IT (UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size)
 Receives an amount of data in non blocking mode.
HAL_StatusTypeDef HAL_UART_Transmit_DMA (UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size)
 Sends an amount of data in DMA mode.
HAL_StatusTypeDef HAL_UART_Receive_DMA (UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size)
 Receives an amount of data in DMA mode.
HAL_StatusTypeDef HAL_UART_DMAPause (UART_HandleTypeDef *huart)
 Pauses the DMA Transfer.
HAL_StatusTypeDef HAL_UART_DMAResume (UART_HandleTypeDef *huart)
 Resumes the DMA Transfer.
HAL_StatusTypeDef HAL_UART_DMAStop (UART_HandleTypeDef *huart)
 Stops the DMA Transfer.
HAL_StatusTypeDef HAL_UARTEx_ReceiveToIdle (UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size, uint16_t *RxLen, uint32_t Timeout)
 Receive an amount of data in blocking mode till either the expected number of data is received or an IDLE event occurs.
HAL_StatusTypeDef HAL_UARTEx_ReceiveToIdle_IT (UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size)
 Receive an amount of data in interrupt mode till either the expected number of data is received or an IDLE event occurs.
HAL_StatusTypeDef HAL_UARTEx_ReceiveToIdle_DMA (UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size)
 Receive an amount of data in DMA mode till either the expected number of data is received or an IDLE event occurs.
HAL_StatusTypeDef HAL_UART_Abort (UART_HandleTypeDef *huart)
 Abort ongoing transfers (blocking mode).
HAL_StatusTypeDef HAL_UART_AbortTransmit (UART_HandleTypeDef *huart)
 Abort ongoing Transmit transfer (blocking mode).
HAL_StatusTypeDef HAL_UART_AbortReceive (UART_HandleTypeDef *huart)
 Abort ongoing Receive transfer (blocking mode).
HAL_StatusTypeDef HAL_UART_Abort_IT (UART_HandleTypeDef *huart)
 Abort ongoing transfers (Interrupt mode).
HAL_StatusTypeDef HAL_UART_AbortTransmit_IT (UART_HandleTypeDef *huart)
 Abort ongoing Transmit transfer (Interrupt mode).
HAL_StatusTypeDef HAL_UART_AbortReceive_IT (UART_HandleTypeDef *huart)
 Abort ongoing Receive transfer (Interrupt mode).
void HAL_UART_IRQHandler (UART_HandleTypeDef *huart)
 This function handles UART interrupt request.
__weak void HAL_UART_TxCpltCallback (UART_HandleTypeDef *huart)
 Tx Transfer completed callbacks.
__weak void HAL_UART_TxHalfCpltCallback (UART_HandleTypeDef *huart)
 Tx Half Transfer completed callbacks.
__weak void HAL_UART_RxCpltCallback (UART_HandleTypeDef *huart)
 Rx Transfer completed callbacks.
__weak void HAL_UART_RxHalfCpltCallback (UART_HandleTypeDef *huart)
 Rx Half Transfer completed callbacks.
__weak void HAL_UART_ErrorCallback (UART_HandleTypeDef *huart)
 UART error callbacks.
__weak void HAL_UART_AbortCpltCallback (UART_HandleTypeDef *huart)
 UART Abort Complete callback.
__weak void HAL_UART_AbortTransmitCpltCallback (UART_HandleTypeDef *huart)
 UART Abort Complete callback.
__weak void HAL_UART_AbortReceiveCpltCallback (UART_HandleTypeDef *huart)
 UART Abort Receive Complete callback.
__weak void HAL_UARTEx_RxEventCallback (UART_HandleTypeDef *huart, uint16_t Size)
 Reception Event Callback (Rx event notification called after use of advanced reception service).
HAL_StatusTypeDef HAL_LIN_SendBreak (UART_HandleTypeDef *huart)
 Transmits break characters.
HAL_StatusTypeDef HAL_MultiProcessor_EnterMuteMode (UART_HandleTypeDef *huart)
 Enters the UART in mute mode.
HAL_StatusTypeDef HAL_MultiProcessor_ExitMuteMode (UART_HandleTypeDef *huart)
 Exits the UART mute mode: wake up software.
HAL_StatusTypeDef HAL_HalfDuplex_EnableTransmitter (UART_HandleTypeDef *huart)
 Enables the UART transmitter and disables the UART receiver.
HAL_StatusTypeDef HAL_HalfDuplex_EnableReceiver (UART_HandleTypeDef *huart)
 Enables the UART receiver and disables the UART transmitter.
HAL_UART_StateTypeDef HAL_UART_GetState (UART_HandleTypeDef *huart)
 Returns the UART state.
uint32_t HAL_UART_GetError (UART_HandleTypeDef *huart)
 Return the UART error code.
HAL_StatusTypeDef UART_Start_Receive_IT (UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size)
 Start Receive operation in interrupt mode.
HAL_StatusTypeDef UART_Start_Receive_DMA (UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size)
 Start Receive operation in DMA mode.

Detailed Description

Header file of UART HAL module.

Author:
MCD Application Team
Attention:

© Copyright (c) 2016 STMicroelectronics. All rights reserved.

This software component is licensed by ST under BSD 3-Clause license, the "License"; You may not use this file except in compliance with the License. You may obtain a copy of the License at: opensource.org/licenses/BSD-3-Clause

Definition in file stm32f1xx_hal_uart.h.