STM32F1 Standard Peripheral bibliotheek  1.0
ST Microelectronics bibliotheek documentatie voor de STM32F1 Standard Peripheral Library
 All Data Structures Files Functions Variables Enumerations Groups
USART_Exported_Functions

Functions

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

Detailed Description

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
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
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 mode is 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,: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
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
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 or UART4.
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.
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,: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).
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).
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
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
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
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
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: 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_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,: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
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
void USART_OneBitMethodCmd ( USART_TypeDef *  USARTx,
FunctionalState  NewState 
)

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

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 methode. 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.

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 methode. 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
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.
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
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
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
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
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
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
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
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
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,: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