STM32L4xx_HAL_Driver  1.14.0
USART Exported Types

Data Structures

struct  USART_InitTypeDef
 USART Init Structure definition. More...
 
struct  __USART_HandleTypeDef
 USART handle Structure definition. More...
 

Typedefs

typedef struct __USART_HandleTypeDef USART_HandleTypeDef
 USART handle Structure definition. More...
 
typedef void(* pUSART_CallbackTypeDef) (USART_HandleTypeDef *husart)
 HAL USART Callback pointer definition. More...
 

Enumerations

enum  HAL_USART_StateTypeDef {
  HAL_USART_STATE_RESET = 0x00U, HAL_USART_STATE_READY = 0x01U, HAL_USART_STATE_BUSY = 0x02U, HAL_USART_STATE_BUSY_TX = 0x12U,
  HAL_USART_STATE_BUSY_RX = 0x22U, HAL_USART_STATE_BUSY_TX_RX = 0x32U, HAL_USART_STATE_TIMEOUT = 0x03U, HAL_USART_STATE_ERROR = 0x04U
}
 HAL USART State structures definition. More...
 
enum  USART_ClockSourceTypeDef {
  USART_CLOCKSOURCE_PCLK1 = 0x00U, USART_CLOCKSOURCE_PCLK2 = 0x01U, USART_CLOCKSOURCE_HSI = 0x02U, USART_CLOCKSOURCE_SYSCLK = 0x04U,
  USART_CLOCKSOURCE_LSE = 0x08U, USART_CLOCKSOURCE_UNDEFINED = 0x10U
}
 USART clock sources definitions. More...
 
enum  HAL_USART_CallbackIDTypeDef {
  HAL_USART_TX_HALFCOMPLETE_CB_ID = 0x00U, HAL_USART_TX_COMPLETE_CB_ID = 0x01U, HAL_USART_RX_HALFCOMPLETE_CB_ID = 0x02U, HAL_USART_RX_COMPLETE_CB_ID = 0x03U,
  HAL_USART_TX_RX_COMPLETE_CB_ID = 0x04U, HAL_USART_ERROR_CB_ID = 0x05U, HAL_USART_ABORT_COMPLETE_CB_ID = 0x06U, HAL_USART_RX_FIFO_FULL_CB_ID = 0x07U,
  HAL_USART_TX_FIFO_EMPTY_CB_ID = 0x08U, HAL_USART_MSPINIT_CB_ID = 0x09U, HAL_USART_MSPDEINIT_CB_ID = 0x0AU
}
 HAL USART Callback ID enumeration definition. More...
 

Detailed Description


Data Structure Documentation

◆ USART_InitTypeDef

struct USART_InitTypeDef

USART Init Structure definition.

Definition at line 47 of file stm32l4xx_hal_usart.h.

Data Fields
uint32_t BaudRate

This member configures the Usart communication baud rate. The baud rate is computed using the following formula: Baud Rate Register[15:4] = ((2 * fclk_pres) / ((huart->Init.BaudRate)))[15:4] Baud Rate Register[3] = 0 Baud Rate Register[2:0] = (((2 * fclk_pres) / ((huart->Init.BaudRate)))[3:0]) >> 1 where fclk_pres is the USART input clock frequency (fclk) (divided by a prescaler if applicable)

Note
Oversampling by 8 is systematically applied to achieve high baud rates.
uint32_t CLKLastBit

Specifies whether the clock pulse corresponding to the last transmitted data bit (MSB) has to be output on the SCLK pin in synchronous mode. This parameter can be a value of USART Last Bit.

uint32_t CLKPhase

Specifies the clock transition on which the bit capture is made. This parameter can be a value of USART Clock Phase.

uint32_t CLKPolarity

Specifies the steady state of the serial clock. This parameter can be a value of USART Clock Polarity.

uint32_t ClockPrescaler

Specifies the prescaler value used to divide the USART clock source. This parameter can be a value of USART Clock Prescaler.

uint32_t Mode

Specifies whether the Receive or Transmit mode is enabled or disabled. This parameter can be a value of USART Mode.

uint32_t Parity

