STM32L486xx HAL User Manual
Data Structures | Defines | Typedefs | Enumerations | Functions
stm32l4xx_hal_usart.h File Reference

Header file of USART HAL module. More...

#include "stm32l4xx_hal_def.h"
#include "stm32l4xx_hal_usart_ex.h"

Go to the source code of this file.

Data Structures

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

Defines

#define HAL_USART_ERROR_NONE   ((uint32_t)0x00000000U)
#define HAL_USART_ERROR_PE   ((uint32_t)0x00000001U)
#define HAL_USART_ERROR_NE   ((uint32_t)0x00000002U)
#define HAL_USART_ERROR_FE   ((uint32_t)0x00000004U)
#define HAL_USART_ERROR_ORE   ((uint32_t)0x00000008U)
#define HAL_USART_ERROR_DMA   ((uint32_t)0x00000010U)
#define HAL_USART_ERROR_INVALID_CALLBACK   ((uint32_t)0x00000040U)
#define USART_STOPBITS_0_5   USART_CR2_STOP_0
#define USART_STOPBITS_1   0x00000000U
#define USART_STOPBITS_1_5   (USART_CR2_STOP_0 | USART_CR2_STOP_1)
#define USART_STOPBITS_2   USART_CR2_STOP_1
#define USART_PARITY_NONE   0x00000000U
#define USART_PARITY_EVEN   USART_CR1_PCE
#define USART_PARITY_ODD   (USART_CR1_PCE | USART_CR1_PS)
#define USART_MODE_RX   USART_CR1_RE
#define USART_MODE_TX   USART_CR1_TE
#define USART_MODE_TX_RX   (USART_CR1_TE |USART_CR1_RE)
#define USART_OVERSAMPLING_16   0x00000000U
#define USART_OVERSAMPLING_8   USART_CR1_OVER8
#define USART_CLOCK_DISABLE   0x00000000U
#define USART_CLOCK_ENABLE   USART_CR2_CLKEN
#define USART_POLARITY_LOW   0x00000000U
#define USART_POLARITY_HIGH   USART_CR2_CPOL
#define USART_PHASE_1EDGE   0x00000000U
#define USART_PHASE_2EDGE   USART_CR2_CPHA
#define USART_LASTBIT_DISABLE   0x00000000U
#define USART_LASTBIT_ENABLE   USART_CR2_LBCL
#define USART_RXDATA_FLUSH_REQUEST   USART_RQR_RXFRQ
#define USART_TXDATA_FLUSH_REQUEST   USART_RQR_TXFRQ
#define USART_FLAG_REACK   USART_ISR_REACK
#define USART_FLAG_TEACK   USART_ISR_TEACK
#define USART_FLAG_BUSY   USART_ISR_BUSY
#define USART_FLAG_TXE   USART_ISR_TXE
#define USART_FLAG_TC   USART_ISR_TC
#define USART_FLAG_RXNE   USART_ISR_RXNE
#define USART_FLAG_IDLE   USART_ISR_IDLE
#define USART_FLAG_ORE   USART_ISR_ORE
#define USART_FLAG_NE   USART_ISR_NE
#define USART_FLAG_FE   USART_ISR_FE
#define USART_FLAG_PE   USART_ISR_PE
#define USART_IT_PE   0x0028U
#define USART_IT_TXE   0x0727U
#define USART_IT_TC   0x0626U
#define USART_IT_RXNE   0x0525U
#define USART_IT_IDLE   0x0424U
#define USART_IT_ERR   0x0060U
#define USART_IT_ORE   0x0300U
#define USART_IT_NE   0x0200U
#define USART_IT_FE   0x0100U
#define USART_CLEAR_PEF   USART_ICR_PECF
#define USART_CLEAR_FEF   USART_ICR_FECF
#define USART_CLEAR_NEF   USART_ICR_NECF
#define USART_CLEAR_OREF   USART_ICR_ORECF
#define USART_CLEAR_IDLEF   USART_ICR_IDLECF
#define USART_CLEAR_TCF   USART_ICR_TCCF
#define USART_IT_MASK   0x001FU
#define __HAL_USART_RESET_HANDLE_STATE(__HANDLE__)
 Reset USART handle state.
#define __HAL_USART_GET_FLAG(__HANDLE__, __FLAG__)   (((__HANDLE__)->Instance->ISR & (__FLAG__)) == (__FLAG__))
 Check whether the specified USART flag is set or not.
#define __HAL_USART_CLEAR_FLAG(__HANDLE__, __FLAG__)   ((__HANDLE__)->Instance->ICR = (__FLAG__))
 Clear the specified USART pending flag.
#define __HAL_USART_CLEAR_PEFLAG(__HANDLE__)   __HAL_USART_CLEAR_FLAG((__HANDLE__), USART_CLEAR_PEF)
 Clear the USART PE pending flag.
#define __HAL_USART_CLEAR_FEFLAG(__HANDLE__)   __HAL_USART_CLEAR_FLAG((__HANDLE__), USART_CLEAR_FEF)
 Clear the USART FE pending flag.
