STM32F10x Standard Peripherals Library  3.5.0
USART_Exported_Functions

Functions

void USART_DeInit (USART_TypeDef *USARTx)
 Deinitializes the USARTx peripheral registers to their default reset values.
void USART_Init (USART_TypeDef *USARTx, USART_InitTypeDef *USART_InitStruct)
 Initializes the USARTx peripheral according to the specified parameters in the USART_InitStruct .
void USART_StructInit (USART_InitTypeDef *USART_InitStruct)
 Fills each USART_InitStruct member with its default value.
void USART_ClockInit (USART_TypeDef *USARTx, USART_ClockInitTypeDef *USART_ClockInitStruct)
 Initializes the USARTx peripheral Clock according to the specified parameters in the USART_ClockInitStruct .
void USART_ClockStructInit (USART_ClockInitTypeDef *USART_ClockInitStruct)
 Fills each USART_ClockInitStruct member with its default value.
void USART_Cmd (USART_TypeDef *USARTx, FunctionalState NewState)
 Enables or disables the specified USART peripheral.
void USART_ITConfig (USART_TypeDef *USARTx, uint16_t USART_IT, FunctionalState NewState)
 Enables or disables the specified USART interrupts.
void USART_DMACmd (USART_TypeDef *USARTx, uint16_t USART_DMAReq, FunctionalState NewState)
 Enables or disables the USART’s DMA interface.
void USART_SetAddress (USART_TypeDef *USARTx, uint8_t USART_Address)
 Sets the address of the USART node.
void USART_WakeUpConfig (USART_TypeDef *USARTx, uint16_t USART_WakeUp)
 Selects the USART WakeUp method.
void USART_ReceiverWakeUpCmd (USART_TypeDef *USARTx, FunctionalState NewState)
 Determines if the USART is in mute mode or not.
void USART_LINBreakDetectLengthConfig (USART_TypeDef *USARTx, uint16_t USART_LINBreakDetectLength)
 Sets the USART LIN Break detection length.
void USART_LINCmd (USART_TypeDef *USARTx, FunctionalState NewState)
 Enables or disables the USART’s LIN mode.
void USART_SendData (USART_TypeDef *USARTx, uint16_t Data)
 Transmits single data through the USARTx peripheral.
uint16_t USART_ReceiveData (USART_TypeDef *USARTx)
 Returns the most recent received data by the USARTx peripheral.
void USART_SendBreak (USART_TypeDef *USARTx)
 Transmits break characters.
void USART_SetGuardTime (USART_TypeDef *USARTx, uint8_t USART_GuardTime)
 Sets the specified USART guard time.
void USART_SetPrescaler (USART_TypeDef *USARTx, uint8_t USART_Prescaler)
 Sets the system clock prescaler.
void USART_SmartCardCmd (USART_TypeDef *USARTx, FunctionalState NewState)
 Enables or disables the USART’s Smart Card mode.
void USART_SmartCardNACKCmd (USART_TypeDef *USARTx, FunctionalState NewState)
 Enables or disables NACK transmission.
void USART_HalfDuplexCmd (USART_TypeDef *USARTx, FunctionalState NewState)
 Enables or disables the USART’s Half Duplex communication.
void USART_OverSampling8Cmd (USART_TypeDef *USARTx, FunctionalState NewState)
 Enables or disables the USART's 8x oversampling mode.
void USART_OneBitMethodCmd (USART_TypeDef *USARTx, FunctionalState NewState)
 Enables or disables the USART's one bit sampling method.
void USART_IrDAConfig (USART_TypeDef *USARTx, uint16_t USART_IrDAMode)
 Configures the USART's IrDA interface.
void USART_IrDACmd (USART_TypeDef *USARTx, FunctionalState NewState)
 Enables or disables the USART's IrDA interface.
FlagStatus USART_GetFlagStatus (USART_TypeDef *USARTx, uint16_t USART_FLAG)
 Checks whether the specified USART flag is set or not.
void USART_ClearFlag (USART_TypeDef *USARTx, uint16_t USART_FLAG)
 Clears the USARTx's pending flags.
ITStatus USART_GetITStatus (USART_TypeDef *USARTx, uint16_t USART_IT)
 Checks whether the specified USART interrupt has occurred or not.
void USART_ClearITPendingBit (USART_TypeDef *USARTx, uint16_t USART_IT)
 Clears the USARTx's interrupt pending bits.

Function Documentation

