USART
[STM32F4xx_StdPeriph_Driver]

USART driver modules. More...

Data Structures

struct  USART_InitTypeDef
 USART Init Structure definition. More...
struct  USART_ClockInitTypeDef
 USART Clock Init Structure definition. More...

Modules

 USART_Exported_Constants
 USART_Private_Functions

Defines

#define CR1_CLEAR_MASK
#define CR2_CLOCK_CLEAR_MASK
#define CR3_CLEAR_MASK   ((uint16_t)(USART_CR3_RTSE | USART_CR3_CTSE))
#define IT_MASK   ((uint16_t)0x001F)

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_SetPrescaler (USART_TypeDef *USARTx, uint8_t USART_Prescaler)
 Sets the system clock prescaler.
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_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_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_SendBreak (USART_TypeDef *USARTx)
 Transmits break characters.
void USART_HalfDuplexCmd (USART_TypeDef *USARTx, FunctionalState NewState)
 Enables or disables the USART's Half Duplex communication.
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_SetGuardTime (USART_TypeDef *USARTx, uint8_t USART_GuardTime)
 Sets the specified USART guard time.
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.
void USART_DMACmd (USART_TypeDef *USARTx, uint16_t USART_DMAReq, FunctionalState NewState)
 Enables or disables the USART's DMA interface.
void USART_ITConfig (USART_TypeDef *USARTx, uint16_t USART_IT, FunctionalState NewState)
 Enables or disables the specified USART interrupts.
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.

Detailed Description

USART driver modules.


Define Documentation

#define CR1_CLEAR_MASK
Value:
((uint16_t)(USART_CR1_M | USART_CR1_PCE | \
                                              USART_CR1_PS | USART_CR1_TE | \
                                              USART_CR1_RE))

< USART CR1 register clear Mask ((~(uint16_t)0xE9F3)) USART CR2 register clock bits clear Mask ((~(uint16_t)0xF0FF))

#define CR2_CLOCK_CLEAR_MASK
Value:
((uint16_t)(USART_CR2_CLKEN | USART_CR2_CPOL | \
                                              USART_CR2_CPHA | USART_CR2_LBCL))

USART CR3 register clear Mask ((~(uint16_t)0xFCFF))

#define CR3_CLEAR_MASK   ((uint16_t)(USART_CR3_RTSE | USART_CR3_CTSE))

USART Interrupts mask


Function Documentation

void USART_ClearFlag ( USART_TypeDef *  USARTx,
uint16_t  USART_FLAG 
)

Clears the USARTx's pending flags.

Parameters:
USARTx,: where x can be 1, 2, 3, 4, 5 or 6 to select the USART or UART peripheral.
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 
void USART_ClearITPendingBit ( USART_TypeDef *  USARTx,
uint16_t  USART_IT 
)

Clears the USARTx's interrupt pending bits.

Parameters:
USARTx,: where x can be 1, 2, 3, 4, 5 or 6 to select the USART or UART peripheral.
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 
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 or 6 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 
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 
void USART_Cmd ( USART_TypeDef *  USARTx,
FunctionalState  NewState 
)

Enables or disables the specified USART peripheral.

Parameters:
USARTx,: where x can be 1, 2, 3, 4, 5 or 6 to select the USART or UART peripheral.
NewState,: new state of the USARTx peripheral. This parameter can be: ENABLE or DISABLE.
Return values:
None 
void USART_DeInit ( USART_TypeDef *  USARTx  ) 

Deinitializes the USARTx peripheral registers to their default reset values.

Parameters:
USARTx,: where x can be 1, 2, 3, 4, 5 or 6 to select the USART or UART peripheral.
Return values:
None 
void USART_DMACmd ( USART_TypeDef *  USARTx,
uint16_t  USART_DMAReq,
FunctionalState  NewState 
)

Enables or disables the USART's DMA interface.