Specifies the parity mode. This parameter can be a value of USART Parity

Note
When parity is enabled, the computed parity is inserted at the MSB position of the transmitted data (9th bit when the word length is set to 9 data bits; 8th bit when the word length is set to 8 data bits).
uint32_t StopBits

Specifies the number of stop bits transmitted. This parameter can be a value of USART Number of Stop Bits.

uint32_t WordLength

Specifies the number of data bits transmitted or received in a frame. This parameter can be a value of USARTEx Word Length.

◆ __USART_HandleTypeDef

struct __USART_HandleTypeDef

USART handle Structure definition.

Definition at line 120 of file stm32l4xx_hal_usart.h.

Data Fields

USART_TypeDef * Instance
 
USART_InitTypeDef Init
 
uint8_t * pTxBuffPtr
 
uint16_t TxXferSize
 
__IO uint16_t TxXferCount
 
uint8_t * pRxBuffPtr
 
uint16_t RxXferSize
 
__IO uint16_t RxXferCount
 
uint16_t Mask
 
uint16_t NbRxDataToProcess
 
uint16_t NbTxDataToProcess
 
uint32_t SlaveMode
 
uint32_t FifoMode
 
void(* RxISR )(struct __USART_HandleTypeDef *husart)
 
void(* TxISR )(struct __USART_HandleTypeDef *husart)
 
DMA_HandleTypeDefhdmatx
 
DMA_HandleTypeDefhdmarx
 
HAL_LockTypeDef Lock
 
__IO HAL_USART_StateTypeDef State
 
__IO uint32_t ErrorCode
 
void(* TxHalfCpltCallback )(struct __USART_HandleTypeDef *husart)
 
void(* TxCpltCallback )(struct __USART_HandleTypeDef *husart)
 
void(* RxHalfCpltCallback )(struct __USART_HandleTypeDef *husart)
 
void(* RxCpltCallback )(struct __USART_HandleTypeDef *husart)
 
void(* TxRxCpltCallback )(struct __USART_HandleTypeDef *husart)
 
void(* ErrorCallback )(struct __USART_HandleTypeDef *husart)
 
void(* AbortCpltCallback )(struct __USART_HandleTypeDef *husart)
 
void(* RxFifoFullCallback )(struct __USART_HandleTypeDef *husart)
 
void(* TxFifoEmptyCallback )(struct __USART_HandleTypeDef *husart)
 
void(* MspInitCallback )(struct __USART_HandleTypeDef *husart)
 
void(* MspDeInitCallback )(struct __USART_HandleTypeDef *husart)
 

Field Documentation

◆ AbortCpltCallback

void(* __USART_HandleTypeDef::AbortCpltCallback) (struct __USART_HandleTypeDef *husart)

USART Abort Complete Callback

Definition at line 177 of file stm32l4xx_hal_usart.h.

◆ ErrorCallback

void(* __USART_HandleTypeDef::ErrorCallback) (struct __USART_HandleTypeDef *husart)

USART Error Callback

Definition at line 176 of file stm32l4xx_hal_usart.h.

◆ ErrorCode

__IO uint32_t __USART_HandleTypeDef::ErrorCode

USART Error code

Definition at line 168 of file stm32l4xx_hal_usart.h.

◆ FifoMode

uint32_t __USART_HandleTypeDef::FifoMode

Specifies if the FIFO mode will be used. This parameter can be a value of USARTEx FIFO mode.

Definition at line 152 of file stm32l4xx_hal_usart.h.

◆ hdmarx

DMA_HandleTypeDef* __USART_HandleTypeDef::hdmarx

USART Rx DMA Handle parameters

Definition at line 162 of file stm32l4xx_hal_usart.h.

◆ hdmatx

DMA_HandleTypeDef* __USART_HandleTypeDef::hdmatx

USART Tx DMA Handle parameters

Definition at line 160 of file stm32l4xx_hal_usart.h.

◆ Init

USART_InitTypeDef __USART_HandleTypeDef::Init

USART communication parameters

Definition at line 124 of file stm32l4xx_hal_usart.h.

◆ Instance

USART_TypeDef* __USART_HandleTypeDef::Instance