void USART_ClearFlag ( USART_TypeDef USARTx,
uint16_t  USART_FLAG 
)

Clears the USARTx's pending flags.

Parameters:
USARTx,:Select the USART or the UART peripheral. This parameter can be one of the following values: USART1, USART2, USART3, UART4 or UART5.
USART_FLAG,:specifies the flag to clear. This parameter can be any combination of the following values:
  • USART_FLAG_CTS: CTS Change flag (not available for UART4 and UART5).
  • USART_FLAG_LBD: LIN Break detection flag.
  • USART_FLAG_TC: Transmission Complete flag.
  • USART_FLAG_RXNE: Receive data register not empty flag.
Note:
  • PE (Parity error), FE (Framing error), NE (Noise error), ORE (OverRun error) and IDLE (Idle line detected) flags are cleared by software sequence: a read operation to USART_SR register (USART_GetFlagStatus()) followed by a read operation to USART_DR register (USART_ReceiveData()).
  • RXNE flag can be also cleared by a read to the USART_DR register (USART_ReceiveData()).
  • TC flag can be also cleared by software sequence: a read operation to USART_SR register (USART_GetFlagStatus()) followed by a write operation to USART_DR register (USART_SendData()).
  • TXE flag is cleared only by a write to the USART_DR register (USART_SendData()).
Return values:
None

Definition at line 923 of file stm32f10x_usart.c.

void USART_ClearITPendingBit ( USART_TypeDef USARTx,
uint16_t  USART_IT 
)

Clears the USARTx's interrupt pending bits.

Parameters:
USARTx,:Select the USART or the UART peripheral. This parameter can be one of the following values: USART1, USART2, USART3, UART4 or UART5.
USART_IT,:specifies the interrupt pending bit to clear. This parameter can be one of the following values:
  • USART_IT_CTS: CTS change interrupt (not available for UART4 and UART5)
  • USART_IT_LBD: LIN Break detection interrupt
  • USART_IT_TC: Transmission complete interrupt.
  • USART_IT_RXNE: Receive Data register not empty interrupt.
Note:
  • PE (Parity error), FE (Framing error), NE (Noise error), ORE (OverRun error) and IDLE (Idle line detected) pending bits are cleared by software sequence: a read operation to USART_SR register (USART_GetITStatus()) followed by a read operation to USART_DR register (USART_ReceiveData()).
  • RXNE pending bit can be also cleared by a read to the USART_DR register (USART_ReceiveData()).
  • TC pending bit can be also cleared by software sequence: a read operation to USART_SR register (USART_GetITStatus()) followed by a write operation to USART_DR register (USART_SendData()).
  • TXE pending bit is cleared only by a write to the USART_DR register (USART_SendData()).
Return values:
None

Definition at line 1030 of file stm32f10x_usart.c.

void USART_ClockInit ( USART_TypeDef USARTx,
USART_ClockInitTypeDef USART_ClockInitStruct 
)

Initializes the USARTx peripheral Clock according to the specified parameters in the USART_ClockInitStruct .

Parameters:
USARTx,:where x can be 1, 2, 3 to select the USART peripheral.
USART_ClockInitStruct,:pointer to a USART_ClockInitTypeDef structure that contains the configuration information for the specified USART peripheral.
Note:
The Smart Card and Synchronous modes are not available for UART4 and UART5.
Return values:
None

Definition at line 302 of file stm32f10x_usart.c.

void USART_ClockStructInit ( USART_ClockInitTypeDef USART_ClockInitStruct)

Fills each USART_ClockInitStruct member with its default value.

Parameters:
USART_ClockInitStruct,:pointer to a USART_ClockInitTypeDef structure which will be initialized.
Return values:
None

Definition at line 333 of file stm32f10x_usart.c.

void USART_Cmd ( USART_TypeDef USARTx,
FunctionalState  NewState 
)

Enables or disables the specified USART peripheral.

Parameters:
USARTx,:Select the USART or the UART peripheral. This parameter can be one of the following values: USART1, USART2, USART3, UART4 or UART5.
NewState,:new state of the USARTx peripheral. This parameter can be: ENABLE or DISABLE.
Return values:
None

Definition at line 351 of file stm32f10x_usart.c.

void USART_DeInit ( USART_TypeDef USARTx)

Deinitializes the USARTx peripheral registers to their default reset values.

Parameters:
USARTx,:Select the USART or the UART peripheral. This parameter can be one of the following values: USART1, USART2, USART3, UART4 or UART5.
Return values:
None

