STM32F769IDiscovery  1.00
uDANTE Audio Networking with STM32F7 DISCO board
Data Structures | Macros | Enumerations | Functions
stm32f7xx_hal_smartcard.h File Reference

Header file of SMARTCARD HAL module. More...

#include "stm32f7xx_hal_def.h"
#include "stm32f7xx_hal_smartcard_ex.h"

Go to the source code of this file.

Data Structures

struct  SMARTCARD_InitTypeDef
 SMARTCARD Init Structure definition. More...
 
struct  SMARTCARD_AdvFeatureInitTypeDef
 HAL SMARTCARD State structures definition. More...
 
struct  SMARTCARD_HandleTypeDef
 SMARTCARD handle Structure definition. More...
 

Macros

#define HAL_SMARTCARD_ERROR_NONE   ((uint32_t)0x00U)
 
#define HAL_SMARTCARD_ERROR_PE   ((uint32_t)0x01U)
 
#define HAL_SMARTCARD_ERROR_NE   ((uint32_t)0x02U)
 
#define HAL_SMARTCARD_ERROR_FE   ((uint32_t)0x04U)
 
#define HAL_SMARTCARD_ERROR_ORE   ((uint32_t)0x08U)
 
#define HAL_SMARTCARD_ERROR_DMA   ((uint32_t)0x10U)
 
#define HAL_SMARTCARD_ERROR_RTO   ((uint32_t)0x20U)
 
#define SMARTCARD_WORDLENGTH_9B   ((uint32_t)USART_CR1_M_0)
 
#define SMARTCARD_STOPBITS_1_5   ((uint32_t)(USART_CR2_STOP))
 
#define SMARTCARD_PARITY_EVEN   ((uint32_t)USART_CR1_PCE)
 
#define SMARTCARD_PARITY_ODD   ((uint32_t)(USART_CR1_PCE | USART_CR1_PS))
 
#define SMARTCARD_MODE_RX   ((uint32_t)USART_CR1_RE)
 
#define SMARTCARD_MODE_TX   ((uint32_t)USART_CR1_TE)
 
#define SMARTCARD_MODE_TX_RX   ((uint32_t)(USART_CR1_TE |USART_CR1_RE))
 
#define SMARTCARD_POLARITY_LOW   ((uint32_t)0x0000U)
 
#define SMARTCARD_POLARITY_HIGH   ((uint32_t)USART_CR2_CPOL)
 
#define SMARTCARD_PHASE_1EDGE   ((uint32_t)0x0000U)
 
#define SMARTCARD_PHASE_2EDGE   ((uint32_t)USART_CR2_CPHA)
 
#define SMARTCARD_LASTBIT_DISABLE   ((uint32_t)0x0000U)
 
#define SMARTCARD_LASTBIT_ENABLE   ((uint32_t)USART_CR2_LBCL)
 
#define SMARTCARD_ONE_BIT_SAMPLE_DISABLE   ((uint32_t)0x0000U)
 
#define SMARTCARD_ONE_BIT_SAMPLE_ENABLE   ((uint32_t)USART_CR3_ONEBIT)
 
#define SMARTCARD_NACK_ENABLE   ((uint32_t)USART_CR3_NACK)
 
#define SMARTCARD_NACK_DISABLE   ((uint32_t)0x0000U)
 
#define SMARTCARD_TIMEOUT_DISABLE   ((uint32_t)0x00000000U)
 
#define SMARTCARD_TIMEOUT_ENABLE   ((uint32_t)USART_CR2_RTOEN)
 
#define SMARTCARD_DMAREQ_TX   ((uint32_t)USART_CR3_DMAT)
 
#define SMARTCARD_DMAREQ_RX   ((uint32_t)USART_CR3_DMAR)
 
#define SMARTCARD_ADVFEATURE_NO_INIT   ((uint32_t)0x00000000U)
 
#define SMARTCARD_ADVFEATURE_TXINVERT_INIT   ((uint32_t)0x00000001U)
 
#define SMARTCARD_ADVFEATURE_RXINVERT_INIT   ((uint32_t)0x00000002U)
 
#define SMARTCARD_ADVFEATURE_DATAINVERT_INIT   ((uint32_t)0x00000004U)
 
#define SMARTCARD_ADVFEATURE_SWAP_INIT   ((uint32_t)0x00000008U)
 
#define SMARTCARD_ADVFEATURE_RXOVERRUNDISABLE_INIT   ((uint32_t)0x00000010U)
 
#define SMARTCARD_ADVFEATURE_DMADISABLEONERROR_INIT   ((uint32_t)0x00000020U)
 
#define SMARTCARD_ADVFEATURE_MSBFIRST_INIT   ((uint32_t)0x00000080U)
 
