STM CMSIS
stm32f4xx_hal_usart.h File Reference

Header file of USART HAL module. More...

Go to the source code of this file.

Classes

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

Macros

#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 USART_WORDLENGTH_8B   ((uint32_t)0x00000000U)
 
#define USART_WORDLENGTH_9B   ((uint32_t)USART_CR1_M)
 
#define USART_STOPBITS_1   ((uint32_t)0x00000000U)
 
#define USART_STOPBITS_0_5   ((uint32_t)USART_CR2_STOP_0)
 
#define USART_STOPBITS_2   ((uint32_t)USART_CR2_STOP_1)
 
#define USART_STOPBITS_1_5   ((uint32_t)(USART_CR2_STOP_0 | USART_CR2_STOP_1))
 
#define USART_PARITY_NONE   ((uint32_t)0x00000000U)
 
#define USART_PARITY_EVEN   ((uint32_t)USART_CR1_PCE)
 
#define USART_PARITY_ODD   ((uint32_t)(USART_CR1_PCE | USART_CR1_PS))
 
#define USART_MODE_RX   ((uint32_t)USART_CR1_RE)
 
#define USART_MODE_TX   ((uint32_t)USART_CR1_TE)
 
#define USART_MODE_TX_RX   ((uint32_t)(USART_CR1_TE |USART_CR1_RE))
 
#define USART_CLOCK_DISABLE   ((uint32_t)0x00000000U)
 
#define USART_CLOCK_ENABLE   ((uint32_t)USART_CR2_CLKEN)
 
#define USART_POLARITY_LOW   ((uint32_t)0x00000000U)
 
#define USART_POLARITY_HIGH   ((uint32_t)USART_CR2_CPOL)
 
#define USART_PHASE_1EDGE   ((uint32_t)0x00000000U)
 
#define USART_PHASE_2EDGE   ((uint32_t)USART_CR2_CPHA)
 
#define USART_LASTBIT_DISABLE   ((uint32_t)0x00000000U)
 
#define USART_LASTBIT_ENABLE   ((uint32_t)USART_CR2_LBCL)
 
#define USART_NACK_ENABLE   ((uint32_t)USART_CR3_NACK)
 
#define USART_NACK_DISABLE   ((uint32_t)0x00000000U)
 
#define USART_FLAG_TXE   ((uint32_t)0x00000080U)
 
#define USART_FLAG_TC   ((uint32_t)0x00000040U)
 
#define USART_FLAG_RXNE   ((uint32_t)0x00000020U)
 
#define USART_FLAG_IDLE   ((uint32_t)0x00000010U)
 
#define USART_FLAG_ORE   ((uint32_t)0x00000008U)
 
#define USART_FLAG_NE   ((uint32_t)0x00000004U)
 
#define USART_FLAG_FE   ((uint32_t)0x00000002U)
 
#define USART_FLAG_PE   ((uint32_t)0x00000001U)
 
#define USART_IT_PE   ((uint32_t)(USART_CR1_REG_INDEX << 28U | USART_CR1_PEIE))
 
#define USART_IT_TXE   ((uint32_t)(USART_CR1_REG_INDEX << 28U | USART_CR1_TXEIE))
 
#define USART_IT_TC   ((uint32_t)(USART_CR1_REG_INDEX << 28U | USART_CR1_TCIE))
 
#define USART_IT_RXNE   ((uint32_t)(USART_CR1_REG_INDEX << 28U | USART_CR1_RXNEIE))
 
#define USART_IT_IDLE   ((uint32_t)(USART_CR1_REG_INDEX << 28U | USART_CR1_IDLEIE))
 
#define USART_IT_LBD   ((uint32_t)(USART_CR2_REG_INDEX << 28U | USART_CR2_LBDIE))
 
#define USART_IT_CTS   ((uint32_t)(USART_CR3_REG_INDEX << 28U | USART_CR3_CTSIE))
 
#define USART_IT_ERR   ((uint32_t)(USART_CR3_REG_INDEX << 28U | USART_CR3_EIE))
 