#define __HAL_USART_CLEAR_NEFLAG(__HANDLE__)   __HAL_USART_CLEAR_FLAG((__HANDLE__), USART_CLEAR_NEF)
 Clear the USART NE pending flag.
#define __HAL_USART_CLEAR_OREFLAG(__HANDLE__)   __HAL_USART_CLEAR_FLAG((__HANDLE__), USART_CLEAR_OREF)
 Clear the USART ORE pending flag.
#define __HAL_USART_CLEAR_IDLEFLAG(__HANDLE__)   __HAL_USART_CLEAR_FLAG((__HANDLE__), USART_CLEAR_IDLEF)
 Clear the USART IDLE pending flag.
#define __HAL_USART_ENABLE_IT(__HANDLE__, __INTERRUPT__)
 Enable the specified USART interrupt.
#define __HAL_USART_DISABLE_IT(__HANDLE__, __INTERRUPT__)
 Disable the specified USART interrupt.
#define __HAL_USART_GET_IT(__HANDLE__, __INTERRUPT__)   ((((__HANDLE__)->Instance->ISR & ((uint32_t)1 << ((__INTERRUPT__)>> 0x08))) != RESET) ? SET : RESET)
 Check whether the specified USART interrupt has occurred or not.
#define __HAL_USART_GET_IT_SOURCE(__HANDLE__, __INTERRUPT__)
 Check whether the specified USART interrupt source is enabled or not.
#define __HAL_USART_CLEAR_IT(__HANDLE__, __IT_CLEAR__)   ((__HANDLE__)->Instance->ICR = (uint32_t)(__IT_CLEAR__))
 Clear the specified USART ISR flag, in setting the proper ICR register flag.
#define __HAL_USART_SEND_REQ(__HANDLE__, __REQ__)   ((__HANDLE__)->Instance->RQR |= (__REQ__))
 Set a specific USART request flag.
#define __HAL_USART_ONE_BIT_SAMPLE_ENABLE(__HANDLE__)   ((__HANDLE__)->Instance->CR3|= USART_CR3_ONEBIT)
 Enable the USART one bit sample method.
#define __HAL_USART_ONE_BIT_SAMPLE_DISABLE(__HANDLE__)   ((__HANDLE__)->Instance->CR3 &= ~USART_CR3_ONEBIT)
 Disable the USART one bit sample method.
#define __HAL_USART_ENABLE(__HANDLE__)   ((__HANDLE__)->Instance->CR1 |= USART_CR1_UE)
 Enable USART.
#define __HAL_USART_DISABLE(__HANDLE__)   ((__HANDLE__)->Instance->CR1 &= ~USART_CR1_UE)
 Disable USART.
#define USART_DIV_SAMPLING8(__PCLK__, __BAUD__)   ((((__PCLK__)*2U) + ((__BAUD__)/2U)) / (__BAUD__))
 BRR division operation to set BRR register in 8-bit oversampling mode.
#define IS_USART_BAUDRATE(__BAUDRATE__)   ((__BAUDRATE__) <= 10000000U)
 Check USART Baud rate.
#define IS_USART_STOPBITS(__STOPBITS__)
 Ensure that USART frame number of stop bits is valid.
#define IS_USART_PARITY(__PARITY__)
 Ensure that USART frame parity is valid.
#define IS_USART_MODE(__MODE__)   ((((__MODE__) & 0xFFFFFFF3U) == 0x00U) && ((__MODE__) != 0x00U))
 Ensure that USART communication mode is valid.
#define IS_USART_OVERSAMPLING(__SAMPLING__)
 Ensure that USART oversampling is valid.
#define IS_USART_CLOCK(__CLOCK__)
 Ensure that USART clock state is valid.
#define IS_USART_POLARITY(__CPOL__)   (((__CPOL__) == USART_POLARITY_LOW) || ((__CPOL__) == USART_POLARITY_HIGH))
 Ensure that USART frame polarity is valid.
#define IS_USART_PHASE(__CPHA__)   (((__CPHA__) == USART_PHASE_1EDGE) || ((__CPHA__) == USART_PHASE_2EDGE))
 Ensure that USART frame phase is valid.
#define IS_USART_LASTBIT(__LASTBIT__)
 Ensure that USART frame last bit clock pulse setting is valid.
#define IS_USART_REQUEST_PARAMETER(__PARAM__)
 Ensure that USART request parameter is valid.

Typedefs

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

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_MSPINIT_CB_ID = 0x09U,
  HAL_USART_MSPDEINIT_CB_ID = 0x0AU
}
 HAL USART Callback ID enumeration definition. More...

Functions

HAL_StatusTypeDef HAL_USART_Init (USART_HandleTypeDef *husart)
 Initialize the USART mode according to the specified parameters in the USART_InitTypeDef and initialize the associated handle.
HAL_StatusTypeDef HAL_USART_DeInit (USART_HandleTypeDef *husart)
 DeInitialize the USART peripheral.