Definition at line 130 of file stm32f10x_usart.c.

void USART_DMACmd ( USART_TypeDef USARTx,
uint16_t  USART_DMAReq,
FunctionalState  NewState 
)

Enables or disables the USART’s DMA interface.

Parameters:
USARTx,:Select the USART or the UART peripheral. This parameter can be one of the following values: USART1, USART2, USART3, UART4 or UART5.
USART_DMAReq,:specifies the DMA request. This parameter can be any combination of the following values:
  • USART_DMAReq_Tx: USART DMA transmit request
  • USART_DMAReq_Rx: USART DMA receive request
NewState,:new state of the DMA Request sources. This parameter can be: ENABLE or DISABLE.
Note:
The DMA mode is not available for UART5 except in the STM32 High density value line devices(STM32F10X_HD_VL).
Return values:
None

Definition at line 448 of file stm32f10x_usart.c.

FlagStatus USART_GetFlagStatus ( USART_TypeDef USARTx,
uint16_t  USART_FLAG 
)

Checks whether the specified USART flag is set or not.

Parameters:
USARTx,:Select the USART or the UART peripheral. This parameter can be one of the following values: USART1, USART2, USART3, UART4 or UART5.
USART_FLAG,:specifies the flag to check. This parameter can be one of the following values:
  • USART_FLAG_CTS: CTS Change flag (not available for UART4 and UART5)
  • USART_FLAG_LBD: LIN Break detection flag
  • USART_FLAG_TXE: Transmit data register empty flag
  • USART_FLAG_TC: Transmission Complete flag
  • USART_FLAG_RXNE: Receive data register not empty flag
  • USART_FLAG_IDLE: Idle Line detection flag
  • USART_FLAG_ORE: OverRun Error flag
  • USART_FLAG_NE: Noise Error flag
  • USART_FLAG_FE: Framing Error flag
  • USART_FLAG_PE: Parity Error flag
Return values:
Thenew state of USART_FLAG (SET or RESET).

Definition at line 874 of file stm32f10x_usart.c.

ITStatus USART_GetITStatus ( USART_TypeDef USARTx,
uint16_t  USART_IT 
)

Checks whether the specified USART interrupt has occurred or not.

Parameters:
USARTx,:Select the USART or the UART peripheral. This parameter can be one of the following values: USART1, USART2, USART3, UART4 or UART5.
USART_IT,:specifies the USART interrupt source to check. This parameter can be one of the following values:
  • USART_IT_CTS: CTS change interrupt (not available for UART4 and UART5)
  • USART_IT_LBD: LIN Break detection interrupt
  • USART_IT_TXE: Tansmit Data Register empty interrupt
  • USART_IT_TC: Transmission complete interrupt
  • USART_IT_RXNE: Receive Data register not empty interrupt
  • USART_IT_IDLE: Idle line detection interrupt
  • USART_IT_ORE: OverRun Error interrupt
  • USART_IT_NE: Noise Error interrupt
  • USART_IT_FE: Framing Error interrupt
  • USART_IT_PE: Parity Error interrupt
Return values:
Thenew state of USART_IT (SET or RESET).

Definition at line 956 of file stm32f10x_usart.c.

void USART_HalfDuplexCmd ( USART_TypeDef USARTx,
FunctionalState  NewState 
)

Enables or disables the USART’s Half Duplex communication.

Parameters:
USARTx,:Select the USART or the UART peripheral. This parameter can be one of the following values: USART1, USART2, USART3, UART4 or UART5.
NewState,:new state of the USART Communication. This parameter can be: ENABLE or DISABLE.
Return values:
None

Definition at line 731 of file stm32f10x_usart.c.

void USART_Init ( USART_TypeDef USARTx,
USART_InitTypeDef USART_InitStruct 
)

Initializes the USARTx peripheral according to the specified parameters in the USART_InitStruct .

Parameters:
USARTx,:Select the USART or the UART peripheral. This parameter can be one of the following values: USART1, USART2, USART3, UART4 or UART5.
USART_InitStruct,:pointer to a USART_InitTypeDef structure that contains the configuration information for the specified USART peripheral.
Return values:
None

Definition at line 176 of file stm32f10x_usart.c.

void USART_IrDACmd ( USART_TypeDef USARTx,
FunctionalState  NewState 
)

Enables or disables the USART's IrDA interface.