Parameters:
USARTx,: where x can be 1, 2, 3, 4, 5 or 6 to select the USART or UART peripheral.
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.
Return values:
None 
FlagStatus USART_GetFlagStatus ( USART_TypeDef *  USARTx,
uint16_t  USART_FLAG 
)

Checks whether the specified USART flag is set or not.

Parameters:
USARTx,: where x can be 1, 2, 3, 4, 5 or 6 to select the USART or UART peripheral.
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:
The new state of USART_FLAG (SET or RESET).
ITStatus USART_GetITStatus ( USART_TypeDef *  USARTx,
uint16_t  USART_IT 
)

Checks whether the specified USART interrupt has occurred or not.

Parameters:
USARTx,: where x can be 1, 2, 3, 4, 5 or 6 to select the USART or UART peripheral.
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: 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_ORE_RX : OverRun Error interrupt if the RXNEIE bit is set
  • USART_IT_ORE_ER : OverRun Error interrupt if the EIE bit is set
  • USART_IT_NE: Noise Error interrupt
  • USART_IT_FE: Framing Error interrupt
  • USART_IT_PE: Parity Error interrupt
Return values:
The new state of USART_IT (SET or RESET).
void USART_HalfDuplexCmd ( USART_TypeDef *  USARTx,
FunctionalState  NewState 
)

Enables or disables the USART's Half Duplex communication.

Parameters:
USARTx,: where x can be 1, 2, 3, 4, 5 or 6 to select the USART or UART peripheral.
NewState,: new state of the USART Communication. This parameter can be: ENABLE or DISABLE.
Return values:
None 
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,: where x can be 1, 2, 3, 4, 5 or 6 to select the USART or UART peripheral.
USART_InitStruct,: pointer to a USART_InitTypeDef structure that contains the configuration information for the specified USART peripheral.
Return values:
None 
void USART_IrDACmd ( USART_TypeDef *  USARTx,
FunctionalState  NewState 
)

Enables or disables the USART's IrDA interface.

Parameters:
USARTx,: where x can be 1, 2, 3, 4, 5 or 6 to select the USART or UART peripheral.
NewState,: new state of the IrDA mode. This parameter can be: ENABLE or DISABLE.
Return values:
None 
void USART_IrDAConfig ( USART_TypeDef *  USARTx,
uint16_t  USART_IrDAMode 
)

Configures the USART's IrDA interface.

Parameters:
USARTx,: where x can be 1, 2, 3, 4, 5 or 6 to select the USART or UART peripheral.
USART_IrDAMode,: specifies the IrDA mode. This parameter can be one of the following values:

  • USART_IrDAMode_LowPower
  • USART_IrDAMode_Normal
Return values:
None 
void USART_ITConfig ( USART_TypeDef *  USARTx,
uint16_t  USART_IT,
FunctionalState  NewState 
)

Enables or disables the specified USART interrupts.

Parameters:
USARTx,: where x can be 1, 2, 3, 4, 5 or 6 to select the USART or UART peripheral.
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
  • 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 
void USART_LINBreakDetectLengthConfig ( USART_TypeDef *  USARTx,
uint16_t  USART_LINBreakDetectLength 
)

Sets the USART LIN Break detection length.

Parameters:
USARTx,: where x can be 1, 2, 3, 4, 5 or 6 to select the USART or UART peripheral.
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 
void USART_LINCmd ( USART_TypeDef *  USARTx,
FunctionalState  NewState 
)

Enables or disables the USART's LIN mode.

Parameters:
USARTx,: where x can be 1, 2, 3, 4, 5 or 6 to select the USART or UART peripheral.
NewState,: new state of the USART LIN mode. This parameter can be: ENABLE or DISABLE.
Return values:
None 
void USART_OneBitMethodCmd ( USART_TypeDef *  USARTx,
FunctionalState  NewState 
)

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