__weak void HAL_USART_MspInit (USART_HandleTypeDef *husart)
 Initialize the USART MSP.
__weak void HAL_USART_MspDeInit (USART_HandleTypeDef *husart)
 DeInitialize the USART MSP.
HAL_StatusTypeDef HAL_USART_RegisterCallback (USART_HandleTypeDef *husart, HAL_USART_CallbackIDTypeDef CallbackID, pUSART_CallbackTypeDef pCallback)
 Register a User USART Callback To be used instead of the weak predefined callback.
HAL_StatusTypeDef HAL_USART_UnRegisterCallback (USART_HandleTypeDef *husart, HAL_USART_CallbackIDTypeDef CallbackID)
 Unregister an UART Callback UART callaback is redirected to the weak predefined callback.
HAL_StatusTypeDef HAL_USART_Transmit (USART_HandleTypeDef *husart, uint8_t *pTxData, uint16_t Size, uint32_t Timeout)
 Simplex send an amount of data in blocking mode.
HAL_StatusTypeDef HAL_USART_Receive (USART_HandleTypeDef *husart, uint8_t *pRxData, uint16_t Size, uint32_t Timeout)
 Receive an amount of data in blocking mode.
HAL_StatusTypeDef HAL_USART_TransmitReceive (USART_HandleTypeDef *husart, uint8_t *pTxData, uint8_t *pRxData, uint16_t Size, uint32_t Timeout)
 Full-Duplex Send and Receive an amount of data in blocking mode.
HAL_StatusTypeDef HAL_USART_Transmit_IT (USART_HandleTypeDef *husart, uint8_t *pTxData, uint16_t Size)
 Send an amount of data in interrupt mode.
HAL_StatusTypeDef HAL_USART_Receive_IT (USART_HandleTypeDef *husart, uint8_t *pRxData, uint16_t Size)
 Receive an amount of data in blocking mode.
HAL_StatusTypeDef HAL_USART_TransmitReceive_IT (USART_HandleTypeDef *husart, uint8_t *pTxData, uint8_t *pRxData, uint16_t Size)
 Full-Duplex Send and Receive an amount of data in interrupt mode.
HAL_StatusTypeDef HAL_USART_Transmit_DMA (USART_HandleTypeDef *husart, uint8_t *pTxData, uint16_t Size)
 Send an amount of data in DMA mode.
HAL_StatusTypeDef HAL_USART_Receive_DMA (USART_HandleTypeDef *husart, uint8_t *pRxData, uint16_t Size)
 Receive an amount of data in DMA mode.
HAL_StatusTypeDef HAL_USART_TransmitReceive_DMA (USART_HandleTypeDef *husart, uint8_t *pTxData, uint8_t *pRxData, uint16_t Size)
 Full-Duplex Transmit Receive an amount of data in non-blocking mode.
HAL_StatusTypeDef HAL_USART_DMAPause (USART_HandleTypeDef *husart)
 Pause the DMA Transfer.
HAL_StatusTypeDef HAL_USART_DMAResume (USART_HandleTypeDef *husart)
 Resume the DMA Transfer.
HAL_StatusTypeDef HAL_USART_DMAStop (USART_HandleTypeDef *husart)
 Stop the DMA Transfer.
HAL_StatusTypeDef HAL_USART_Abort (USART_HandleTypeDef *husart)
 Abort ongoing transfers (blocking mode).
HAL_StatusTypeDef HAL_USART_Abort_IT (USART_HandleTypeDef *husart)
 Abort ongoing transfers (Interrupt mode).
void HAL_USART_IRQHandler (USART_HandleTypeDef *husart)
 Handle USART interrupt request.
__weak void HAL_USART_TxHalfCpltCallback (USART_HandleTypeDef *husart)
 Tx Half Transfer completed callback.
__weak void HAL_USART_TxCpltCallback (USART_HandleTypeDef *husart)
 Tx Transfer completed callback.
__weak void HAL_USART_RxCpltCallback (USART_HandleTypeDef *husart)
 Rx Transfer completed callback.
__weak void HAL_USART_RxHalfCpltCallback (USART_HandleTypeDef *husart)
 Rx Half Transfer completed callback.
__weak void HAL_USART_TxRxCpltCallback (USART_HandleTypeDef *husart)
 Tx/Rx Transfers completed callback for the non-blocking process.
__weak void HAL_USART_ErrorCallback (USART_HandleTypeDef *husart)
 USART error callback.
__weak void HAL_USART_AbortCpltCallback (USART_HandleTypeDef *husart)
 USART Abort Complete callback.
HAL_USART_StateTypeDef HAL_USART_GetState (USART_HandleTypeDef *husart)
 Return the USART handle state.
uint32_t HAL_USART_GetError (USART_HandleTypeDef *husart)
 Return the USART error code.

Detailed Description

Header file of USART HAL module.

Author:
MCD Application Team
Attention:

© COPYRIGHT(c) 2017 STMicroelectronics

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. Neither the name of STMicroelectronics nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Definition in file stm32l4xx_hal_usart.h.