STM32L486xx HAL User Manual
|
Header file of SMARTCARD HAL module. More...
Go to the source code of this file.
Data Structures | |
struct | SMARTCARD_InitTypeDef |
SMARTCARD Init Structure definition. More... | |
struct | SMARTCARD_AdvFeatureInitTypeDef |
SMARTCARD advanced features initalization structure definition. More... | |
struct | __SMARTCARD_HandleTypeDef |
SMARTCARD handle Structure definition. More... | |
Defines | |
#define | HAL_SMARTCARD_ERROR_NONE ((uint32_t)0x00000000U) |
#define | HAL_SMARTCARD_ERROR_PE ((uint32_t)0x00000001U) |
#define | HAL_SMARTCARD_ERROR_NE ((uint32_t)0x00000002U) |
#define | HAL_SMARTCARD_ERROR_FE ((uint32_t)0x00000004U) |
#define | HAL_SMARTCARD_ERROR_ORE ((uint32_t)0x00000008U) |
#define | HAL_SMARTCARD_ERROR_DMA ((uint32_t)0x00000010U) |
#define | HAL_SMARTCARD_ERROR_RTO ((uint32_t)0x00000020U) |
#define | HAL_SMARTCARD_ERROR_INVALID_CALLBACK ((uint32_t)0x00000040U) |
#define | SMARTCARD_WORDLENGTH_9B USART_CR1_M0 |
#define | SMARTCARD_STOPBITS_0_5 USART_CR2_STOP_0 |
#define | SMARTCARD_STOPBITS_1_5 USART_CR2_STOP |
#define | SMARTCARD_PARITY_EVEN USART_CR1_PCE |
#define | SMARTCARD_PARITY_ODD (USART_CR1_PCE | USART_CR1_PS) |
#define | SMARTCARD_MODE_RX USART_CR1_RE |
#define | SMARTCARD_MODE_TX USART_CR1_TE |
#define | SMARTCARD_MODE_TX_RX (USART_CR1_TE |USART_CR1_RE) |
#define | SMARTCARD_POLARITY_LOW 0x00000000U |
#define | SMARTCARD_POLARITY_HIGH USART_CR2_CPOL |
#define | SMARTCARD_PHASE_1EDGE 0x00000000U |
#define | SMARTCARD_PHASE_2EDGE USART_CR2_CPHA |
#define | SMARTCARD_LASTBIT_DISABLE 0x00000000U |
#define | SMARTCARD_LASTBIT_ENABLE USART_CR2_LBCL |
#define | SMARTCARD_ONE_BIT_SAMPLE_DISABLE 0x00000000U |
#define | SMARTCARD_ONE_BIT_SAMPLE_ENABLE USART_CR3_ONEBIT |
#define | SMARTCARD_NACK_DISABLE 0x00000000U |
#define | SMARTCARD_NACK_ENABLE USART_CR3_NACK |
#define | SMARTCARD_TIMEOUT_DISABLE 0x00000000U |
#define | SMARTCARD_TIMEOUT_ENABLE USART_CR2_RTOEN |
#define | SMARTCARD_ADVFEATURE_TXINV_DISABLE 0x00000000U |
#define | SMARTCARD_ADVFEATURE_TXINV_ENABLE USART_CR2_TXINV |
#define | SMARTCARD_ADVFEATURE_RXINV_DISABLE 0x00000000U |
#define | SMARTCARD_ADVFEATURE_RXINV_ENABLE USART_CR2_RXINV |
#define | SMARTCARD_ADVFEATURE_DATAINV_DISABLE 0x00000000U |
#define | SMARTCARD_ADVFEATURE_DATAINV_ENABLE USART_CR2_DATAINV |
#define | SMARTCARD_ADVFEATURE_SWAP_DISABLE 0x00000000U |
#define | SMARTCARD_ADVFEATURE_SWAP_ENABLE USART_CR2_SWAP |
#define | SMARTCARD_ADVFEATURE_OVERRUN_ENABLE 0x00000000U |
#define | SMARTCARD_ADVFEATURE_OVERRUN_DISABLE USART_CR3_OVRDIS |
#define | SMARTCARD_ADVFEATURE_DMA_ENABLEONRXERROR 0x00000000U |
#define | SMARTCARD_ADVFEATURE_DMA_DISABLEONRXERROR USART_CR3_DDRE |
#define | SMARTCARD_ADVFEATURE_MSBFIRST_DISABLE 0x00000000U |
#define | SMARTCARD_ADVFEATURE_MSBFIRST_ENABLE USART_CR2_MSBFIRST |
#define | SMARTCARD_RXDATA_FLUSH_REQUEST USART_RQR_RXFRQ |
#define | SMARTCARD_TXDATA_FLUSH_REQUEST USART_RQR_TXFRQ |
#define | SMARTCARD_IT_MASK 0x001FU |
#define | __HAL_SMARTCARD_RESET_HANDLE_STATE(__HANDLE__) |
Reset SMARTCARD handle states. | |
#define | __HAL_SMARTCARD_FLUSH_DRREGISTER(__HANDLE__) |
Flush the Smartcard Data registers. | |
#define | __HAL_SMARTCARD_CLEAR_FLAG(__HANDLE__, __FLAG__) ((__HANDLE__)->Instance->ICR = (__FLAG__)) |
Clear the specified SMARTCARD pending flag. | |
#define | __HAL_SMARTCARD_CLEAR_PEFLAG(__HANDLE__) __HAL_SMARTCARD_CLEAR_FLAG((__HANDLE__), SMARTCARD_CLEAR_PEF) |
Clear the SMARTCARD PE pending flag. | |
#define | __HAL_SMARTCARD_CLEAR_FEFLAG(__HANDLE__) __HAL_SMARTCARD_CLEAR_FLAG((__HANDLE__), SMARTCARD_CLEAR_FEF) |
Clear the SMARTCARD FE pending flag. | |
#define | __HAL_SMARTCARD_CLEAR_NEFLAG(__HANDLE__) __HAL_SMARTCARD_CLEAR_FLAG((__HANDLE__), SMARTCARD_CLEAR_NEF) |
Clear the SMARTCARD NE pending flag. | |
#define | __HAL_SMARTCARD_CLEAR_OREFLAG(__HANDLE__) __HAL_SMARTCARD_CLEAR_FLAG((__HANDLE__), SMARTCARD_CLEAR_OREF) |
Clear the SMARTCARD ORE pending flag. | |
#define | __HAL_SMARTCARD_CLEAR_IDLEFLAG(__HANDLE__) __HAL_SMARTCARD_CLEAR_FLAG((__HANDLE__), SMARTCARD_CLEAR_IDLEF) |
Clear the SMARTCARD IDLE pending flag. | |
#define | __HAL_SMARTCARD_GET_FLAG(__HANDLE__, __FLAG__) (((__HANDLE__)->Instance->ISR & (__FLAG__)) == (__FLAG__)) |
Check whether the specified Smartcard flag is set or not. | |
#define | __HAL_SMARTCARD_ENABLE_IT(__HANDLE__, __INTERRUPT__) |
Enable the specified SmartCard interrupt. | |
#define | __HAL_SMARTCARD_DISABLE_IT(__HANDLE__, __INTERRUPT__) |
Disable the specified SmartCard interrupt. | |
#define | __HAL_SMARTCARD_GET_IT(__HANDLE__, __INTERRUPT__) ((((__HANDLE__)->Instance->ISR & (0x01U << ((__INTERRUPT__)>> 0x08U))) != RESET) ? SET : RESET) |
Check whether the specified SmartCard interrupt has occurred or not. | |
#define | __HAL_SMARTCARD_GET_IT_SOURCE(__HANDLE__, __INTERRUPT__) |
Check whether the specified SmartCard interrupt source is enabled or not. | |
#define | __HAL_SMARTCARD_CLEAR_IT(__HANDLE__, __IT_CLEAR__) ((__HANDLE__)->Instance->ICR |= (uint32_t)(__IT_CLEAR__)) |
Clear the specified SMARTCARD ISR flag, in setting the proper ICR register flag. | |
#define | __HAL_SMARTCARD_SEND_REQ(__HANDLE__, __REQ__) ((__HANDLE__)->Instance->RQR |= (uint16_t)(__REQ__)) |
Set a specific SMARTCARD request flag. | |
#define | __HAL_SMARTCARD_ONE_BIT_SAMPLE_ENABLE(__HANDLE__) ((__HANDLE__)->Instance->CR3|= USART_CR3_ONEBIT) |
Enable the SMARTCARD one bit sample method. | |
#define | __HAL_SMARTCARD_ONE_BIT_SAMPLE_DISABLE(__HANDLE__) ((__HANDLE__)->Instance->CR3 &= (uint32_t)~((uint32_t)USART_CR3_ONEBIT)) |
Disable the SMARTCARD one bit sample method. | |
#define | __HAL_SMARTCARD_ENABLE(__HANDLE__) ((__HANDLE__)->Instance->CR1 |= USART_CR1_UE) |
Enable the USART associated to the SMARTCARD Handle. | |
#define | __HAL_SMARTCARD_DISABLE(__HANDLE__) ((__HANDLE__)->Instance->CR1 &= ~USART_CR1_UE) |
Disable the USART associated to the SMARTCARD Handle. | |
#define | SMARTCARD_GETCLOCKSOURCE(__HANDLE__, __CLOCKSOURCE__) |
Report the SMARTCARD clock source. | |
#define | IS_SMARTCARD_BAUDRATE(__BAUDRATE__) ((__BAUDRATE__) < 7500001U) |
Check the Baud rate range. | |
#define | IS_SMARTCARD_BLOCKLENGTH(__LENGTH__) ((__LENGTH__) <= 0xFFU) |
Check the block length range. | |
#define | IS_SMARTCARD_TIMEOUT_VALUE(__TIMEOUTVALUE__) ((__TIMEOUTVALUE__) <= 0xFFFFFFU) |
Check the receiver timeout value. | |
#define | IS_SMARTCARD_AUTORETRY_COUNT(__COUNT__) ((__COUNT__) <= 0x7U) |
Check the SMARTCARD autoretry counter value. | |
#define | IS_SMARTCARD_WORD_LENGTH(__LENGTH__) ((__LENGTH__) == SMARTCARD_WORDLENGTH_9B) |
Ensure that SMARTCARD frame length is valid. | |
#define | IS_SMARTCARD_STOPBITS(__STOPBITS__) |
Ensure that SMARTCARD frame number of stop bits is valid. | |
#define | IS_SMARTCARD_PARITY(__PARITY__) |
Ensure that SMARTCARD frame parity is valid. | |
#define | IS_SMARTCARD_MODE(__MODE__) ((((__MODE__) & 0xFFF3U) == 0x00U) && ((__MODE__) != 0x00U)) |
Ensure that SMARTCARD communication mode is valid. | |
#define | IS_SMARTCARD_POLARITY(__CPOL__) (((__CPOL__) == SMARTCARD_POLARITY_LOW) || ((__CPOL__) == SMARTCARD_POLARITY_HIGH)) |
Ensure that SMARTCARD frame polarity is valid. | |
#define | IS_SMARTCARD_PHASE(__CPHA__) (((__CPHA__) == SMARTCARD_PHASE_1EDGE) || ((__CPHA__) == SMARTCARD_PHASE_2EDGE)) |
Ensure that SMARTCARD frame phase is valid. | |
#define | IS_SMARTCARD_LASTBIT(__LASTBIT__) |
Ensure that SMARTCARD frame last bit clock pulse setting is valid. | |
#define | IS_SMARTCARD_ONE_BIT_SAMPLE(__ONEBIT__) |
Ensure that SMARTCARD frame sampling is valid. | |
#define | IS_SMARTCARD_NACK(__NACK__) |
Ensure that SMARTCARD NACK transmission setting is valid. | |
#define | IS_SMARTCARD_TIMEOUT(__TIMEOUT__) |
Ensure that SMARTCARD receiver timeout setting is valid. | |
#define | IS_SMARTCARD_ADVFEATURE_INIT(__INIT__) |
Ensure that SMARTCARD advanced features initialization is valid. | |
#define | IS_SMARTCARD_ADVFEATURE_TXINV(__TXINV__) |
Ensure that SMARTCARD frame TX inversion setting is valid. | |
#define | IS_SMARTCARD_ADVFEATURE_RXINV(__RXINV__) |
Ensure that SMARTCARD frame RX inversion setting is valid. | |
#define | IS_SMARTCARD_ADVFEATURE_DATAINV(__DATAINV__) |
Ensure that SMARTCARD frame data inversion setting is valid. | |
#define | IS_SMARTCARD_ADVFEATURE_SWAP(__SWAP__) |
Ensure that SMARTCARD frame RX/TX pins swap setting is valid. | |
#define | IS_SMARTCARD_OVERRUN(__OVERRUN__) |
Ensure that SMARTCARD frame overrun setting is valid. | |
#define | IS_SMARTCARD_ADVFEATURE_DMAONRXERROR(__DMA__) |
Ensure that SMARTCARD DMA enabling or disabling on error setting is valid. | |
#define | IS_SMARTCARD_ADVFEATURE_MSBFIRST(__MSBFIRST__) |
Ensure that SMARTCARD frame MSB first setting is valid. | |
#define | IS_SMARTCARD_REQUEST_PARAMETER(__PARAM__) |
Ensure that SMARTCARD request parameter is valid. | |
Typedefs | |
typedef struct __SMARTCARD_HandleTypeDef | SMARTCARD_HandleTypeDef |
SMARTCARD handle Structure definition. | |
typedef void(* | pSMARTCARD_CallbackTypeDef )(SMARTCARD_HandleTypeDef *hsmartcard) |
HAL SMARTCARD Callback pointer definition. | |
Enumerations | |
enum | HAL_SMARTCARD_StateTypeDef { HAL_SMARTCARD_STATE_RESET = 0x00U, HAL_SMARTCARD_STATE_READY = 0x20U, HAL_SMARTCARD_STATE_BUSY = 0x24U, HAL_SMARTCARD_STATE_BUSY_TX = 0x21U, HAL_SMARTCARD_STATE_BUSY_RX = 0x22U, HAL_SMARTCARD_STATE_BUSY_TX_RX = 0x23U, HAL_SMARTCARD_STATE_TIMEOUT = 0xA0U, HAL_SMARTCARD_STATE_ERROR = 0xE0U } |
HAL SMARTCARD State structures definition. More... | |
enum | HAL_SMARTCARD_CallbackIDTypeDef { HAL_SMARTCARD_TX_COMPLETE_CB_ID = 0x00U, HAL_SMARTCARD_RX_COMPLETE_CB_ID = 0x01U, HAL_SMARTCARD_ERROR_CB_ID = 0x02U, HAL_SMARTCARD_ABORT_COMPLETE_CB_ID = 0x03U, HAL_SMARTCARD_ABORT_TRANSMIT_COMPLETE_CB_ID = 0x04U, HAL_SMARTCARD_ABORT_RECEIVE_COMPLETE_CB_ID = 0x05U, HAL_SMARTCARD_RX_FIFO_FULL_CB_ID = 0x06U, HAL_SMARTCARD_TX_FIFO_EMPTY_CB_ID = 0x07U, HAL_SMARTCARD_MSPINIT_CB_ID = 0x08U, HAL_SMARTCARD_MSPDEINIT_CB_ID = 0x09U } |
HAL SMARTCARD Callback ID enumeration definition. More... | |
enum | SMARTCARD_ClockSourceTypeDef { SMARTCARD_CLOCKSOURCE_PCLK1 = 0x00, SMARTCARD_CLOCKSOURCE_PCLK2 = 0x01, SMARTCARD_CLOCKSOURCE_HSI = 0x02, SMARTCARD_CLOCKSOURCE_SYSCLK = 0x04, SMARTCARD_CLOCKSOURCE_LSE = 0x08, SMARTCARD_CLOCKSOURCE_UNDEFINED = 0x10 } |
SMARTCARD clock sources. More... | |
Functions | |
HAL_StatusTypeDef | HAL_SMARTCARD_Init (SMARTCARD_HandleTypeDef *hsmartcard) |
Initialize the SMARTCARD mode according to the specified parameters in the SMARTCARD_HandleTypeDef and initialize the associated handle. | |
HAL_StatusTypeDef | HAL_SMARTCARD_DeInit (SMARTCARD_HandleTypeDef *hsmartcard) |
DeInitialize the SMARTCARD peripheral. | |
__weak void | HAL_SMARTCARD_MspInit (SMARTCARD_HandleTypeDef *hsmartcard) |
Initialize the SMARTCARD MSP. | |
__weak void | HAL_SMARTCARD_MspDeInit (SMARTCARD_HandleTypeDef *hsmartcard) |
DeInitialize the SMARTCARD MSP. | |
HAL_StatusTypeDef | HAL_SMARTCARD_RegisterCallback (SMARTCARD_HandleTypeDef *hsmartcard, HAL_SMARTCARD_CallbackIDTypeDef CallbackID, pSMARTCARD_CallbackTypeDef pCallback) |
Register a User SMARTCARD Callback To be used instead of the weak predefined callback. | |
HAL_StatusTypeDef | HAL_SMARTCARD_UnRegisterCallback (SMARTCARD_HandleTypeDef *hsmartcard, HAL_SMARTCARD_CallbackIDTypeDef CallbackID) |
Unregister an SMARTCARD callback SMARTCARD callback is redirected to the weak predefined callback. | |
HAL_StatusTypeDef | HAL_SMARTCARD_Transmit (SMARTCARD_HandleTypeDef *hsmartcard, uint8_t *pData, uint16_t Size, uint32_t Timeout) |
Send an amount of data in blocking mode. | |
HAL_StatusTypeDef | HAL_SMARTCARD_Receive (SMARTCARD_HandleTypeDef *hsmartcard, 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 *hsmartcard, uint8_t *pData, uint16_t Size) |
Send an amount of data in interrupt mode. | |
HAL_StatusTypeDef | HAL_SMARTCARD_Receive_IT (SMARTCARD_HandleTypeDef *hsmartcard, uint8_t *pData, uint16_t Size) |
Receive an amount of data in interrupt mode. | |
HAL_StatusTypeDef | HAL_SMARTCARD_Transmit_DMA (SMARTCARD_HandleTypeDef *hsmartcard, uint8_t *pData, uint16_t Size) |
Send an amount of data in DMA mode. | |
HAL_StatusTypeDef | HAL_SMARTCARD_Receive_DMA (SMARTCARD_HandleTypeDef *hsmartcard, uint8_t *pData, uint16_t Size) |
Receive an amount of data in DMA mode. | |
HAL_StatusTypeDef | HAL_SMARTCARD_Abort (SMARTCARD_HandleTypeDef *hsmartcard) |
Abort ongoing transfers (blocking mode). | |
HAL_StatusTypeDef | HAL_SMARTCARD_AbortTransmit (SMARTCARD_HandleTypeDef *hsmartcard) |
Abort ongoing Transmit transfer (blocking mode). | |
HAL_StatusTypeDef | HAL_SMARTCARD_AbortReceive (SMARTCARD_HandleTypeDef *hsmartcard) |
Abort ongoing Receive transfer (blocking mode). | |
HAL_StatusTypeDef | HAL_SMARTCARD_Abort_IT (SMARTCARD_HandleTypeDef *hsmartcard) |
Abort ongoing transfers (Interrupt mode). | |
HAL_StatusTypeDef | HAL_SMARTCARD_AbortTransmit_IT (SMARTCARD_HandleTypeDef *hsmartcard) |
Abort ongoing Transmit transfer (Interrupt mode). | |
HAL_StatusTypeDef | HAL_SMARTCARD_AbortReceive_IT (SMARTCARD_HandleTypeDef *hsmartcard) |
Abort ongoing Receive transfer (Interrupt mode). | |
void | HAL_SMARTCARD_IRQHandler (SMARTCARD_HandleTypeDef *hsmartcard) |
Handle SMARTCARD interrupt requests. | |
__weak void | HAL_SMARTCARD_TxCpltCallback (SMARTCARD_HandleTypeDef *hsmartcard) |
Tx Transfer completed callback. | |
__weak void | HAL_SMARTCARD_RxCpltCallback (SMARTCARD_HandleTypeDef *hsmartcard) |
Rx Transfer completed callback. | |
__weak void | HAL_SMARTCARD_ErrorCallback (SMARTCARD_HandleTypeDef *hsmartcard) |
SMARTCARD error callback. | |
__weak void | HAL_SMARTCARD_AbortCpltCallback (SMARTCARD_HandleTypeDef *hsmartcard) |
SMARTCARD Abort Complete callback. | |
__weak void | HAL_SMARTCARD_AbortTransmitCpltCallback (SMARTCARD_HandleTypeDef *hsmartcard) |
SMARTCARD Abort Complete callback. | |
__weak void | HAL_SMARTCARD_AbortReceiveCpltCallback (SMARTCARD_HandleTypeDef *hsmartcard) |
SMARTCARD Abort Receive Complete callback. | |
HAL_SMARTCARD_StateTypeDef | HAL_SMARTCARD_GetState (SMARTCARD_HandleTypeDef *hsmartcard) |
Return the SMARTCARD handle state. | |
uint32_t | HAL_SMARTCARD_GetError (SMARTCARD_HandleTypeDef *hsmartcard) |
Return the SMARTCARD handle error code. |
Header file of SMARTCARD HAL module.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. Neither the name of STMicroelectronics nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Definition in file stm32l4xx_hal_smartcard.h.