Parameters:
USARTx,:Select the USART or the UART peripheral. This parameter can be one of the following values: USART1, USART2, USART3, UART4 or UART5.
NewState,:new state of the IrDA mode. This parameter can be: ENABLE or DISABLE.
Return values:
None

Definition at line 837 of file stm32f10x_usart.c.

void USART_IrDAConfig ( USART_TypeDef USARTx,
uint16_t  USART_IrDAMode 
)

Configures the USART's IrDA interface.

Parameters:
USARTx,:Select the USART or the UART peripheral. This parameter can be one of the following values: USART1, USART2, USART3, UART4 or UART5.
USART_IrDAMode,:specifies the IrDA mode. This parameter can be one of the following values:
  • USART_IrDAMode_LowPower
  • USART_IrDAMode_Normal
Return values:
None

Definition at line 818 of file stm32f10x_usart.c.

void USART_ITConfig ( USART_TypeDef USARTx,
uint16_t  USART_IT,
FunctionalState  NewState 
)

Enables or disables the specified USART interrupts.

Parameters:
USARTx,:Select the USART or the UART peripheral. This parameter can be one of the following values: USART1, USART2, USART3, UART4 or UART5.
USART_IT,:specifies the USART interrupt sources to be enabled or disabled. This parameter can be one of the following values:
  • USART_IT_CTS: CTS change interrupt (not available for UART4 and UART5)
  • USART_IT_LBD: LIN Break detection interrupt
  • USART_IT_TXE: Transmit Data Register empty interrupt
  • USART_IT_TC: Transmission complete interrupt
  • USART_IT_RXNE: Receive Data register not empty interrupt
  • USART_IT_IDLE: Idle line detection interrupt
  • USART_IT_PE: Parity Error interrupt
  • USART_IT_ERR: Error interrupt(Frame error, noise error, overrun error)
NewState,:new state of the specified USARTx interrupts. This parameter can be: ENABLE or DISABLE.
Return values:
None

Definition at line 388 of file stm32f10x_usart.c.

void USART_LINBreakDetectLengthConfig ( USART_TypeDef USARTx,
uint16_t  USART_LINBreakDetectLength 
)

Sets the USART LIN Break detection length.

Parameters:
USARTx,:Select the USART or the UART peripheral. This parameter can be one of the following values: USART1, USART2, USART3, UART4 or UART5.
USART_LINBreakDetectLength,:specifies the LIN break detection length. This parameter can be one of the following values:
  • USART_LINBreakDetectLength_10b: 10-bit break detection
  • USART_LINBreakDetectLength_11b: 11-bit break detection
Return values:
None

Definition at line 547 of file stm32f10x_usart.c.

void USART_LINCmd ( USART_TypeDef USARTx,
FunctionalState  NewState 
)

Enables or disables the USART’s LIN mode.

Parameters:
USARTx,:Select the USART or the UART peripheral. This parameter can be one of the following values: USART1, USART2, USART3, UART4 or UART5.
NewState,:new state of the USART LIN mode. This parameter can be: ENABLE or DISABLE.
Return values:
None

Definition at line 566 of file stm32f10x_usart.c.

void USART_OneBitMethodCmd ( USART_TypeDef USARTx,
FunctionalState  NewState 
)

Enables or disables the USART's one bit sampling method.

Parameters:
USARTx,:Select the USART or the UART peripheral. This parameter can be one of the following values: USART1, USART2, USART3, UART4 or UART5.
NewState,:new state of the USART one bit sampling method. This parameter can be: ENABLE or DISABLE.
Return values:
None

Definition at line 789 of file stm32f10x_usart.c.

void USART_OverSampling8Cmd ( USART_TypeDef USARTx,
FunctionalState  NewState 
)

Enables or disables the USART's 8x oversampling mode.

Parameters:
USARTx,:Select the USART or the UART peripheral. This parameter can be one of the following values: USART1, USART2, USART3, UART4 or UART5.
NewState,:new state of the USART one bit sampling method. This parameter can be: ENABLE or DISABLE.
Note:
This function has to be called before calling USART_Init() function in order to have correct baudrate Divider value.
Return values:
None

Definition at line 762 of file stm32f10x_usart.c.

uint16_t USART_ReceiveData ( USART_TypeDef USARTx)

Returns the most recent received data by the USARTx peripheral.

Parameters:
USARTx,:Select the USART or the UART peripheral. This parameter can be one of the following values: USART1, USART2, USART3, UART4 or UART5.
Return values:
Thereceived data.

