RTEMS 6.1-rc7
Loading...
Searching...
No Matches
stm32h7xx_hal_smartcard_ex.h
Go to the documentation of this file.
1
19/* Define to prevent recursive inclusion -------------------------------------*/
20#ifndef STM32H7xx_HAL_SMARTCARD_EX_H
21#define STM32H7xx_HAL_SMARTCARD_EX_H
22
23#ifdef __cplusplus
24extern "C" {
25#endif
26
27/* Includes ------------------------------------------------------------------*/
28#include "stm32h7xx_hal_def.h"
29
38/* Exported types ------------------------------------------------------------*/
39/* Exported constants --------------------------------------------------------*/
40
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
200/* Exported macros -----------------------------------------------------------*/
201/* Private macros ------------------------------------------------------------*/
214#define SMARTCARD_TRANSMISSION_COMPLETION_SETTING(__HANDLE__) \
215 do { \
216 if (HAL_IS_BIT_CLR((__HANDLE__)->AdvancedInit.AdvFeatureInit, SMARTCARD_ADVFEATURE_TXCOMPLETION)) \
217 { \
218 (__HANDLE__)->AdvancedInit.TxCompletionIndication = SMARTCARD_TC; \
219 } \
220 else \
221 { \
222 assert_param(IS_SMARTCARD_TRANSMISSION_COMPLETION((__HANDLE__)->AdvancedInit.TxCompletionIndication)); \
223 } \
224 } while(0U)
225
233#define SMARTCARD_TRANSMISSION_COMPLETION_FLAG(__HANDLE__) \
234 (((__HANDLE__)->AdvancedInit.TxCompletionIndication == SMARTCARD_TC) ? (SMARTCARD_FLAG_TC) : (SMARTCARD_FLAG_TCBGT))
235
236
241#define IS_SMARTCARD_TRANSMISSION_COMPLETION(__TXCOMPLETE__) (((__TXCOMPLETE__) == SMARTCARD_TCBGT) || \
242 ((__TXCOMPLETE__) == SMARTCARD_TC))
243
248#define IS_SMARTCARD_FIFOMODE_STATE(__STATE__) (((__STATE__) == SMARTCARD_FIFOMODE_DISABLE ) || \
249 ((__STATE__) == SMARTCARD_FIFOMODE_ENABLE))
250
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))
261
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))
272
277/* Exported functions --------------------------------------------------------*/
282/* Initialization and de-initialization functions ****************************/
283/* IO operation methods *******************************************************/
284
289/* Peripheral Control functions ***********************************************/
290void HAL_SMARTCARDEx_BlockLength_Config(SMARTCARD_HandleTypeDef *hsmartcard, uint8_t BlockLength);
291void HAL_SMARTCARDEx_TimeOut_Config(SMARTCARD_HandleTypeDef *hsmartcard, uint32_t TimeOutValue);
292HAL_StatusTypeDef HAL_SMARTCARDEx_EnableReceiverTimeOut(SMARTCARD_HandleTypeDef *hsmartcard);
293HAL_StatusTypeDef HAL_SMARTCARDEx_DisableReceiverTimeOut(SMARTCARD_HandleTypeDef *hsmartcard);
294
299/* Exported functions --------------------------------------------------------*/
304/* IO operation functions *****************************************************/
305void HAL_SMARTCARDEx_RxFifoFullCallback(SMARTCARD_HandleTypeDef *hsmartcard);
306void HAL_SMARTCARDEx_TxFifoEmptyCallback(SMARTCARD_HandleTypeDef *hsmartcard);
307
316/* Peripheral Control functions ***********************************************/
317HAL_StatusTypeDef HAL_SMARTCARDEx_EnableFifoMode(SMARTCARD_HandleTypeDef *hsmartcard);
318HAL_StatusTypeDef HAL_SMARTCARDEx_DisableFifoMode(SMARTCARD_HandleTypeDef *hsmartcard);
319HAL_StatusTypeDef HAL_SMARTCARDEx_SetTxFifoThreshold(SMARTCARD_HandleTypeDef *hsmartcard, uint32_t Threshold);
320HAL_StatusTypeDef HAL_SMARTCARDEx_SetRxFifoThreshold(SMARTCARD_HandleTypeDef *hsmartcard, uint32_t Threshold);
321
330/* Private functions ---------------------------------------------------------*/
331
340#ifdef __cplusplus
341}
342#endif
343
344#endif /* STM32H7xx_HAL_SMARTCARD_EX_H */
345
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