#define __HAL_USART_RESET_HANDLE_STATE(__HANDLE__)   ((__HANDLE__)->State = HAL_USART_STATE_RESET)
 Reset USART handle state. More...
 
#define __HAL_USART_GET_FLAG(__HANDLE__, __FLAG__)   (((__HANDLE__)->Instance->SR & (__FLAG__)) == (__FLAG__))
 Checks whether the specified Smartcard flag is set or not. More...
 
#define __HAL_USART_CLEAR_FLAG(__HANDLE__, __FLAG__)   ((__HANDLE__)->Instance->SR = ~(__FLAG__))
 Clears the specified Smartcard pending flags. More...
 
#define __HAL_USART_CLEAR_PEFLAG(__HANDLE__)
 Clear the USART PE pending flag. More...
 
#define __HAL_USART_CLEAR_FEFLAG(__HANDLE__)   __HAL_USART_CLEAR_PEFLAG(__HANDLE__)
 Clear the USART FE pending flag. More...
 
#define __HAL_USART_CLEAR_NEFLAG(__HANDLE__)   __HAL_USART_CLEAR_PEFLAG(__HANDLE__)
 Clear the USART NE pending flag. More...
 
#define __HAL_USART_CLEAR_OREFLAG(__HANDLE__)   __HAL_USART_CLEAR_PEFLAG(__HANDLE__)
 Clear the UART ORE pending flag. More...
 
#define __HAL_USART_CLEAR_IDLEFLAG(__HANDLE__)   __HAL_USART_CLEAR_PEFLAG(__HANDLE__)
 Clear the USART IDLE pending flag. More...
 
#define __HAL_USART_ENABLE_IT(__HANDLE__, __INTERRUPT__)
 Enables or disables the specified USART interrupts. More...
 
#define __HAL_USART_DISABLE_IT(__HANDLE__, __INTERRUPT__)
 
#define __HAL_USART_GET_IT_SOURCE(__HANDLE__, __IT__)
 Checks whether the specified USART interrupt has occurred or not. More...
 
#define __HAL_USART_ONE_BIT_SAMPLE_ENABLE(__HANDLE__)   ((__HANDLE__)->Instance->CR3|= USART_CR3_ONEBIT)
 Macro to enable the USART's one bit sample method. More...
 
#define __HAL_USART_ONE_BIT_SAMPLE_DISABLE(__HANDLE__)   ((__HANDLE__)->Instance->CR3 &= (uint16_t)~((uint16_t)USART_CR3_ONEBIT))
 Macro to disable the USART's one bit sample method. More...
 
#define __HAL_USART_ENABLE(__HANDLE__)   ( (__HANDLE__)->Instance->CR1 |= USART_CR1_UE)
 Enable USART. More...
 
#define __HAL_USART_DISABLE(__HANDLE__)   ( (__HANDLE__)->Instance->CR1 &= ~USART_CR1_UE)
 Disable USART. More...
 
#define USART_IT_MASK
 USART interruptions flag mask. More...
 
#define USART_CR1_REG_INDEX   1U
 
#define USART_CR2_REG_INDEX   2U
 
#define USART_CR3_REG_INDEX   3U
 
#define IS_USART_NACK_STATE(NACK)
 
#define IS_USART_LASTBIT(LASTBIT)
 
#define IS_USART_PHASE(CPHA)   (((CPHA) == USART_PHASE_1EDGE) || ((CPHA) == USART_PHASE_2EDGE))
 
#define IS_USART_POLARITY(CPOL)   (((CPOL) == USART_POLARITY_LOW) || ((CPOL) == USART_POLARITY_HIGH))
 
#define IS_USART_CLOCK(CLOCK)
 
#define IS_USART_WORD_LENGTH(LENGTH)
 
#define IS_USART_STOPBITS(STOPBITS)
 
#define IS_USART_PARITY(PARITY)
 
#define IS_USART_MODE(MODE)   ((((MODE) & (uint32_t)0xFFF3) == 0x00U) && ((MODE) != (uint32_t)0x00U))
 
#define IS_USART_BAUDRATE(BAUDRATE)   ((BAUDRATE) < 10500001U)
 