USART registers base address

Definition at line 122 of file stm32l4xx_hal_usart.h.

◆ Lock

HAL_LockTypeDef __USART_HandleTypeDef::Lock

Locking object

Definition at line 164 of file stm32l4xx_hal_usart.h.

◆ Mask

uint16_t __USART_HandleTypeDef::Mask

USART Rx RDR register mask

Definition at line 138 of file stm32l4xx_hal_usart.h.

◆ MspDeInitCallback

void(* __USART_HandleTypeDef::MspDeInitCallback) (struct __USART_HandleTypeDef *husart)

USART Msp DeInit callback

Definition at line 184 of file stm32l4xx_hal_usart.h.

◆ MspInitCallback

void(* __USART_HandleTypeDef::MspInitCallback) (struct __USART_HandleTypeDef *husart)

USART Msp Init callback

Definition at line 183 of file stm32l4xx_hal_usart.h.

◆ NbRxDataToProcess

uint16_t __USART_HandleTypeDef::NbRxDataToProcess

Number of data to process during RX ISR execution

Definition at line 141 of file stm32l4xx_hal_usart.h.

◆ NbTxDataToProcess

uint16_t __USART_HandleTypeDef::NbTxDataToProcess

Number of data to process during TX ISR execution

Definition at line 143 of file stm32l4xx_hal_usart.h.

◆ pRxBuffPtr

uint8_t* __USART_HandleTypeDef::pRxBuffPtr

Pointer to USART Rx transfer Buffer

Definition at line 132 of file stm32l4xx_hal_usart.h.

◆ pTxBuffPtr

uint8_t* __USART_HandleTypeDef::pTxBuffPtr

Pointer to USART Tx transfer Buffer

Definition at line 126 of file stm32l4xx_hal_usart.h.

◆ RxCpltCallback

void(* __USART_HandleTypeDef::RxCpltCallback) (struct __USART_HandleTypeDef *husart)

USART Rx Complete Callback

Definition at line 174 of file stm32l4xx_hal_usart.h.

◆ RxFifoFullCallback

void(* __USART_HandleTypeDef::RxFifoFullCallback) (struct __USART_HandleTypeDef *husart)

USART Rx Fifo Full Callback

Definition at line 179 of file stm32l4xx_hal_usart.h.

◆ RxHalfCpltCallback

void(* __USART_HandleTypeDef::RxHalfCpltCallback) (struct __USART_HandleTypeDef *husart)

USART Rx Half Complete Callback

Definition at line 173 of file stm32l4xx_hal_usart.h.

◆ RxISR

void(* __USART_HandleTypeDef::RxISR) (struct __USART_HandleTypeDef *husart)

Function pointer on Rx IRQ handler

Definition at line 156 of file stm32l4xx_hal_usart.h.

◆ RxXferCount

__IO uint16_t __USART_HandleTypeDef::RxXferCount

USART Rx Transfer Counter

Definition at line 136 of file stm32l4xx_hal_usart.h.

◆ RxXferSize

uint16_t __USART_HandleTypeDef::RxXferSize

USART Rx Transfer size

Definition at line 134 of file stm32l4xx_hal_usart.h.

◆ SlaveMode

uint32_t __USART_HandleTypeDef::SlaveMode

Enable/Disable UART SPI Slave Mode. This parameter can be a value of USARTEx Synchronous Slave mode enable

Definition at line 147 of file stm32l4xx_hal_usart.h.

◆ State

__IO HAL_USART_StateTypeDef __USART_HandleTypeDef::State

USART communication state

Definition at line 166 of file stm32l4xx_hal_usart.h.

◆ TxCpltCallback

void(* __USART_HandleTypeDef::TxCpltCallback) (struct __USART_HandleTypeDef *husart)

USART Tx Complete Callback

Definition at line 172 of file stm32l4xx_hal_usart.h.

◆ TxFifoEmptyCallback

void(* __USART_HandleTypeDef::TxFifoEmptyCallback) (struct __USART_HandleTypeDef *husart)

USART Tx Fifo Empty Callback

Definition at line 180 of file stm32l4xx_hal_usart.h.

◆ TxHalfCpltCallback