#define SMARTCARD_ADVFEATURE_TXINV_DISABLE   ((uint32_t)0x00000000U)
 
#define SMARTCARD_ADVFEATURE_TXINV_ENABLE   ((uint32_t)USART_CR2_TXINV)
 
#define SMARTCARD_ADVFEATURE_RXINV_DISABLE   ((uint32_t)0x00000000U)
 
#define SMARTCARD_ADVFEATURE_RXINV_ENABLE   ((uint32_t)USART_CR2_RXINV)
 
#define SMARTCARD_ADVFEATURE_DATAINV_DISABLE   ((uint32_t)0x00000000U)
 
#define SMARTCARD_ADVFEATURE_DATAINV_ENABLE   ((uint32_t)USART_CR2_DATAINV)
 
#define SMARTCARD_ADVFEATURE_SWAP_DISABLE   ((uint32_t)0x00000000U)
 
#define SMARTCARD_ADVFEATURE_SWAP_ENABLE   ((uint32_t)USART_CR2_SWAP)
 
#define SMARTCARD_ADVFEATURE_OVERRUN_ENABLE   ((uint32_t)0x00000000U)
 
#define SMARTCARD_ADVFEATURE_OVERRUN_DISABLE   ((uint32_t)USART_CR3_OVRDIS)
 
#define SMARTCARD_ADVFEATURE_DMA_ENABLEONRXERROR   ((uint32_t)0x00000000U)
 
#define SMARTCARD_ADVFEATURE_DMA_DISABLEONRXERROR   ((uint32_t)USART_CR3_DDRE)
 
#define SMARTCARD_ADVFEATURE_MSBFIRST_DISABLE   ((uint32_t)0x00000000U)
 
#define SMARTCARD_ADVFEATURE_MSBFIRST_ENABLE   ((uint32_t)USART_CR2_MSBFIRST)
 
#define SMARTCARD_FLAG_REACK   ((uint32_t)0x00400000U)
 
#define SMARTCARD_FLAG_TEACK   ((uint32_t)0x00200000U)
 
#define SMARTCARD_FLAG_BUSY   ((uint32_t)0x00010000U)
 
#define SMARTCARD_FLAG_EOBF   ((uint32_t)0x00001000U)
 
#define SMARTCARD_FLAG_RTOF   ((uint32_t)0x00000800U)
 
#define SMARTCARD_FLAG_TXE   ((uint32_t)0x00000080U)
 
#define SMARTCARD_FLAG_TC   ((uint32_t)0x00000040U)
 
#define SMARTCARD_FLAG_RXNE   ((uint32_t)0x00000020U)
 
#define SMARTCARD_FLAG_IDLE   ((uint32_t)0x00000010U)
 
#define SMARTCARD_FLAG_ORE   ((uint32_t)0x00000008U)
 
#define SMARTCARD_FLAG_NE   ((uint32_t)0x00000004U)
 
#define SMARTCARD_FLAG_FE   ((uint32_t)0x00000002U)
 
#define SMARTCARD_FLAG_PE   ((uint32_t)0x00000001U)
 
#define SMARTCARD_IT_PE   ((uint16_t)0x0028U)
 
#define SMARTCARD_IT_TXE   ((uint16_t)0x0727U)
 
#define SMARTCARD_IT_TC   ((uint16_t)0x0626U)
 
#define SMARTCARD_IT_RXNE   ((uint16_t)0x0525U)
 
#define SMARTCARD_IT_IDLE   ((uint16_t)0x0424U)
 
#define SMARTCARD_IT_ERR   ((uint16_t)0x0060U)
 
#define SMARTCARD_IT_ORE   ((uint16_t)0x0300U)
 
#define SMARTCARD_IT_NE   ((uint16_t)0x0200U)
 
#define SMARTCARD_IT_FE   ((uint16_t)0x0100U)
 
#define SMARTCARD_IT_EOB   ((uint16_t)0x0C3BU)
 
#define SMARTCARD_IT_RTO   ((uint16_t)0x0B3AU)
 
#define SMARTCARD_CLEAR_PEF   USART_ICR_PECF
 
#define SMARTCARD_CLEAR_FEF   USART_ICR_FECF
 
#define SMARTCARD_CLEAR_NEF   USART_ICR_NCF
 
#define SMARTCARD_CLEAR_OREF   USART_ICR_ORECF
 
#define SMARTCARD_CLEAR_IDLEF   USART_ICR_IDLECF
 
#define SMARTCARD_CLEAR_TCF   USART_ICR_TCCF
 
#define SMARTCARD_CLEAR_RTOF   USART_ICR_RTOCF
 
#define SMARTCARD_CLEAR_EOBF   USART_ICR_EOBCF
 
#define SMARTCARD_RXDATA_FLUSH_REQUEST   ((uint32_t)USART_RQR_RXFRQ)
 
