STM32F439xx HAL User Manual
|
SMARTCARD Transmit and Receive functions. More...
Functions | |
HAL_StatusTypeDef | HAL_SMARTCARD_Transmit (SMARTCARD_HandleTypeDef *hsc, uint8_t *pData, uint16_t Size, uint32_t Timeout) |
Send an amount of data in blocking mode. | |
HAL_StatusTypeDef | HAL_SMARTCARD_Receive (SMARTCARD_HandleTypeDef *hsc, uint8_t *pData, uint16_t Size, uint32_t Timeout) |
Receive an amount of data in blocking mode. | |
HAL_StatusTypeDef | HAL_SMARTCARD_Transmit_IT (SMARTCARD_HandleTypeDef *hsc, uint8_t *pData, uint16_t Size) |
Send an amount of data in non blocking mode. | |
HAL_StatusTypeDef | HAL_SMARTCARD_Receive_IT (SMARTCARD_HandleTypeDef *hsc, uint8_t *pData, uint16_t Size) |
Receive an amount of data in non blocking mode. | |
HAL_StatusTypeDef | HAL_SMARTCARD_Transmit_DMA (SMARTCARD_HandleTypeDef *hsc, uint8_t *pData, uint16_t Size) |
Send an amount of data in non blocking mode. | |
HAL_StatusTypeDef | HAL_SMARTCARD_Receive_DMA (SMARTCARD_HandleTypeDef *hsc, uint8_t *pData, uint16_t Size) |
Receive an amount of data in non blocking mode. | |
HAL_StatusTypeDef | HAL_SMARTCARD_Abort (SMARTCARD_HandleTypeDef *hsc) |
Abort ongoing transfers (blocking mode). | |
HAL_StatusTypeDef | HAL_SMARTCARD_AbortTransmit (SMARTCARD_HandleTypeDef *hsc) |
Abort ongoing Transmit transfer (blocking mode). | |
HAL_StatusTypeDef | HAL_SMARTCARD_AbortReceive (SMARTCARD_HandleTypeDef *hsc) |
Abort ongoing Receive transfer (blocking mode). | |
HAL_StatusTypeDef | HAL_SMARTCARD_Abort_IT (SMARTCARD_HandleTypeDef *hsc) |
Abort ongoing transfers (Interrupt mode). | |
HAL_StatusTypeDef | HAL_SMARTCARD_AbortTransmit_IT (SMARTCARD_HandleTypeDef *hsc) |
Abort ongoing Transmit transfer (Interrupt mode). | |
HAL_StatusTypeDef | HAL_SMARTCARD_AbortReceive_IT (SMARTCARD_HandleTypeDef *hsc) |
Abort ongoing Receive transfer (Interrupt mode). | |
void | HAL_SMARTCARD_IRQHandler (SMARTCARD_HandleTypeDef *hsc) |
This function handles SMARTCARD interrupt request. | |
__weak void | HAL_SMARTCARD_TxCpltCallback (SMARTCARD_HandleTypeDef *hsc) |
Tx Transfer completed callbacks. | |
__weak void | HAL_SMARTCARD_RxCpltCallback (SMARTCARD_HandleTypeDef *hsc) |
Rx Transfer completed callbacks. | |
__weak void | HAL_SMARTCARD_ErrorCallback (SMARTCARD_HandleTypeDef *hsc) |
SMARTCARD error callbacks. | |
__weak void | HAL_SMARTCARD_AbortCpltCallback (SMARTCARD_HandleTypeDef *hsc) |
SMARTCARD Abort Complete callback. | |
__weak void | HAL_SMARTCARD_AbortTransmitCpltCallback (SMARTCARD_HandleTypeDef *hsc) |
SMARTCARD Abort Transmit Complete callback. | |
__weak void | HAL_SMARTCARD_AbortReceiveCpltCallback (SMARTCARD_HandleTypeDef *hsc) |
SMARTCARD Abort ReceiveComplete callback. |
SMARTCARD Transmit and Receive functions.
=============================================================================== ##### IO operation functions ##### =============================================================================== [..] This subsection provides a set of functions allowing to manage the SMARTCARD data transfers. [..] (#) Smartcard is a single wire half duplex communication protocol. The Smartcard interface is designed to support asynchronous protocol Smartcards as defined in the ISO 7816-3 standard. (#) The USART should be configured as: (++) 8 bits plus parity: where M=1 and PCE=1 in the USART_CR1 register (++) 1.5 stop bits when transmitting and receiving: where STOP=11 in the USART_CR2 register. (#) There are two modes of transfer: (++) Blocking mode: The communication is performed in polling mode. The HAL status of all data processing is returned by the same function after finishing transfer. (++) Non Blocking mode: The communication is performed using Interrupts or DMA, These APIs return the HAL status. The end of the data processing will be indicated through the dedicated SMARTCARD IRQ when using Interrupt mode or the DMA IRQ when using DMA mode. The HAL_SMARTCARD_TxCpltCallback(), HAL_SMARTCARD_RxCpltCallback() user callbacks will be executed respectively at the end of the Transmit or Receive process The HAL_SMARTCARD_ErrorCallback() user callback will be executed when a communication error is detected (#) Blocking mode APIs are : (++) HAL_SMARTCARD_Transmit() (++) HAL_SMARTCARD_Receive() (#) Non Blocking mode APIs with Interrupt are : (++) HAL_SMARTCARD_Transmit_IT() (++) HAL_SMARTCARD_Receive_IT() (++) HAL_SMARTCARD_IRQHandler() (#) Non Blocking mode functions with DMA are : (++) HAL_SMARTCARD_Transmit_DMA() (++) HAL_SMARTCARD_Receive_DMA() (#) A set of Transfer Complete Callbacks are provided in non Blocking mode: (++) HAL_SMARTCARD_TxCpltCallback() (++) HAL_SMARTCARD_RxCpltCallback() (++) HAL_SMARTCARD_ErrorCallback()
HAL_StatusTypeDef HAL_SMARTCARD_Abort | ( | SMARTCARD_HandleTypeDef * | hsc | ) |
Abort ongoing transfers (blocking mode).
hsc | SMARTCARD handle. |
HAL | status |
Definition at line 780 of file stm32f4xx_hal_smartcard.c.
References SMARTCARD_HandleTypeDef::ErrorCode, SMARTCARD_HandleTypeDef::gState, HAL_DMA_Abort(), HAL_SMARTCARD_ERROR_NONE, HAL_SMARTCARD_STATE_READY, SMARTCARD_HandleTypeDef::hdmarx, SMARTCARD_HandleTypeDef::hdmatx, SMARTCARD_HandleTypeDef::Instance, SMARTCARD_HandleTypeDef::RxState, SMARTCARD_HandleTypeDef::RxXferCount, SMARTCARD_HandleTypeDef::TxXferCount, and __DMA_HandleTypeDef::XferAbortCallback.
HAL_StatusTypeDef HAL_SMARTCARD_Abort_IT | ( | SMARTCARD_HandleTypeDef * | hsc | ) |
Abort ongoing transfers (Interrupt mode).
hsc | SMARTCARD handle. |
HAL | status |
Definition at line 931 of file stm32f4xx_hal_smartcard.c.
References SMARTCARD_HandleTypeDef::ErrorCode, SMARTCARD_HandleTypeDef::gState, HAL_DMA_Abort_IT(), HAL_SMARTCARD_AbortCpltCallback(), HAL_SMARTCARD_ERROR_NONE, HAL_SMARTCARD_STATE_READY, SMARTCARD_HandleTypeDef::hdmarx, SMARTCARD_HandleTypeDef::hdmatx, SMARTCARD_HandleTypeDef::Instance, SMARTCARD_HandleTypeDef::RxState, SMARTCARD_HandleTypeDef::RxXferCount, SMARTCARD_DMARxAbortCallback(), SMARTCARD_DMATxAbortCallback(), SMARTCARD_HandleTypeDef::TxXferCount, and __DMA_HandleTypeDef::XferAbortCallback.
void HAL_SMARTCARD_AbortCpltCallback | ( | SMARTCARD_HandleTypeDef * | hsc | ) |
SMARTCARD Abort Complete callback.
hsc | SMARTCARD handle. |
None |
Definition at line 1344 of file stm32f4xx_hal_smartcard.c.
Referenced by HAL_SMARTCARD_Abort_IT(), SMARTCARD_DMARxAbortCallback(), and SMARTCARD_DMATxAbortCallback().
HAL_StatusTypeDef HAL_SMARTCARD_AbortReceive | ( | SMARTCARD_HandleTypeDef * | hsc | ) |
Abort ongoing Receive transfer (blocking mode).
hsc | SMARTCARD handle. |
HAL | status |
Definition at line 886 of file stm32f4xx_hal_smartcard.c.
References HAL_DMA_Abort(), HAL_SMARTCARD_STATE_READY, SMARTCARD_HandleTypeDef::hdmarx, SMARTCARD_HandleTypeDef::Instance, SMARTCARD_HandleTypeDef::RxState, SMARTCARD_HandleTypeDef::RxXferCount, and __DMA_HandleTypeDef::XferAbortCallback.
HAL_StatusTypeDef HAL_SMARTCARD_AbortReceive_IT | ( | SMARTCARD_HandleTypeDef * | hsc | ) |
Abort ongoing Receive transfer (Interrupt mode).
hsc | SMARTCARD handle. |
HAL | status |
Definition at line 1117 of file stm32f4xx_hal_smartcard.c.
References HAL_DMA_Abort_IT(), HAL_SMARTCARD_AbortReceiveCpltCallback(), HAL_SMARTCARD_STATE_READY, SMARTCARD_HandleTypeDef::hdmarx, SMARTCARD_HandleTypeDef::Instance, SMARTCARD_HandleTypeDef::RxState, SMARTCARD_HandleTypeDef::RxXferCount, SMARTCARD_DMARxOnlyAbortCallback(), and __DMA_HandleTypeDef::XferAbortCallback.
SMARTCARD Abort ReceiveComplete callback.
hsc | SMARTCARD handle. |
None |
Definition at line 1374 of file stm32f4xx_hal_smartcard.c.
Referenced by HAL_SMARTCARD_AbortReceive_IT(), and SMARTCARD_DMARxOnlyAbortCallback().
HAL_StatusTypeDef HAL_SMARTCARD_AbortTransmit | ( | SMARTCARD_HandleTypeDef * | hsc | ) |
Abort ongoing Transmit transfer (blocking mode).
hsc | SMARTCARD handle. |
HAL | status |
Definition at line 844 of file stm32f4xx_hal_smartcard.c.
References SMARTCARD_HandleTypeDef::gState, HAL_DMA_Abort(), HAL_SMARTCARD_STATE_READY, SMARTCARD_HandleTypeDef::hdmatx, SMARTCARD_HandleTypeDef::Instance, SMARTCARD_HandleTypeDef::TxXferCount, and __DMA_HandleTypeDef::XferAbortCallback.
HAL_StatusTypeDef HAL_SMARTCARD_AbortTransmit_IT | ( | SMARTCARD_HandleTypeDef * | hsc | ) |
Abort ongoing Transmit transfer (Interrupt mode).
hsc | SMARTCARD handle. |
HAL | status |
Definition at line 1052 of file stm32f4xx_hal_smartcard.c.
References SMARTCARD_HandleTypeDef::gState, HAL_DMA_Abort_IT(), HAL_SMARTCARD_AbortTransmitCpltCallback(), HAL_SMARTCARD_STATE_READY, SMARTCARD_HandleTypeDef::hdmatx, SMARTCARD_HandleTypeDef::Instance, SMARTCARD_DMATxOnlyAbortCallback(), SMARTCARD_HandleTypeDef::TxXferCount, and __DMA_HandleTypeDef::XferAbortCallback.
SMARTCARD Abort Transmit Complete callback.
hsc | SMARTCARD handle. |
None |
Definition at line 1359 of file stm32f4xx_hal_smartcard.c.
Referenced by HAL_SMARTCARD_AbortTransmit_IT(), and SMARTCARD_DMATxOnlyAbortCallback().
void HAL_SMARTCARD_ErrorCallback | ( | SMARTCARD_HandleTypeDef * | hsc | ) |
SMARTCARD error callbacks.
hsc | pointer to a SMARTCARD_HandleTypeDef structure that contains the configuration information for SMARTCARD module. |
None |
Definition at line 1330 of file stm32f4xx_hal_smartcard.c.
Referenced by HAL_SMARTCARD_IRQHandler(), SMARTCARD_DMAAbortOnError(), and SMARTCARD_DMAError().
void HAL_SMARTCARD_IRQHandler | ( | SMARTCARD_HandleTypeDef * | hsc | ) |
This function handles SMARTCARD interrupt request.
hsc | pointer to a SMARTCARD_HandleTypeDef structure that contains the configuration information for SMARTCARD module. |
None |
Definition at line 1175 of file stm32f4xx_hal_smartcard.c.
References SMARTCARD_HandleTypeDef::ErrorCode, HAL_DMA_Abort_IT(), HAL_SMARTCARD_ERROR_FE, HAL_SMARTCARD_ERROR_NE, HAL_SMARTCARD_ERROR_NONE, HAL_SMARTCARD_ERROR_ORE, HAL_SMARTCARD_ERROR_PE, HAL_SMARTCARD_ErrorCallback(), SMARTCARD_HandleTypeDef::hdmarx, SMARTCARD_HandleTypeDef::Instance, SMARTCARD_DMAAbortOnError(), SMARTCARD_EndRxTransfer(), SMARTCARD_EndTransmit_IT(), SMARTCARD_FLAG_FE, SMARTCARD_FLAG_NE, SMARTCARD_FLAG_ORE, SMARTCARD_FLAG_PE, SMARTCARD_FLAG_TC, SMARTCARD_FLAG_TXE, SMARTCARD_Receive_IT(), SMARTCARD_Transmit_IT(), and __DMA_HandleTypeDef::XferAbortCallback.
HAL_StatusTypeDef HAL_SMARTCARD_Receive | ( | SMARTCARD_HandleTypeDef * | hsc, |
uint8_t * | pData, | ||
uint16_t | Size, | ||
uint32_t | Timeout | ||
) |
Receive an amount of data in blocking mode.
hsc | pointer to a SMARTCARD_HandleTypeDef structure that contains the configuration information for SMARTCARD module. |
pData | pointer to data buffer |
Size | amount of data to be received |
Timeout | Timeout duration |
HAL | status |
Definition at line 496 of file stm32f4xx_hal_smartcard.c.
References SMARTCARD_HandleTypeDef::ErrorCode, HAL_GetTick(), HAL_SMARTCARD_ERROR_NONE, HAL_SMARTCARD_STATE_BUSY_RX, HAL_SMARTCARD_STATE_READY, SMARTCARD_HandleTypeDef::Instance, SMARTCARD_HandleTypeDef::RxState, SMARTCARD_HandleTypeDef::RxXferCount, SMARTCARD_HandleTypeDef::RxXferSize, SMARTCARD_FLAG_RXNE, and SMARTCARD_WaitOnFlagUntilTimeout().
HAL_StatusTypeDef HAL_SMARTCARD_Receive_DMA | ( | SMARTCARD_HandleTypeDef * | hsc, |
uint8_t * | pData, | ||
uint16_t | Size | ||
) |
Receive an amount of data in non blocking mode.
hsc | pointer to a SMARTCARD_HandleTypeDef structure that contains the configuration information for SMARTCARD module. |
pData | pointer to data buffer |
Size | amount of data to be received |
HAL | status |
Definition at line 710 of file stm32f4xx_hal_smartcard.c.
References __HAL_SMARTCARD_CLEAR_OREFLAG, SMARTCARD_HandleTypeDef::ErrorCode, HAL_DMA_Start_IT(), HAL_SMARTCARD_ERROR_NONE, HAL_SMARTCARD_STATE_BUSY_RX, HAL_SMARTCARD_STATE_READY, SMARTCARD_HandleTypeDef::hdmarx, SMARTCARD_HandleTypeDef::hdmatx, SMARTCARD_HandleTypeDef::Instance, SMARTCARD_HandleTypeDef::pRxBuffPtr, SMARTCARD_HandleTypeDef::RxState, SMARTCARD_HandleTypeDef::RxXferSize, SMARTCARD_DMAError(), SMARTCARD_DMAReceiveCplt(), __DMA_HandleTypeDef::XferAbortCallback, __DMA_HandleTypeDef::XferCpltCallback, and __DMA_HandleTypeDef::XferErrorCallback.
HAL_StatusTypeDef HAL_SMARTCARD_Receive_IT | ( | SMARTCARD_HandleTypeDef * | hsc, |
uint8_t * | pData, | ||
uint16_t | Size | ||
) |
Receive an amount of data in non blocking mode.
hsc | pointer to a SMARTCARD_HandleTypeDef structure that contains the configuration information for SMARTCARD module. |
pData | pointer to data buffer |
Size | amount of data to be received |
HAL | status |
Definition at line 603 of file stm32f4xx_hal_smartcard.c.
References SMARTCARD_HandleTypeDef::ErrorCode, HAL_SMARTCARD_ERROR_NONE, HAL_SMARTCARD_STATE_BUSY_RX, HAL_SMARTCARD_STATE_READY, SMARTCARD_HandleTypeDef::Instance, SMARTCARD_HandleTypeDef::pRxBuffPtr, SMARTCARD_HandleTypeDef::RxState, SMARTCARD_HandleTypeDef::RxXferCount, and SMARTCARD_HandleTypeDef::RxXferSize.
void HAL_SMARTCARD_RxCpltCallback | ( | SMARTCARD_HandleTypeDef * | hsc | ) |
Rx Transfer completed callbacks.
hsc | pointer to a SMARTCARD_HandleTypeDef structure that contains the configuration information for SMARTCARD module. |
None |
Definition at line 1315 of file stm32f4xx_hal_smartcard.c.
Referenced by SMARTCARD_DMAReceiveCplt(), and SMARTCARD_Receive_IT().
HAL_StatusTypeDef HAL_SMARTCARD_Transmit | ( | SMARTCARD_HandleTypeDef * | hsc, |
uint8_t * | pData, | ||
uint16_t | Size, | ||
uint32_t | Timeout | ||
) |
Send an amount of data in blocking mode.
hsc | pointer to a SMARTCARD_HandleTypeDef structure that contains the configuration information for SMARTCARD module. |
pData | pointer to data buffer |
Size | amount of data to be sent |
Timeout | Timeout duration |
HAL | status |
Definition at line 433 of file stm32f4xx_hal_smartcard.c.
References SMARTCARD_HandleTypeDef::ErrorCode, SMARTCARD_HandleTypeDef::gState, HAL_GetTick(), HAL_SMARTCARD_ERROR_NONE, HAL_SMARTCARD_STATE_BUSY_TX, HAL_SMARTCARD_STATE_READY, SMARTCARD_HandleTypeDef::Instance, SMARTCARD_FLAG_TC, SMARTCARD_FLAG_TXE, SMARTCARD_WaitOnFlagUntilTimeout(), SMARTCARD_HandleTypeDef::TxXferCount, and SMARTCARD_HandleTypeDef::TxXferSize.
HAL_StatusTypeDef HAL_SMARTCARD_Transmit_DMA | ( | SMARTCARD_HandleTypeDef * | hsc, |
uint8_t * | pData, | ||
uint16_t | Size | ||
) |
Send an amount of data in non blocking mode.
hsc | pointer to a SMARTCARD_HandleTypeDef structure that contains the configuration information for SMARTCARD module. |
pData | pointer to data buffer |
Size | amount of data to be sent |
HAL | status |
Definition at line 648 of file stm32f4xx_hal_smartcard.c.
References __HAL_SMARTCARD_CLEAR_FLAG, SMARTCARD_HandleTypeDef::ErrorCode, SMARTCARD_HandleTypeDef::gState, HAL_DMA_Start_IT(), HAL_SMARTCARD_ERROR_NONE, HAL_SMARTCARD_STATE_BUSY_TX, HAL_SMARTCARD_STATE_READY, SMARTCARD_HandleTypeDef::hdmatx, SMARTCARD_HandleTypeDef::Instance, SMARTCARD_HandleTypeDef::pTxBuffPtr, SMARTCARD_DMAError(), SMARTCARD_DMATransmitCplt(), SMARTCARD_FLAG_TC, SMARTCARD_HandleTypeDef::TxXferCount, SMARTCARD_HandleTypeDef::TxXferSize, __DMA_HandleTypeDef::XferAbortCallback, __DMA_HandleTypeDef::XferCpltCallback, and __DMA_HandleTypeDef::XferErrorCallback.
HAL_StatusTypeDef HAL_SMARTCARD_Transmit_IT | ( | SMARTCARD_HandleTypeDef * | hsc, |
uint8_t * | pData, | ||
uint16_t | Size | ||
) |
Send an amount of data in non blocking mode.
hsc | pointer to a SMARTCARD_HandleTypeDef structure that contains the configuration information for SMARTCARD module. |
pData | pointer to data buffer |
Size | amount of data to be sent |
HAL | status |
Definition at line 555 of file stm32f4xx_hal_smartcard.c.
References SMARTCARD_HandleTypeDef::ErrorCode, SMARTCARD_HandleTypeDef::gState, HAL_SMARTCARD_ERROR_NONE, HAL_SMARTCARD_STATE_BUSY_TX, HAL_SMARTCARD_STATE_READY, SMARTCARD_HandleTypeDef::Instance, SMARTCARD_HandleTypeDef::pTxBuffPtr, SMARTCARD_HandleTypeDef::TxXferCount, and SMARTCARD_HandleTypeDef::TxXferSize.
void HAL_SMARTCARD_TxCpltCallback | ( | SMARTCARD_HandleTypeDef * | hsc | ) |
Tx Transfer completed callbacks.
hsc | pointer to a SMARTCARD_HandleTypeDef structure that contains the configuration information for SMARTCARD module. |
None |
Definition at line 1300 of file stm32f4xx_hal_smartcard.c.
Referenced by SMARTCARD_EndTransmit_IT().