39 #ifndef __STM32F7xx_HAL_SMARTCARD_H 40 #define __STM32F7xx_HAL_SMARTCARD_H 281 #define HAL_SMARTCARD_ERROR_NONE ((uint32_t)0x00U) 282 #define HAL_SMARTCARD_ERROR_PE ((uint32_t)0x01U) 283 #define HAL_SMARTCARD_ERROR_NE ((uint32_t)0x02U) 284 #define HAL_SMARTCARD_ERROR_FE ((uint32_t)0x04U) 285 #define HAL_SMARTCARD_ERROR_ORE ((uint32_t)0x08U) 286 #define HAL_SMARTCARD_ERROR_DMA ((uint32_t)0x10U) 287 #define HAL_SMARTCARD_ERROR_RTO ((uint32_t)0x20U) 295 #define SMARTCARD_WORDLENGTH_9B ((uint32_t)USART_CR1_M_0) 303 #define SMARTCARD_STOPBITS_1_5 ((uint32_t)(USART_CR2_STOP)) 311 #define SMARTCARD_PARITY_EVEN ((uint32_t)USART_CR1_PCE) 312 #define SMARTCARD_PARITY_ODD ((uint32_t)(USART_CR1_PCE | USART_CR1_PS)) 320 #define SMARTCARD_MODE_RX ((uint32_t)USART_CR1_RE) 321 #define SMARTCARD_MODE_TX ((uint32_t)USART_CR1_TE) 322 #define SMARTCARD_MODE_TX_RX ((uint32_t)(USART_CR1_TE |USART_CR1_RE)) 330 #define SMARTCARD_POLARITY_LOW ((uint32_t)0x0000U) 331 #define SMARTCARD_POLARITY_HIGH ((uint32_t)USART_CR2_CPOL) 339 #define SMARTCARD_PHASE_1EDGE ((uint32_t)0x0000U) 340 #define SMARTCARD_PHASE_2EDGE ((uint32_t)USART_CR2_CPHA) 348 #define SMARTCARD_LASTBIT_DISABLE ((uint32_t)0x0000U) 349 #define SMARTCARD_LASTBIT_ENABLE ((uint32_t)USART_CR2_LBCL) 357 #define SMARTCARD_ONE_BIT_SAMPLE_DISABLE ((uint32_t)0x0000U) 358 #define SMARTCARD_ONE_BIT_SAMPLE_ENABLE ((uint32_t)USART_CR3_ONEBIT) 367 #define SMARTCARD_NACK_ENABLE ((uint32_t)USART_CR3_NACK) 368 #define SMARTCARD_NACK_DISABLE ((uint32_t)0x0000U) 376 #define SMARTCARD_TIMEOUT_DISABLE ((uint32_t)0x00000000U) 377 #define SMARTCARD_TIMEOUT_ENABLE ((uint32_t)USART_CR2_RTOEN) 386 #define SMARTCARD_DMAREQ_TX ((uint32_t)USART_CR3_DMAT) 387 #define SMARTCARD_DMAREQ_RX ((uint32_t)USART_CR3_DMAR) 396 #define SMARTCARD_ADVFEATURE_NO_INIT ((uint32_t)0x00000000U) 397 #define SMARTCARD_ADVFEATURE_TXINVERT_INIT ((uint32_t)0x00000001U) 398 #define SMARTCARD_ADVFEATURE_RXINVERT_INIT ((uint32_t)0x00000002U) 399 #define SMARTCARD_ADVFEATURE_DATAINVERT_INIT ((uint32_t)0x00000004U) 400 #define SMARTCARD_ADVFEATURE_SWAP_INIT ((uint32_t)0x00000008U) 401 #define SMARTCARD_ADVFEATURE_RXOVERRUNDISABLE_INIT ((uint32_t)0x00000010U) 402 #define SMARTCARD_ADVFEATURE_DMADISABLEONERROR_INIT ((uint32_t)0x00000020U) 403 #define SMARTCARD_ADVFEATURE_MSBFIRST_INIT ((uint32_t)0x00000080U) 411 #define SMARTCARD_ADVFEATURE_TXINV_DISABLE ((uint32_t)0x00000000U) 412 #define SMARTCARD_ADVFEATURE_TXINV_ENABLE ((uint32_t)USART_CR2_TXINV) 420 #define SMARTCARD_ADVFEATURE_RXINV_DISABLE ((uint32_t)0x00000000U) 421 #define SMARTCARD_ADVFEATURE_RXINV_ENABLE ((uint32_t)USART_CR2_RXINV) 429 #define SMARTCARD_ADVFEATURE_DATAINV_DISABLE ((uint32_t)0x00000000U) 430 #define SMARTCARD_ADVFEATURE_DATAINV_ENABLE ((uint32_t)USART_CR2_DATAINV) 438 #define SMARTCARD_ADVFEATURE_SWAP_DISABLE ((uint32_t)0x00000000U) 439 #define SMARTCARD_ADVFEATURE_SWAP_ENABLE ((uint32_t)USART_CR2_SWAP) 447 #define SMARTCARD_ADVFEATURE_OVERRUN_ENABLE ((uint32_t)0x00000000U) 448 #define SMARTCARD_ADVFEATURE_OVERRUN_DISABLE ((uint32_t)USART_CR3_OVRDIS) 456 #define SMARTCARD_ADVFEATURE_DMA_ENABLEONRXERROR ((uint32_t)0x00000000U) 457 #define SMARTCARD_ADVFEATURE_DMA_DISABLEONRXERROR ((uint32_t)USART_CR3_DDRE) 465 #define SMARTCARD_ADVFEATURE_MSBFIRST_DISABLE ((uint32_t)0x00000000U) 466 #define SMARTCARD_ADVFEATURE_MSBFIRST_ENABLE ((uint32_t)USART_CR2_MSBFIRST) 476 #define SMARTCARD_FLAG_REACK ((uint32_t)0x00400000U) 477 #define SMARTCARD_FLAG_TEACK ((uint32_t)0x00200000U) 478 #define SMARTCARD_FLAG_BUSY ((uint32_t)0x00010000U) 479 #define SMARTCARD_FLAG_EOBF ((uint32_t)0x00001000U) 480 #define SMARTCARD_FLAG_RTOF ((uint32_t)0x00000800U) 481 #define SMARTCARD_FLAG_TXE ((uint32_t)0x00000080U) 482 #define SMARTCARD_FLAG_TC ((uint32_t)0x00000040U) 483 #define SMARTCARD_FLAG_RXNE ((uint32_t)0x00000020U) 484 #define SMARTCARD_FLAG_IDLE ((uint32_t)0x00000010U) 485 #define SMARTCARD_FLAG_ORE ((uint32_t)0x00000008U) 486 #define SMARTCARD_FLAG_NE ((uint32_t)0x00000004U) 487 #define SMARTCARD_FLAG_FE ((uint32_t)0x00000002U) 488 #define SMARTCARD_FLAG_PE ((uint32_t)0x00000001U) 504 #define SMARTCARD_IT_PE ((uint16_t)0x0028U) 505 #define SMARTCARD_IT_TXE ((uint16_t)0x0727U) 506 #define SMARTCARD_IT_TC ((uint16_t)0x0626U) 507 #define SMARTCARD_IT_RXNE ((uint16_t)0x0525U) 508 #define SMARTCARD_IT_IDLE ((uint16_t)0x0424U) 509 #define SMARTCARD_IT_ERR ((uint16_t)0x0060U) 510 #define SMARTCARD_IT_ORE ((uint16_t)0x0300U) 511 #define SMARTCARD_IT_NE ((uint16_t)0x0200U) 512 #define SMARTCARD_IT_FE ((uint16_t)0x0100U) 514 #define SMARTCARD_IT_EOB ((uint16_t)0x0C3BU) 515 #define SMARTCARD_IT_RTO ((uint16_t)0x0B3AU) 524 #define SMARTCARD_CLEAR_PEF USART_ICR_PECF 525 #define SMARTCARD_CLEAR_FEF USART_ICR_FECF 526 #define SMARTCARD_CLEAR_NEF USART_ICR_NCF 527 #define SMARTCARD_CLEAR_OREF USART_ICR_ORECF 528 #define SMARTCARD_CLEAR_IDLEF USART_ICR_IDLECF 529 #define SMARTCARD_CLEAR_TCF USART_ICR_TCCF 530 #define SMARTCARD_CLEAR_RTOF USART_ICR_RTOCF 531 #define SMARTCARD_CLEAR_EOBF USART_ICR_EOBCF 539 #define SMARTCARD_RXDATA_FLUSH_REQUEST ((uint32_t)USART_RQR_RXFRQ) 540 #define SMARTCARD_TXDATA_FLUSH_REQUEST ((uint32_t)USART_RQR_TXFRQ) 549 #define SMARTCARD_CR3_SCARCNT_LSB_POS ((uint32_t) 17U) 557 #define SMARTCARD_GTPR_GT_LSB_POS ((uint32_t) 8U) 565 #define SMARTCARD_RTOR_BLEN_LSB_POS ((uint32_t) 24U) 573 #define SMARTCARD_IT_MASK ((uint16_t)0x001FU) 592 #define __HAL_SMARTCARD_RESET_HANDLE_STATE(__HANDLE__) ((__HANDLE__)->State = HAL_SMARTCARD_STATE_RESET) 599 #define __HAL_SMARTCARD_FLUSH_DRREGISTER(__HANDLE__) (__HAL_SMARTCARD_SEND_REQ((__HANDLE__), SMARTCARD_RXDATA_FLUSH_REQUEST)) 620 #define __HAL_SMARTCARD_GET_FLAG(__HANDLE__, __FLAG__) (((__HANDLE__)->Instance->ISR & (__FLAG__)) == (__FLAG__)) 636 #define __HAL_SMARTCARD_ENABLE_IT(__HANDLE__, __INTERRUPT__) (((((uint8_t)(__INTERRUPT__)) >> 5) == 1)? ((__HANDLE__)->Instance->CR1 |= (1 << ((__INTERRUPT__) & SMARTCARD_IT_MASK))): \ 637 ((((uint8_t)(__INTERRUPT__)) >> 5) == 2)? ((__HANDLE__)->Instance->CR2 |= (1 << ((__INTERRUPT__) & SMARTCARD_IT_MASK))): \ 638 ((__HANDLE__)->Instance->CR3 |= (1 << ((__INTERRUPT__) & SMARTCARD_IT_MASK)))) 653 #define __HAL_SMARTCARD_DISABLE_IT(__HANDLE__, __INTERRUPT__) (((((uint8_t)(__INTERRUPT__)) >> 5) == 1)? ((__HANDLE__)->Instance->CR1 &= ~ ((uint32_t)1 << ((__INTERRUPT__) & SMARTCARD_IT_MASK))): \ 654 ((((uint8_t)(__INTERRUPT__)) >> 5) == 2)? ((__HANDLE__)->Instance->CR2 &= ~ ((uint32_t)1 << ((__INTERRUPT__) & SMARTCARD_IT_MASK))): \ 655 ((__HANDLE__)->Instance->CR3 &= ~ ((uint32_t)1 << ((__INTERRUPT__) & SMARTCARD_IT_MASK)))) 673 #define __HAL_SMARTCARD_GET_IT(__HANDLE__, __IT__) ((__HANDLE__)->Instance->ISR & ((uint32_t)1 << ((__IT__)>> 0x08))) 691 #define __HAL_SMARTCARD_GET_IT_SOURCE(__HANDLE__, __IT__) ((((((uint8_t)(__IT__)) >> 5) == 1)? (__HANDLE__)->Instance->CR1:(((((uint8_t)(__IT__)) >> 5) == 2)? \ 692 (__HANDLE__)->Instance->CR2 : (__HANDLE__)->Instance->CR3)) & ((uint32_t)1 << \ 693 (((uint16_t)(__IT__)) & SMARTCARD_IT_MASK))) 711 #define __HAL_SMARTCARD_CLEAR_IT(__HANDLE__, __IT_CLEAR__) ((__HANDLE__)->Instance->ICR = (uint32_t)(__IT_CLEAR__)) 723 #define __HAL_SMARTCARD_SEND_REQ(__HANDLE__, __REQ__) ((__HANDLE__)->Instance->RQR |= (uint32_t)(__REQ__)) 730 #define __HAL_SMARTCARD_ENABLE(__HANDLE__) ( (__HANDLE__)->Instance->CR1 |= USART_CR1_UE) 737 #define __HAL_SMARTCARD_DISABLE(__HANDLE__) ( (__HANDLE__)->Instance->CR1 &= ~USART_CR1_UE) 747 #define __HAL_SMARTCARD_DMA_REQUEST_ENABLE(__HANDLE__, __REQUEST__) ((__HANDLE__)->Instance->CR3 |= (__REQUEST__)) 748 #define __HAL_SMARTCARD_DMA_REQUEST_DISABLE(__HANDLE__, __REQUEST__) ((__HANDLE__)->Instance->CR3 &= ~(__REQUEST__)) 811 #define IS_SMARTCARD_WORD_LENGTH(__LENGTH__) ((__LENGTH__) == SMARTCARD_WORDLENGTH_9B) 812 #define IS_SMARTCARD_STOPBITS(__STOPBITS__) ((__STOPBITS__) == SMARTCARD_STOPBITS_1_5) 813 #define IS_SMARTCARD_PARITY(__PARITY__) (((__PARITY__) == SMARTCARD_PARITY_EVEN) || \ 814 ((__PARITY__) == SMARTCARD_PARITY_ODD)) 815 #define IS_SMARTCARD_MODE(__MODE__) ((((__MODE__) & (uint32_t)0xFFF3) == 0x00) && ((__MODE__) != (uint32_t)0x00)) 816 #define IS_SMARTCARD_POLARITY(__CPOL__) (((__CPOL__) == SMARTCARD_POLARITY_LOW) || ((__CPOL__) == SMARTCARD_POLARITY_HIGH)) 817 #define IS_SMARTCARD_PHASE(__CPHA__) (((__CPHA__) == SMARTCARD_PHASE_1EDGE) || ((__CPHA__) == SMARTCARD_PHASE_2EDGE)) 818 #define IS_SMARTCARD_LASTBIT(__LASTBIT__) (((__LASTBIT__) == SMARTCARD_LASTBIT_DISABLE) || \ 819 ((__LASTBIT__) == SMARTCARD_LASTBIT_ENABLE)) 820 #define IS_SMARTCARD_ONE_BIT_SAMPLE(__ONEBIT__) (((__ONEBIT__) == SMARTCARD_ONE_BIT_SAMPLE_DISABLE) || \ 821 ((__ONEBIT__) == SMARTCARD_ONE_BIT_SAMPLE_ENABLE)) 822 #define IS_SMARTCARD_NACK(__NACK__) (((__NACK__) == SMARTCARD_NACK_ENABLE) || \ 823 ((__NACK__) == SMARTCARD_NACK_DISABLE)) 824 #define IS_SMARTCARD_TIMEOUT(__TIMEOUT__) (((__TIMEOUT__) == SMARTCARD_TIMEOUT_DISABLE) || \ 825 ((__TIMEOUT__) == SMARTCARD_TIMEOUT_ENABLE)) 826 #define IS_SMARTCARD_ADVFEATURE_INIT(INIT) ((INIT) <= (SMARTCARD_ADVFEATURE_NO_INIT | \ 827 SMARTCARD_ADVFEATURE_TXINVERT_INIT | \ 828 SMARTCARD_ADVFEATURE_RXINVERT_INIT | \ 829 SMARTCARD_ADVFEATURE_DATAINVERT_INIT | \ 830 SMARTCARD_ADVFEATURE_SWAP_INIT | \ 831 SMARTCARD_ADVFEATURE_RXOVERRUNDISABLE_INIT | \ 832 SMARTCARD_ADVFEATURE_DMADISABLEONERROR_INIT | \ 833 SMARTCARD_ADVFEATURE_MSBFIRST_INIT)) 834 #define IS_SMARTCARD_ADVFEATURE_TXINV(TXINV) (((TXINV) == SMARTCARD_ADVFEATURE_TXINV_DISABLE) || \ 835 ((TXINV) == SMARTCARD_ADVFEATURE_TXINV_ENABLE)) 836 #define IS_SMARTCARD_ADVFEATURE_RXINV(RXINV) (((RXINV) == SMARTCARD_ADVFEATURE_RXINV_DISABLE) || \ 837 ((RXINV) == SMARTCARD_ADVFEATURE_RXINV_ENABLE)) 838 #define IS_SMARTCARD_ADVFEATURE_DATAINV(DATAINV) (((DATAINV) == SMARTCARD_ADVFEATURE_DATAINV_DISABLE) || \ 839 ((DATAINV) == SMARTCARD_ADVFEATURE_DATAINV_ENABLE)) 840 #define IS_SMARTCARD_ADVFEATURE_SWAP(SWAP) (((SWAP) == SMARTCARD_ADVFEATURE_SWAP_DISABLE) || \ 841 ((SWAP) == SMARTCARD_ADVFEATURE_SWAP_ENABLE)) 842 #define IS_SMARTCARD_OVERRUN(OVERRUN) (((OVERRUN) == SMARTCARD_ADVFEATURE_OVERRUN_ENABLE) || \ 843 ((OVERRUN) == SMARTCARD_ADVFEATURE_OVERRUN_DISABLE)) 844 #define IS_SMARTCARD_ADVFEATURE_DMAONRXERROR(DMA) (((DMA) == SMARTCARD_ADVFEATURE_DMA_ENABLEONRXERROR) || \ 845 ((DMA) == SMARTCARD_ADVFEATURE_DMA_DISABLEONRXERROR)) 846 #define IS_SMARTCARD_BAUDRATE(__BAUDRATE__) ((__BAUDRATE__) < 4500001) 847 #define IS_SMARTCARD_BLOCKLENGTH(__LENGTH__) ((__LENGTH__) <= 0xFF) 848 #define IS_SMARTCARD_TIMEOUT_VALUE(__TIMEOUTVALUE__) ((__TIMEOUTVALUE__) <= 0xFFFFFF) 849 #define IS_SMARTCARD_AUTORETRY_COUNT(__COUNT__) ((__COUNT__) <= 0x7) 850 #define IS_SMARTCARD_ADVFEATURE_MSBFIRST(MSBFIRST) (((MSBFIRST) == SMARTCARD_ADVFEATURE_MSBFIRST_DISABLE) || \ 851 ((MSBFIRST) == SMARTCARD_ADVFEATURE_MSBFIRST_ENABLE)) 852 #define IS_SMARTCARD_REQUEST_PARAMETER(PARAM) (((PARAM) == SMARTCARD_RXDATA_FLUSH_REQUEST) || \ 853 ((PARAM) == SMARTCARD_TXDATA_FLUSH_REQUEST)) HAL_StatusTypeDef HAL_SMARTCARD_Receive(SMARTCARD_HandleTypeDef *hsc, uint8_t *pData, uint16_t Size, uint32_t Timeout)
DMA_HandleTypeDef * hdmarx
SMARTCARD_ClockSourceTypeDef
SMARTCARD clock sources definition.
HAL_LockTypeDef
HAL Lock structures definition.
SMARTCARD_AdvFeatureInitTypeDef AdvancedInit
HAL_StatusTypeDef HAL_SMARTCARD_Transmit(SMARTCARD_HandleTypeDef *hsc, uint8_t *pData, uint16_t Size, uint32_t Timeout)
SMARTCARD Init Structure definition.
uint32_t RxPinLevelInvert
void HAL_SMARTCARD_TxCpltCallback(SMARTCARD_HandleTypeDef *hsc)
HAL_StatusTypeDef HAL_SMARTCARD_Init(SMARTCARD_HandleTypeDef *hsc)
HAL_StatusTypeDef HAL_SMARTCARD_Transmit_IT(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_ErrorCallback(SMARTCARD_HandleTypeDef *hsc)
Universal Synchronous Asynchronous Receiver Transmitter.
SMARTCARD handle Structure definition.
__IO HAL_SMARTCARD_StateTypeDef RxState
uint32_t HAL_SMARTCARD_GetError(SMARTCARD_HandleTypeDef *hsc)
HAL_SMARTCARD_StateTypeDef
HAL State structures definition.
HAL_StatusTypeDef HAL_SMARTCARD_Transmit_DMA(SMARTCARD_HandleTypeDef *hsc, uint8_t *pData, uint16_t Size)
HAL_StatusTypeDef HAL_SMARTCARD_Receive_IT(SMARTCARD_HandleTypeDef *hsc, uint8_t *pData, uint16_t Size)
DMA handle Structure definition.
This file contains HAL common defines, enumeration, macros and structures definitions.
SMARTCARD_InitTypeDef Init
HAL SMARTCARD State structures definition.
HAL_StatusTypeDef HAL_SMARTCARD_DeInit(SMARTCARD_HandleTypeDef *hsc)
DMA_HandleTypeDef * hdmatx
void HAL_SMARTCARD_MspInit(SMARTCARD_HandleTypeDef *hsc)
__IO HAL_SMARTCARD_StateTypeDef gState
HAL_StatusTypeDef
HAL Status structures definition.
void HAL_SMARTCARD_IRQHandler(SMARTCARD_HandleTypeDef *hsc)
void HAL_SMARTCARD_MspDeInit(SMARTCARD_HandleTypeDef *hsc)
HAL_SMARTCARD_StateTypeDef HAL_SMARTCARD_GetState(SMARTCARD_HandleTypeDef *hsc)
uint32_t TxPinLevelInvert
Header file of SMARTCARD HAL module.
uint32_t DMADisableonRxError
void HAL_SMARTCARD_RxCpltCallback(SMARTCARD_HandleTypeDef *hsc)