Parameters:
USARTx,: where x can be 1, 2, 3, 4, 5 or 6 to select the USART or UART peripheral.
NewState,: new state of the USART one bit sampling method. This parameter can be: ENABLE or DISABLE.
Return values:
None 
void USART_OverSampling8Cmd ( USART_TypeDef *  USARTx,
FunctionalState  NewState 
)

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

Note:
This function has to be called before calling USART_Init() function in order to have correct baudrate Divider value.
Parameters:
USARTx,: where x can be 1, 2, 3, 4, 5 or 6 to select the USART or UART peripheral.
NewState,: new state of the USART 8x oversampling mode. This parameter can be: ENABLE or DISABLE.
Return values:
None 
uint16_t USART_ReceiveData ( USART_TypeDef *  USARTx  ) 

Returns the most recent received data by the USARTx peripheral.

Parameters:
USARTx,: where x can be 1, 2, 3, 4, 5 or 6 to select the USART or UART peripheral.
Return values:
The received data.
void USART_ReceiverWakeUpCmd ( USART_TypeDef *  USARTx,
FunctionalState  NewState 
)

Determines if the USART is in mute mode or not.

Parameters:
USARTx,: where x can be 1, 2, 3, 4, 5 or 6 to select the USART or UART peripheral.
NewState,: new state of the USART mute mode. This parameter can be: ENABLE or DISABLE.
Return values:
None 
void USART_SendBreak ( USART_TypeDef *  USARTx  ) 

Transmits break characters.

Parameters:
USARTx,: where x can be 1, 2, 3, 4, 5 or 6 to select the USART or UART peripheral.
Return values:
None 
void USART_SendData ( USART_TypeDef *  USARTx,
uint16_t  Data 
)

Transmits single data through the USARTx peripheral.

Parameters:
USARTx,: where x can be 1, 2, 3, 4, 5 or 6 to select the USART or UART peripheral.
Data,: the data to transmit.
Return values:
None 
void USART_SetAddress ( USART_TypeDef *  USARTx,
uint8_t  USART_Address 
)

Sets the address of the USART node.

Parameters:
USARTx,: where x can be 1, 2, 3, 4, 5 or 6 to select the USART or UART peripheral.
USART_Address,: Indicates the address of the USART node.
Return values:
None 
void USART_SetGuardTime ( USART_TypeDef *  USARTx,
uint8_t  USART_GuardTime 
)

Sets the specified USART guard time.

Parameters:
USARTx,: where x can be 1, 2, 3 or 6 to select the USART or UART peripheral.
USART_GuardTime,: specifies the guard time.
Return values:
None 
void USART_SetPrescaler ( USART_TypeDef *  USARTx,
uint8_t  USART_Prescaler 
)

Sets the system clock prescaler.

Parameters:
USARTx,: where x can be 1, 2, 3, 4, 5 or 6 to select the USART or UART peripheral.
USART_Prescaler,: specifies the prescaler clock.
Note:
The function is used for IrDA mode with UART4 and UART5.
Return values:
None 
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, 3 or 6 to select the USART or UART peripheral.
NewState,: new state of the Smart Card mode. This parameter can be: ENABLE or DISABLE.
Return values:
None 
void USART_SmartCardNACKCmd ( USART_TypeDef *  USARTx,
FunctionalState  NewState 
)

Enables or disables NACK transmission.

Parameters:
USARTx,: where x can be 1, 2, 3 or 6 to select the USART or UART peripheral.
NewState,: new state of the NACK transmission. This parameter can be: ENABLE or DISABLE.
Return values:
None 
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 
void USART_WakeUpConfig ( USART_TypeDef *  USARTx,
uint16_t  USART_WakeUp 
)

Selects the USART WakeUp method.

Parameters:
USARTx,: where x can be 1, 2, 3, 4, 5 or 6 to select the USART or UART peripheral.
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 
Generated on Fri Jun 22 00:58:31 2012 for STM32F4xx_StdPeriph_Driver by  doxygen 1.6.3