20#ifndef STM32H7xx_HAL_SMARTCARD_EX_H
21#define STM32H7xx_HAL_SMARTCARD_EX_H
49#define SMARTCARD_TCBGT SMARTCARD_IT_TCBGT
50#define SMARTCARD_TC SMARTCARD_IT_TC
59#define SMARTCARD_ADVFEATURE_NO_INIT 0x00000000U
60#define SMARTCARD_ADVFEATURE_TXINVERT_INIT 0x00000001U
61#define SMARTCARD_ADVFEATURE_RXINVERT_INIT 0x00000002U
62#define SMARTCARD_ADVFEATURE_DATAINVERT_INIT 0x00000004U
63#define SMARTCARD_ADVFEATURE_SWAP_INIT 0x00000008U
64#define SMARTCARD_ADVFEATURE_RXOVERRUNDISABLE_INIT 0x00000010U
65#define SMARTCARD_ADVFEATURE_DMADISABLEONERROR_INIT 0x00000020U
66#define SMARTCARD_ADVFEATURE_MSBFIRST_INIT 0x00000080U
67#define SMARTCARD_ADVFEATURE_TXCOMPLETION 0x00000100U
77#define SMARTCARD_FIFOMODE_DISABLE 0x00000000U
78#define SMARTCARD_FIFOMODE_ENABLE USART_CR1_FIFOEN
88#define SMARTCARD_TXFIFO_THRESHOLD_1_8 0x00000000U
89#define SMARTCARD_TXFIFO_THRESHOLD_1_4 USART_CR3_TXFTCFG_0
90#define SMARTCARD_TXFIFO_THRESHOLD_1_2 USART_CR3_TXFTCFG_1
91#define SMARTCARD_TXFIFO_THRESHOLD_3_4 (USART_CR3_TXFTCFG_0|USART_CR3_TXFTCFG_1)
92#define SMARTCARD_TXFIFO_THRESHOLD_7_8 USART_CR3_TXFTCFG_2
93#define SMARTCARD_TXFIFO_THRESHOLD_8_8 (USART_CR3_TXFTCFG_2|USART_CR3_TXFTCFG_0)
103#define SMARTCARD_RXFIFO_THRESHOLD_1_8 0x00000000U
104#define SMARTCARD_RXFIFO_THRESHOLD_1_4 USART_CR3_RXFTCFG_0
105#define SMARTCARD_RXFIFO_THRESHOLD_1_2 USART_CR3_RXFTCFG_1
106#define SMARTCARD_RXFIFO_THRESHOLD_3_4 (USART_CR3_RXFTCFG_0|USART_CR3_RXFTCFG_1)
107#define SMARTCARD_RXFIFO_THRESHOLD_7_8 USART_CR3_RXFTCFG_2
108#define SMARTCARD_RXFIFO_THRESHOLD_8_8 (USART_CR3_RXFTCFG_2|USART_CR3_RXFTCFG_0)
119#define SMARTCARD_FLAG_TCBGT USART_ISR_TCBGT
120#define SMARTCARD_FLAG_REACK USART_ISR_REACK
121#define SMARTCARD_FLAG_TEACK USART_ISR_TEACK
122#define SMARTCARD_FLAG_BUSY USART_ISR_BUSY
123#define SMARTCARD_FLAG_EOBF USART_ISR_EOBF
124#define SMARTCARD_FLAG_RTOF USART_ISR_RTOF
125#define SMARTCARD_FLAG_TXE USART_ISR_TXE_TXFNF
126#define SMARTCARD_FLAG_TXFNF USART_ISR_TXE_TXFNF
127#define SMARTCARD_FLAG_TC USART_ISR_TC
128#define SMARTCARD_FLAG_RXNE USART_ISR_RXNE_RXFNE
129#define SMARTCARD_FLAG_RXFNE USART_ISR_RXNE_RXFNE
130#define SMARTCARD_FLAG_IDLE USART_ISR_IDLE
131#define SMARTCARD_FLAG_ORE USART_ISR_ORE
132#define SMARTCARD_FLAG_NE USART_ISR_NE
133#define SMARTCARD_FLAG_FE USART_ISR_FE
134#define SMARTCARD_FLAG_PE USART_ISR_PE
135#define SMARTCARD_FLAG_TXFE USART_ISR_TXFE
136#define SMARTCARD_FLAG_RXFF USART_ISR_RXFF
137#define SMARTCARD_FLAG_RXFT USART_ISR_RXFT
138#define SMARTCARD_FLAG_TXFT USART_ISR_TXFT
154#define SMARTCARD_IT_PE 0x0028U
155#define SMARTCARD_IT_TXE 0x0727U
156#define SMARTCARD_IT_TXFNF 0x0727U
157#define SMARTCARD_IT_TC 0x0626U
158#define SMARTCARD_IT_RXNE 0x0525U
159#define SMARTCARD_IT_RXFNE 0x0525U
160#define SMARTCARD_IT_IDLE 0x0424U
162#define SMARTCARD_IT_ERR 0x0060U
163#define SMARTCARD_IT_ORE 0x0300U
164#define SMARTCARD_IT_NE 0x0200U
165#define SMARTCARD_IT_FE 0x0100U
167#define SMARTCARD_IT_EOB 0x0C3BU
168#define SMARTCARD_IT_RTO 0x0B3AU
169#define SMARTCARD_IT_TCBGT 0x1978U
171#define SMARTCARD_IT_RXFF 0x183FU
172#define SMARTCARD_IT_TXFE 0x173EU
173#define SMARTCARD_IT_RXFT 0x1A7CU
174#define SMARTCARD_IT_TXFT 0x1B77U
183#define SMARTCARD_CLEAR_PEF USART_ICR_PECF
184#define SMARTCARD_CLEAR_FEF USART_ICR_FECF
185#define SMARTCARD_CLEAR_NEF USART_ICR_NECF
186#define SMARTCARD_CLEAR_OREF USART_ICR_ORECF
187#define SMARTCARD_CLEAR_IDLEF USART_ICR_IDLECF
188#define SMARTCARD_CLEAR_TXFECF USART_ICR_TXFECF
189#define SMARTCARD_CLEAR_TCF USART_ICR_TCCF
190#define SMARTCARD_CLEAR_TCBGTF USART_ICR_TCBGTCF
191#define SMARTCARD_CLEAR_RTOF USART_ICR_RTOCF
192#define SMARTCARD_CLEAR_EOBF USART_ICR_EOBCF
214#define SMARTCARD_TRANSMISSION_COMPLETION_SETTING(__HANDLE__) \
216 if (HAL_IS_BIT_CLR((__HANDLE__)->AdvancedInit.AdvFeatureInit, SMARTCARD_ADVFEATURE_TXCOMPLETION)) \
218 (__HANDLE__)->AdvancedInit.TxCompletionIndication = SMARTCARD_TC; \
222 assert_param(IS_SMARTCARD_TRANSMISSION_COMPLETION((__HANDLE__)->AdvancedInit.TxCompletionIndication)); \
233#define SMARTCARD_TRANSMISSION_COMPLETION_FLAG(__HANDLE__) \
234 (((__HANDLE__)->AdvancedInit.TxCompletionIndication == SMARTCARD_TC) ? (SMARTCARD_FLAG_TC) : (SMARTCARD_FLAG_TCBGT))
241#define IS_SMARTCARD_TRANSMISSION_COMPLETION(__TXCOMPLETE__) (((__TXCOMPLETE__) == SMARTCARD_TCBGT) || \
242 ((__TXCOMPLETE__) == SMARTCARD_TC))
248#define IS_SMARTCARD_FIFOMODE_STATE(__STATE__) (((__STATE__) == SMARTCARD_FIFOMODE_DISABLE ) || \
249 ((__STATE__) == SMARTCARD_FIFOMODE_ENABLE))
255#define IS_SMARTCARD_TXFIFO_THRESHOLD(__THRESHOLD__) (((__THRESHOLD__) == SMARTCARD_TXFIFO_THRESHOLD_1_8) || \
256 ((__THRESHOLD__) == SMARTCARD_TXFIFO_THRESHOLD_1_4) || \
257 ((__THRESHOLD__) == SMARTCARD_TXFIFO_THRESHOLD_1_2) || \
258 ((__THRESHOLD__) == SMARTCARD_TXFIFO_THRESHOLD_3_4) || \
259 ((__THRESHOLD__) == SMARTCARD_TXFIFO_THRESHOLD_7_8) || \
260 ((__THRESHOLD__) == SMARTCARD_TXFIFO_THRESHOLD_8_8))
266#define IS_SMARTCARD_RXFIFO_THRESHOLD(__THRESHOLD__) (((__THRESHOLD__) == SMARTCARD_RXFIFO_THRESHOLD_1_8) || \
267 ((__THRESHOLD__) == SMARTCARD_RXFIFO_THRESHOLD_1_4) || \
268 ((__THRESHOLD__) == SMARTCARD_RXFIFO_THRESHOLD_1_2) || \
269 ((__THRESHOLD__) == SMARTCARD_RXFIFO_THRESHOLD_3_4) || \
270 ((__THRESHOLD__) == SMARTCARD_RXFIFO_THRESHOLD_7_8) || \
271 ((__THRESHOLD__) == SMARTCARD_RXFIFO_THRESHOLD_8_8))
This file contains HAL common defines, enumeration, macros and structures definitions.
HAL_StatusTypeDef
HAL Status structures definition.
Definition: stm32h7xx_hal_def.h:47
SMARTCARD handle Structure definition.
Definition: stm32h7xx_hal_smartcard.h:198