#define USART_DIV(_PCLK_, _BAUD_)   (((_PCLK_)*25U)/(2U*(_BAUD_)))
 
#define USART_DIVMANT(_PCLK_, _BAUD_)   (USART_DIV((_PCLK_), (_BAUD_))/100U)
 
#define USART_DIVFRAQ(_PCLK_, _BAUD_)   (((USART_DIV((_PCLK_), (_BAUD_)) - (USART_DIVMANT((_PCLK_), (_BAUD_)) * 100U)) * 16U + 50U) / 100U)
 
#define USART_BRR(_PCLK_, _BAUD_)   ((USART_DIVMANT((_PCLK_), (_BAUD_)) << 4U)|(USART_DIVFRAQ((_PCLK_), (_BAUD_)) & 0x0FU))
 

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 State structures definition. More...
 

Functions

HAL_StatusTypeDef HAL_USART_Init (USART_HandleTypeDef *husart)
 
HAL_StatusTypeDef HAL_USART_DeInit (USART_HandleTypeDef *husart)
 
void HAL_USART_MspInit (USART_HandleTypeDef *husart)
 
void HAL_USART_MspDeInit (USART_HandleTypeDef *husart)
 
HAL_StatusTypeDef HAL_USART_Transmit (USART_HandleTypeDef *husart, uint8_t *pTxData, uint16_t Size, uint32_t Timeout)
 
HAL_StatusTypeDef HAL_USART_Receive (USART_HandleTypeDef *husart, uint8_t *pRxData, uint16_t Size, uint32_t Timeout)
 
HAL_StatusTypeDef HAL_USART_TransmitReceive (USART_HandleTypeDef *husart, uint8_t *pTxData, uint8_t *pRxData, uint16_t Size, uint32_t Timeout)
 
HAL_StatusTypeDef HAL_USART_Transmit_IT (USART_HandleTypeDef *husart, uint8_t *pTxData, uint16_t Size)
 
HAL_StatusTypeDef HAL_USART_Receive_IT (USART_HandleTypeDef *husart, uint8_t *pRxData, uint16_t Size)
 
HAL_StatusTypeDef HAL_USART_TransmitReceive_IT (USART_HandleTypeDef *husart, uint8_t *pTxData, uint8_t *pRxData, uint16_t Size)
 
HAL_StatusTypeDef HAL_USART_Transmit_DMA (USART_HandleTypeDef *husart, uint8_t *pTxData, uint16_t Size)
 
HAL_StatusTypeDef HAL_USART_Receive_DMA (USART_HandleTypeDef *husart, uint8_t *pRxData, uint16_t Size)
 
HAL_StatusTypeDef HAL_USART_TransmitReceive_DMA (USART_HandleTypeDef *husart, uint8_t *pTxData, uint8_t *pRxData, uint16_t Size)
 
HAL_StatusTypeDef HAL_USART_DMAPause (USART_HandleTypeDef *husart)
 
HAL_StatusTypeDef HAL_USART_DMAResume (USART_HandleTypeDef *husart)
 
HAL_StatusTypeDef HAL_USART_DMAStop (USART_HandleTypeDef *husart)
 
void HAL_USART_IRQHandler (USART_HandleTypeDef *husart)
 
void HAL_USART_TxCpltCallback (USART_HandleTypeDef *husart)
 
void HAL_USART_TxHalfCpltCallback (USART_HandleTypeDef *husart)
 
void HAL_USART_RxCpltCallback (USART_HandleTypeDef *husart)
 
void HAL_USART_RxHalfCpltCallback (USART_HandleTypeDef *husart)
 
void HAL_USART_TxRxCpltCallback (USART_HandleTypeDef *husart)
 
void HAL_USART_ErrorCallback (USART_HandleTypeDef *husart)
 
HAL_USART_StateTypeDef HAL_USART_GetState (USART_HandleTypeDef *husart)
 
uint32_t HAL_USART_GetError (USART_HandleTypeDef *husart)
 

Detailed Description

Header file of USART HAL module.

Author
MCD Application Team
Version
V1.5.0
Date
06-May-2016
Attention

© COPYRIGHT(c) 2016 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.