#define SMARTCARD_TXDATA_FLUSH_REQUEST   ((uint32_t)USART_RQR_TXFRQ)
 
#define SMARTCARD_CR3_SCARCNT_LSB_POS   ((uint32_t) 17U)
 
#define SMARTCARD_GTPR_GT_LSB_POS   ((uint32_t) 8U)
 
#define SMARTCARD_RTOR_BLEN_LSB_POS   ((uint32_t) 24U)
 
#define SMARTCARD_IT_MASK   ((uint16_t)0x001FU)
 
#define __HAL_SMARTCARD_RESET_HANDLE_STATE(__HANDLE__)   ((__HANDLE__)->State = HAL_SMARTCARD_STATE_RESET)
 Reset SMARTCARD handle state. More...
 
#define __HAL_SMARTCARD_FLUSH_DRREGISTER(__HANDLE__)   (__HAL_SMARTCARD_SEND_REQ((__HANDLE__), SMARTCARD_RXDATA_FLUSH_REQUEST))
 Flush the Smartcard DR register. More...
 
#define __HAL_SMARTCARD_GET_FLAG(__HANDLE__, __FLAG__)   (((__HANDLE__)->Instance->ISR & (__FLAG__)) == (__FLAG__))
 Checks whether the specified Smartcard flag is set or not. More...
 
#define __HAL_SMARTCARD_ENABLE_IT(__HANDLE__, __INTERRUPT__)
 Enables the specified SmartCard interrupt. More...
 
#define __HAL_SMARTCARD_DISABLE_IT(__HANDLE__, __INTERRUPT__)
 Disables the specified SmartCard interrupt. More...
 
#define __HAL_SMARTCARD_GET_IT(__HANDLE__, __IT__)   ((__HANDLE__)->Instance->ISR & ((uint32_t)1 << ((__IT__)>> 0x08)))
 Checks whether the specified SmartCard interrupt has occurred or not. More...
 
#define __HAL_SMARTCARD_GET_IT_SOURCE(__HANDLE__, __IT__)
 Checks whether the specified SmartCard interrupt interrupt source is enabled. More...
 
#define __HAL_SMARTCARD_CLEAR_IT(__HANDLE__, __IT_CLEAR__)   ((__HANDLE__)->Instance->ICR = (uint32_t)(__IT_CLEAR__))
 Clears the specified SMARTCARD ISR flag, in setting the proper ICR register flag. More...
 
#define __HAL_SMARTCARD_SEND_REQ(__HANDLE__, __REQ__)   ((__HANDLE__)->Instance->RQR |= (uint32_t)(__REQ__))
 Set a specific SMARTCARD request flag. More...
 
#define __HAL_SMARTCARD_ENABLE(__HANDLE__)    ( (__HANDLE__)->Instance->CR1 |= USART_CR1_UE)
 Enable the USART associated to the SMARTCARD Handle. More...
 
#define __HAL_SMARTCARD_DISABLE(__HANDLE__)    ( (__HANDLE__)->Instance->CR1 &= ~USART_CR1_UE)
 Disable the USART associated to the SMARTCARD Handle. More...
 
#define __HAL_SMARTCARD_DMA_REQUEST_ENABLE(__HANDLE__, __REQUEST__)    ((__HANDLE__)->Instance->CR3 |= (__REQUEST__))
 Macros to enable or disable the SmartCard DMA request. More...
 
#define __HAL_SMARTCARD_DMA_REQUEST_DISABLE(__HANDLE__, __REQUEST__)    ((__HANDLE__)->Instance->CR3 &= ~(__REQUEST__))
 
#define IS_SMARTCARD_WORD_LENGTH(__LENGTH__)   ((__LENGTH__) == SMARTCARD_WORDLENGTH_9B)
 
#define IS_SMARTCARD_STOPBITS(__STOPBITS__)   ((__STOPBITS__) == SMARTCARD_STOPBITS_1_5)
 
#define IS_SMARTCARD_PARITY(__PARITY__)
 
#define IS_SMARTCARD_MODE(__MODE__)   ((((__MODE__) & (uint32_t)0xFFF3) == 0x00) && ((__MODE__) != (uint32_t)0x00))
 
#define IS_SMARTCARD_POLARITY(__CPOL__)   (((__CPOL__) == SMARTCARD_POLARITY_LOW) || ((__CPOL__) == SMARTCARD_POLARITY_HIGH))
 
#define IS_SMARTCARD_PHASE(__CPHA__)   (((__CPHA__) == SMARTCARD_PHASE_1EDGE) || ((__CPHA__) == SMARTCARD_PHASE_2EDGE))
 
#define IS_SMARTCARD_LASTBIT(__LASTBIT__)
 