void(* __USART_HandleTypeDef::TxHalfCpltCallback) (struct __USART_HandleTypeDef *husart)

USART Tx Half Complete Callback

Definition at line 171 of file stm32l4xx_hal_usart.h.

◆ TxISR

void(* __USART_HandleTypeDef::TxISR) (struct __USART_HandleTypeDef *husart)

Function pointer on Tx IRQ handler

Definition at line 158 of file stm32l4xx_hal_usart.h.

◆ TxRxCpltCallback

void(* __USART_HandleTypeDef::TxRxCpltCallback) (struct __USART_HandleTypeDef *husart)

USART Tx Rx Complete Callback

Definition at line 175 of file stm32l4xx_hal_usart.h.

◆ TxXferCount

__IO uint16_t __USART_HandleTypeDef::TxXferCount

USART Tx Transfer Counter

Definition at line 130 of file stm32l4xx_hal_usart.h.

◆ TxXferSize

uint16_t __USART_HandleTypeDef::TxXferSize

USART Tx Transfer size

Definition at line 128 of file stm32l4xx_hal_usart.h.

Typedef Documentation

◆ pUSART_CallbackTypeDef

typedef void(* pUSART_CallbackTypeDef) (USART_HandleTypeDef *husart)

HAL USART Callback pointer definition.

pointer to an USART callback function

Definition at line 215 of file stm32l4xx_hal_usart.h.

◆ USART_HandleTypeDef

USART handle Structure definition.

Enumeration Type Documentation

◆ HAL_USART_CallbackIDTypeDef

HAL USART Callback ID enumeration definition.

Enumerator
HAL_USART_TX_HALFCOMPLETE_CB_ID 

USART Tx Half Complete Callback ID

HAL_USART_TX_COMPLETE_CB_ID 

USART Tx Complete Callback ID

HAL_USART_RX_HALFCOMPLETE_CB_ID 

USART Rx Half Complete Callback ID

HAL_USART_RX_COMPLETE_CB_ID 

USART Rx Complete Callback ID

HAL_USART_TX_RX_COMPLETE_CB_ID 

USART Tx Rx Complete Callback ID

HAL_USART_ERROR_CB_ID 

USART Error Callback ID

HAL_USART_ABORT_COMPLETE_CB_ID 

USART Abort Complete Callback ID

HAL_USART_RX_FIFO_FULL_CB_ID 

USART Rx Fifo Full Callback ID

HAL_USART_TX_FIFO_EMPTY_CB_ID 

USART Tx Fifo Empty Callback ID

HAL_USART_MSPINIT_CB_ID 

USART MspInit callback ID

HAL_USART_MSPDEINIT_CB_ID 

USART MspDeInit callback ID

Definition at line 193 of file stm32l4xx_hal_usart.h.

◆ HAL_USART_StateTypeDef

HAL USART State structures definition.

Enumerator
HAL_USART_STATE_RESET 

Peripheral is not initialized

HAL_USART_STATE_READY 

Peripheral Initialized and ready for use

HAL_USART_STATE_BUSY 

an internal process is ongoing

HAL_USART_STATE_BUSY_TX 

Data Transmission process is ongoing

HAL_USART_STATE_BUSY_RX 

Data Reception process is ongoing

HAL_USART_STATE_BUSY_TX_RX 

Data Transmission Reception process is ongoing

HAL_USART_STATE_TIMEOUT 

Timeout state

HAL_USART_STATE_ERROR 

Error

Definition at line 92 of file stm32l4xx_hal_usart.h.

◆ USART_ClockSourceTypeDef

USART clock sources definitions.

Enumerator
USART_CLOCKSOURCE_PCLK1 

PCLK1 clock source

USART_CLOCKSOURCE_PCLK2 

PCLK2 clock source

USART_CLOCKSOURCE_HSI 

HSI clock source

USART_CLOCKSOURCE_SYSCLK 

SYSCLK clock source

USART_CLOCKSOURCE_LSE 

LSE clock source

USART_CLOCKSOURCE_UNDEFINED 

Undefined clock source

Definition at line 107 of file stm32l4xx_hal_usart.h.