STM32F37 Standard Peripheral bibliotheek  1.0
ST Microelectronics bibliotheek documentatie voor de STM32F37 Standard Peripheral Library
 All Data Structures Files Functions Variables Enumerations Enumerator Groups
Smartcard mode functions

Smartcard mode functions. More...

Functions

void USART_SetGuardTime (USART_TypeDef *USARTx, uint8_t USART_GuardTime)
 Sets the specified USART guard time. 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_SetAutoRetryCount (USART_TypeDef *USARTx, uint8_t USART_AutoCount)
 Sets the Smart Card number of retries in transmit and receive. More...
 
void USART_SetBlockLength (USART_TypeDef *USARTx, uint8_t USART_BlockLength)
 Sets the Smart Card Block length. More...
 

Detailed Description

Smartcard mode functions.

 ===============================================================================
                     ##### Smartcard mode functions #####
 ===============================================================================
    [..] This subsection provides a set of functions allowing to manage the USART
         Smartcard communication.
    [..] The Smartcard interface is designed to support asynchronous protocol 
         Smartcards as defined in the ISO 7816-3 standard. The USART can provide 
         a clock to the smartcard through the SCLK output. In smartcard mode, 
         SCLK is not associated to the communication but is simply derived from 
         the internal peripheral input clock through a 5-bit prescaler.
    [..] Smartcard communication is possible through the following procedure:
         (#) Configures the Smartcard Prsecaler using the USART_SetPrescaler() 
             function.
         (#) Configures the Smartcard Guard Time using the USART_SetGuardTime() 
             function.
         (#) Program the USART clock using the USART_ClockInit() function as following:
             (++) USART Clock enabled.
             (++) USART CPOL Low.
             (++) USART CPHA on first edge.
             (++) USART Last Bit Clock Enabled.
         (#) Program the Smartcard interface using the USART_Init() function as 
             following:
             (++) Word Length = 9 Bits.
             (++) 1.5 Stop Bit.
             (++) Even parity.
             (++) BaudRate = 12096 baud.
             (++) Hardware flow control disabled (RTS and CTS signals).
             (++) Tx and Rx enabled
         (#) Optionally you can enable the parity error interrupt using 
             the USART_ITConfig() function.
         (#) Enable the Smartcard NACK using the USART_SmartCardNACKCmd() function.
         (#) Enable the Smartcard interface using the USART_SmartCardCmd() function.
         (#) Enable the USART using the USART_Cmd() function.
    [..] 
  Please refer to the ISO 7816-3 specification for more details.
    [..] 
         (@) It is also possible to choose 0.5 stop bit for receiving but it is 
             recommended to use 1.5 stop bits for both transmitting and receiving 
             to avoid switching between the two configurations.
         (@) In smartcard mode, the following bits must be kept cleared:
             (+@) LINEN bit in the USART_CR2 register.
             (+@) HDSEL and IREN bits in the USART_CR3 register.

Function Documentation

void USART_SetAutoRetryCount ( USART_TypeDef *  USARTx,
uint8_t  USART_AutoCount 
)

Sets the Smart Card number of retries in transmit and receive.

Parameters
USARTx,:where x can be 1 or 2 or 3 to select the USART peripheral.
USART_AutoCount,:specifies the Smart Card auto retry count.
Return values
None
void USART_SetBlockLength ( USART_TypeDef *  USARTx,
uint8_t  USART_BlockLength 
)

Sets the Smart Card Block length.

Parameters
USARTx,:where x can be 1 or 2 or 3 to select the USART peripheral.
USART_BlockLength,:specifies the Smart Card block length.
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 or 2 or 3 to select the USART peripheral.
USART_GuardTime,:specifies the guard time.
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 or 2 or 3 to select the USART 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 or 2 or 3 to select the USART peripheral.
NewState,:new state of the NACK transmission. This parameter can be: ENABLE or DISABLE.
Return values
None