#define IS_SMARTCARD_ONE_BIT_SAMPLE(__ONEBIT__)
 
#define IS_SMARTCARD_NACK(__NACK__)
 
#define IS_SMARTCARD_TIMEOUT(__TIMEOUT__)
 
#define IS_SMARTCARD_ADVFEATURE_INIT(INIT)
 
#define IS_SMARTCARD_ADVFEATURE_TXINV(TXINV)
 
#define IS_SMARTCARD_ADVFEATURE_RXINV(RXINV)
 
#define IS_SMARTCARD_ADVFEATURE_DATAINV(DATAINV)
 
#define IS_SMARTCARD_ADVFEATURE_SWAP(SWAP)
 
#define IS_SMARTCARD_OVERRUN(OVERRUN)
 
#define IS_SMARTCARD_ADVFEATURE_DMAONRXERROR(DMA)
 
#define IS_SMARTCARD_BAUDRATE(__BAUDRATE__)   ((__BAUDRATE__) < 4500001)
 
#define IS_SMARTCARD_BLOCKLENGTH(__LENGTH__)   ((__LENGTH__) <= 0xFF)
 
#define IS_SMARTCARD_TIMEOUT_VALUE(__TIMEOUTVALUE__)    ((__TIMEOUTVALUE__) <= 0xFFFFFF)
 
#define IS_SMARTCARD_AUTORETRY_COUNT(__COUNT__)    ((__COUNT__) <= 0x7)
 
#define IS_SMARTCARD_ADVFEATURE_MSBFIRST(MSBFIRST)
 
#define IS_SMARTCARD_REQUEST_PARAMETER(PARAM)
 

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 State structures definition. More...
 
enum  SMARTCARD_ClockSourceTypeDef {
  SMARTCARD_CLOCKSOURCE_PCLK1 = 0x00U, SMARTCARD_CLOCKSOURCE_PCLK2 = 0x01U, SMARTCARD_CLOCKSOURCE_HSI = 0x02U, SMARTCARD_CLOCKSOURCE_SYSCLK = 0x04U,
  SMARTCARD_CLOCKSOURCE_LSE = 0x08U
}
 SMARTCARD clock sources definition. More...
 

Functions

HAL_StatusTypeDef HAL_SMARTCARD_Init (SMARTCARD_HandleTypeDef *hsc)
 
HAL_StatusTypeDef HAL_SMARTCARD_DeInit (SMARTCARD_HandleTypeDef *hsc)
 
void HAL_SMARTCARD_MspInit (SMARTCARD_HandleTypeDef *hsc)
 
void HAL_SMARTCARD_MspDeInit (SMARTCARD_HandleTypeDef *hsc)
 
HAL_StatusTypeDef HAL_SMARTCARD_Transmit (SMARTCARD_HandleTypeDef *hsc, uint8_t *pData, uint16_t Size, uint32_t Timeout)
 
HAL_StatusTypeDef HAL_SMARTCARD_Receive (SMARTCARD_HandleTypeDef *hsc, uint8_t *pData, uint16_t Size, uint32_t Timeout)
 
HAL_StatusTypeDef HAL_SMARTCARD_Transmit_IT (SMARTCARD_HandleTypeDef *hsc, uint8_t *pData, uint16_t Size)
 
HAL_StatusTypeDef HAL_SMARTCARD_Receive_IT (SMARTCARD_HandleTypeDef *hsc, uint8_t *pData, uint16_t Size)
 
HAL_StatusTypeDef HAL_SMARTCARD_Transmit_DMA (SMARTCARD_HandleTypeDef *hsc, uint8_t *pData, uint16_t Size)
 
HAL_StatusTypeDef HAL_SMARTCARD_Receive_DMA (SMARTCARD_HandleTypeDef *hsc, uint8_t *pData, uint16_t Size)
 
void HAL_SMARTCARD_IRQHandler (SMARTCARD_HandleTypeDef *hsc)
 
void HAL_SMARTCARD_TxCpltCallback (SMARTCARD_HandleTypeDef *hsc)
 
void HAL_SMARTCARD_RxCpltCallback (SMARTCARD_HandleTypeDef *hsc)
 
void HAL_SMARTCARD_ErrorCallback (SMARTCARD_HandleTypeDef *hsc)
 
HAL_SMARTCARD_StateTypeDef HAL_SMARTCARD_GetState (SMARTCARD_HandleTypeDef *hsc)
 
uint32_t HAL_SMARTCARD_GetError (SMARTCARD_HandleTypeDef *hsc)
 

Detailed Description

Header file of SMARTCARD HAL module.

Author
MCD Application Team
Version
V1.1.0
Date
22-April-2016
Attention

© COPYRIGHT(c) 2016 STMicroelectronics

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 stm32f7xx_hal_smartcard.h.