Smartcard mode functions.
More...
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 Prescaler 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
(#) POptionally you can enable the parity error interrupt using the USART_ITConfig()
function
(#) PEnable the USART using the USART_Cmd() function.
(#) PEnable the Smartcard NACK using the USART_SmartCardNACKCmd() function.
(#) PEnable the Smartcard interface using the USART_SmartCardCmd() 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.
-@- Smartcard mode is available on USART peripherals only (not available on UART4
and UART5 peripherals).
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
-
Definition at line 920 of file stm32f4xx_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, 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
-
Definition at line 939 of file stm32f4xx_usart.c.
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
-
Definition at line 964 of file stm32f4xx_usart.c.