Definition at line 609 of file stm32f10x_usart.c.

void USART_ReceiverWakeUpCmd ( USART_TypeDef USARTx,
FunctionalState  NewState 
)

Determines if the USART is in mute mode or not.

Parameters:
USARTx,:Select the USART or the UART peripheral. This parameter can be one of the following values: USART1, USART2, USART3, UART4 or UART5.
NewState,:new state of the USART mute mode. This parameter can be: ENABLE or DISABLE.
Return values:
None

Definition at line 518 of file stm32f10x_usart.c.

void USART_SendBreak ( USART_TypeDef USARTx)

Transmits break characters.

Parameters:
USARTx,:Select the USART or the UART peripheral. This parameter can be one of the following values: USART1, USART2, USART3, UART4 or UART5.
Return values:
None

Definition at line 625 of file stm32f10x_usart.c.

void USART_SendData ( USART_TypeDef USARTx,
uint16_t  Data 
)

Transmits single data through the USARTx peripheral.

Parameters:
USARTx,:Select the USART or the UART peripheral. This parameter can be one of the following values: USART1, USART2, USART3, UART4 or UART5.
Data,:the data to transmit.
Return values:
None

Definition at line 592 of file stm32f10x_usart.c.

void USART_SetAddress ( USART_TypeDef USARTx,
uint8_t  USART_Address 
)

Sets the address of the USART node.

Parameters:
USARTx,:Select the USART or the UART peripheral. This parameter can be one of the following values: USART1, USART2, USART3, UART4 or UART5.
USART_Address,:Indicates the address of the USART node.
Return values:
None

Definition at line 476 of file stm32f10x_usart.c.

void USART_SetGuardTime ( USART_TypeDef USARTx,
uint8_t  USART_GuardTime 
)

Sets the specified USART guard time.

Parameters:
USARTx,:where x can be 1, 2 or 3 to select the USART peripheral.
USART_GuardTime,:specifies the guard time.
Note:
The guard time bits are not available for UART4 and UART5.
Return values:
None

Definition at line 641 of file stm32f10x_usart.c.

void USART_SetPrescaler ( USART_TypeDef USARTx,
uint8_t  USART_Prescaler 
)

Sets the system clock prescaler.

Parameters:
USARTx,:Select the USART or the UART peripheral. This parameter can be one of the following values: USART1, USART2, USART3, UART4 or UART5.
USART_Prescaler,:specifies the prescaler clock.
Note:
The function is used for IrDA mode with UART4 and UART5.
Return values:
None

Definition at line 661 of file stm32f10x_usart.c.

void USART_SmartCardCmd ( USART_TypeDef USARTx,
FunctionalState  NewState 
)

Enables or disables the USART’s Smart Card mode.

Parameters:
USARTx,:where x can be 1, 2 or 3 to select the USART peripheral.
NewState,:new state of the Smart Card mode. This parameter can be: ENABLE or DISABLE.
Note:
The Smart Card mode is not available for UART4 and UART5.
Return values:
None

Definition at line 680 of file stm32f10x_usart.c.

void USART_SmartCardNACKCmd ( USART_TypeDef USARTx,
FunctionalState  NewState 
)

Enables or disables NACK transmission.

Parameters:
USARTx,:where x can be 1, 2 or 3 to select the USART peripheral.
NewState,:new state of the NACK transmission. This parameter can be: ENABLE or DISABLE.
Note:
The Smart Card mode is not available for UART4 and UART5.
Return values:
None

Definition at line 705 of file stm32f10x_usart.c.

void USART_StructInit ( USART_InitTypeDef USART_InitStruct)

Fills each USART_InitStruct member with its default value.

Parameters:
USART_InitStruct,:pointer to a USART_InitTypeDef structure which will be initialized.
Return values:
None

Definition at line 281 of file stm32f10x_usart.c.

void USART_WakeUpConfig ( USART_TypeDef USARTx,
uint16_t  USART_WakeUp 
)

Selects the USART WakeUp method.

Parameters:
USARTx,:Select the USART or the UART peripheral. This parameter can be one of the following values: USART1, USART2, USART3, UART4 or UART5.
USART_WakeUp,:specifies the USART wakeup method. This parameter can be one of the following values:
  • USART_WakeUp_IdleLine: WakeUp by an idle line detection
  • USART_WakeUp_AddressMark: WakeUp by an address mark
Return values:
None

Definition at line 499 of file stm32f10x_usart.c.