STM32L486xx HAL User Manual
|
00001 /** 00002 ****************************************************************************** 00003 * @file stm32l4xx_hal_smartcard_ex.h 00004 * @author MCD Application Team 00005 * @brief Header file of SMARTCARD HAL Extended module. 00006 ****************************************************************************** 00007 * @attention 00008 * 00009 * <h2><center>© COPYRIGHT(c) 2017 STMicroelectronics</center></h2> 00010 * 00011 * Redistribution and use in source and binary forms, with or without modification, 00012 * are permitted provided that the following conditions are met: 00013 * 1. Redistributions of source code must retain the above copyright notice, 00014 * this list of conditions and the following disclaimer. 00015 * 2. Redistributions in binary form must reproduce the above copyright notice, 00016 * this list of conditions and the following disclaimer in the documentation 00017 * and/or other materials provided with the distribution. 00018 * 3. Neither the name of STMicroelectronics nor the names of its contributors 00019 * may be used to endorse or promote products derived from this software 00020 * without specific prior written permission. 00021 * 00022 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 00023 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 00024 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 00025 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 00026 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 00027 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 00028 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 00029 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 00030 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 00031 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 00032 * 00033 ****************************************************************************** 00034 */ 00035 00036 /* Define to prevent recursive inclusion -------------------------------------*/ 00037 #ifndef __STM32L4xx_HAL_SMARTCARD_EX_H 00038 #define __STM32L4xx_HAL_SMARTCARD_EX_H 00039 00040 #ifdef __cplusplus 00041 extern "C" { 00042 #endif 00043 00044 /* Includes ------------------------------------------------------------------*/ 00045 #include "stm32l4xx_hal_def.h" 00046 00047 /** @addtogroup STM32L4xx_HAL_Driver 00048 * @{ 00049 */ 00050 00051 /** @addtogroup SMARTCARDEx 00052 * @{ 00053 */ 00054 00055 /* Exported types ------------------------------------------------------------*/ 00056 /* Exported constants --------------------------------------------------------*/ 00057 00058 /** @addtogroup SMARTCARDEx_Exported_Constants SMARTCARD Extended Exported Constants 00059 * @{ 00060 */ 00061 00062 /** @defgroup SMARTCARDEx_Transmission_Completion_Indication SMARTCARD Transmission Completion Indication 00063 * @{ 00064 */ 00065 #if defined(USART_TCBGT_SUPPORT) 00066 #define SMARTCARD_TCBGT SMARTCARD_IT_TCBGT /*!< SMARTCARD transmission complete before guard time */ 00067 #endif /* USART_TCBGT_SUPPORT */ 00068 #define SMARTCARD_TC SMARTCARD_IT_TC /*!< SMARTCARD transmission complete (flag raised when guard time has elapsed) */ 00069 /** 00070 * @} 00071 */ 00072 00073 /** @defgroup SMARTCARDEx_Advanced_Features_Initialization_Type SMARTCARD advanced feature initialization type 00074 * @{ 00075 */ 00076 #define SMARTCARD_ADVFEATURE_NO_INIT 0x00000000U /*!< No advanced feature initialization */ 00077 #define SMARTCARD_ADVFEATURE_TXINVERT_INIT 0x00000001U /*!< TX pin active level inversion */ 00078 #define SMARTCARD_ADVFEATURE_RXINVERT_INIT 0x00000002U /*!< RX pin active level inversion */ 00079 #define SMARTCARD_ADVFEATURE_DATAINVERT_INIT 0x00000004U /*!< Binary data inversion */ 00080 #define SMARTCARD_ADVFEATURE_SWAP_INIT 0x00000008U /*!< TX/RX pins swap */ 00081 #define SMARTCARD_ADVFEATURE_RXOVERRUNDISABLE_INIT 0x00000010U /*!< RX overrun disable */ 00082 #define SMARTCARD_ADVFEATURE_DMADISABLEONERROR_INIT 0x00000020U /*!< DMA disable on Reception Error */ 00083 #define SMARTCARD_ADVFEATURE_MSBFIRST_INIT 0x00000080U /*!< Most significant bit sent/received first */ 00084 #if defined(USART_TCBGT_SUPPORT) 00085 #define SMARTCARD_ADVFEATURE_TXCOMPLETION 0x00000100U /*!< TX completion indication before of after guard time */ 00086 #endif /* USART_TCBGT_SUPPORT */ 00087 /** 00088 * @} 00089 */ 00090 00091 #if defined(USART_CR1_FIFOEN) 00092 /** @defgroup SMARTCARDEx_FIFO_mode SMARTCARDEx FIFO mode 00093 * @brief SMARTCARD FIFO mode 00094 * @{ 00095 */ 00096 #define SMARTCARD_FIFOMODE_DISABLE 0x00000000U /*!< FIFO mode disable */ 00097 #define SMARTCARD_FIFOMODE_ENABLE USART_CR1_FIFOEN /*!< FIFO mode enable */ 00098 /** 00099 * @} 00100 */ 00101 00102 /** @defgroup SMARTCARDEx_TXFIFO_threshold_level SMARTCARDEx TXFIFO threshold level 00103 * @brief SMARTCARD TXFIFO level 00104 * @{ 00105 */ 00106 #define SMARTCARD_TXFIFO_THRESHOLD_1_8 0x00000000U /*!< TXFIFO reaches 1/8 of its depth */ 00107 #define SMARTCARD_TXFIFO_THRESHOLD_1_4 USART_CR3_TXFTCFG_0 /*!< TXFIFO reaches 1/4 of its depth */ 00108 #define SMARTCARD_TXFIFO_THRESHOLD_1_2 USART_CR3_TXFTCFG_1 /*!< TXFIFO reaches 1/2 of its depth */ 00109 #define SMARTCARD_TXFIFO_THRESHOLD_3_4 (USART_CR3_TXFTCFG_0|USART_CR3_TXFTCFG_1) /*!< TXFIFO reaches 3/4 of its depth */ 00110 #define SMARTCARD_TXFIFO_THRESHOLD_7_8 USART_CR3_TXFTCFG_2 /*!< TXFIFO reaches 7/8 of its depth */ 00111 #define SMARTCARD_TXFIFO_THRESHOLD_8_8 (USART_CR3_TXFTCFG_2|USART_CR3_TXFTCFG_0) /*!< TXFIFO becomes empty */ 00112 /** 00113 * @} 00114 */ 00115 00116 /** @defgroup SMARTCARDEx_RXFIFO_threshold_level SMARTCARDEx RXFIFO threshold level 00117 * @brief SMARTCARD RXFIFO level 00118 * @{ 00119 */ 00120 #define SMARTCARD_RXFIFO_THRESHOLD_1_8 0x00000000U /*!< RXFIFO FIFO reaches 1/8 of its depth */ 00121 #define SMARTCARD_RXFIFO_THRESHOLD_1_4 USART_CR3_RXFTCFG_0 /*!< RXFIFO FIFO reaches 1/4 of its depth */ 00122 #define SMARTCARD_RXFIFO_THRESHOLD_1_2 USART_CR3_RXFTCFG_1 /*!< RXFIFO FIFO reaches 1/2 of its depth */ 00123 #define SMARTCARD_RXFIFO_THRESHOLD_3_4 (USART_CR3_RXFTCFG_0|USART_CR3_RXFTCFG_1) /*!< RXFIFO FIFO reaches 3/4 of its depth */ 00124 #define SMARTCARD_RXFIFO_THRESHOLD_7_8 USART_CR3_RXFTCFG_2 /*!< RXFIFO FIFO reaches 7/8 of its depth */ 00125 #define SMARTCARD_RXFIFO_THRESHOLD_8_8 (USART_CR3_RXFTCFG_2|USART_CR3_RXFTCFG_0) /*!< RXFIFO FIFO becomes full */ 00126 /** 00127 * @} 00128 */ 00129 #endif 00130 00131 /** @defgroup SMARTCARDEx_Flags SMARTCARD Flags 00132 * Elements values convention: 0xXXXX 00133 * - 0xXXXX : Flag mask in the ISR register 00134 * @{ 00135 */ 00136 #if defined(USART_TCBGT_SUPPORT) 00137 #define SMARTCARD_FLAG_TCBGT USART_ISR_TCBGT /*!< SMARTCARD transmission complete before guard time completion */ 00138 #endif /* USART_TCBGT_SUPPORT */ 00139 #define SMARTCARD_FLAG_REACK USART_ISR_REACK /*!< SMARTCARD receive enable acknowledge flag */ 00140 #define SMARTCARD_FLAG_TEACK USART_ISR_TEACK /*!< SMARTCARD transmit enable acknowledge flag */ 00141 #define SMARTCARD_FLAG_BUSY USART_ISR_BUSY /*!< SMARTCARD busy flag */ 00142 #define SMARTCARD_FLAG_EOBF USART_ISR_EOBF /*!< SMARTCARD end of block flag */ 00143 #define SMARTCARD_FLAG_RTOF USART_ISR_RTOF /*!< SMARTCARD receiver timeout flag */ 00144 #if defined(USART_CR1_FIFOEN) 00145 #define SMARTCARD_FLAG_TXE USART_ISR_TXE_TXFNF /*!< SMARTCARD transmit data register empty */ 00146 #define SMARTCARD_FLAG_TXFNF USART_ISR_TXE_TXFNF /*!< SMARTCARD TXFIFO not full */ 00147 #else 00148 #define SMARTCARD_FLAG_TXE USART_ISR_TXE /*!< SMARTCARD transmit data register empty */ 00149 #endif 00150 #define SMARTCARD_FLAG_TC USART_ISR_TC /*!< SMARTCARD transmission complete */ 00151 #if defined(USART_CR1_FIFOEN) 00152 #define SMARTCARD_FLAG_RXNE USART_ISR_RXNE_RXFNE /*!< SMARTCARD read data register not empty */ 00153 #define SMARTCARD_FLAG_RXFNE USART_ISR_RXNE_RXFNE /*!< SMARTCARD RXFIFO not empty */ 00154 #else 00155 #define SMARTCARD_FLAG_RXNE USART_ISR_RXNE /*!< SMARTCARD read data register not empty */ 00156 #endif 00157 #define SMARTCARD_FLAG_IDLE USART_ISR_IDLE /*!< SMARTCARD idle line detection */ 00158 #define SMARTCARD_FLAG_ORE USART_ISR_ORE /*!< SMARTCARD overrun error */ 00159 #define SMARTCARD_FLAG_NE USART_ISR_NE /*!< SMARTCARD noise error */ 00160 #define SMARTCARD_FLAG_FE USART_ISR_FE /*!< SMARTCARD frame error */ 00161 #define SMARTCARD_FLAG_PE USART_ISR_PE /*!< SMARTCARD parity error */ 00162 #if defined(USART_CR1_FIFOEN) 00163 #define SMARTCARD_FLAG_TXFE USART_ISR_TXFE /*!< SMARTCARD TXFIFO Empty flag */ 00164 #define SMARTCARD_FLAG_RXFF USART_ISR_RXFF /*!< SMARTCARD RXFIFO Full flag */ 00165 #define SMARTCARD_FLAG_RXFT USART_ISR_RXFT /*!< SMARTCARD RXFIFO threshold flag */ 00166 #define SMARTCARD_FLAG_TXFT USART_ISR_TXFT /*!< SMARTCARD TXFIFO threshold flag */ 00167 #endif 00168 /** 00169 * @} 00170 */ 00171 00172 /** @defgroup SMARTCARDEx_Interrupt_definition SMARTCARD Interrupts Definition 00173 * Elements values convention: 000ZZZZZ0XXYYYYYb 00174 * - YYYYY : Interrupt source position in the XX register (5 bits) 00175 * - XX : Interrupt source register (2 bits) 00176 * - 01: CR1 register 00177 * - 10: CR2 register 00178 * - 11: CR3 register 00179 * - ZZZZZ : Flag position in the ISR register(5 bits) 00180 * @{ 00181 */ 00182 #define SMARTCARD_IT_PE 0x0028U /*!< SMARTCARD parity error interruption */ 00183 #define SMARTCARD_IT_TXE 0x0727U /*!< SMARTCARD transmit data register empty interruption */ 00184 #if defined(USART_CR1_FIFOEN) 00185 #define SMARTCARD_IT_TXFNF 0x0727U /*!< SMARTCARD TX FIFO not full interruption */ 00186 #endif 00187 #define SMARTCARD_IT_TC 0x0626U /*!< SMARTCARD transmission complete interruption */ 00188 #define SMARTCARD_IT_RXNE 0x0525U /*!< SMARTCARD read data register not empty interruption */ 00189 #if defined(USART_CR1_FIFOEN) 00190 #define SMARTCARD_IT_RXFNE 0x0525U /*!< SMARTCARD RXFIFO not empty interruption */ 00191 #endif 00192 #define SMARTCARD_IT_IDLE 0x0424U /*!< SMARTCARD idle line detection interruption */ 00193 00194 #define SMARTCARD_IT_ERR 0x0060U /*!< SMARTCARD error interruption */ 00195 #define SMARTCARD_IT_ORE 0x0300U /*!< SMARTCARD overrun error interruption */ 00196 #define SMARTCARD_IT_NE 0x0200U /*!< SMARTCARD noise error interruption */ 00197 #define SMARTCARD_IT_FE 0x0100U /*!< SMARTCARD frame error interruption */ 00198 00199 #define SMARTCARD_IT_EOB 0x0C3BU /*!< SMARTCARD end of block interruption */ 00200 #define SMARTCARD_IT_RTO 0x0B3AU /*!< SMARTCARD receiver timeout interruption */ 00201 #if defined(USART_TCBGT_SUPPORT) 00202 #define SMARTCARD_IT_TCBGT 0x1978U /*!< SMARTCARD transmission complete before guard time completion interruption */ 00203 #endif /* USART_TCBGT_SUPPORT */ 00204 00205 #if defined(USART_CR1_FIFOEN) 00206 #define SMARTCARD_IT_RXFF 0x183FU /*!< SMARTCARD RXFIFO full interruption */ 00207 #define SMARTCARD_IT_TXFE 0x173EU /*!< SMARTCARD TXFIFO empty interruption */ 00208 #define SMARTCARD_IT_RXFT 0x1A7CU /*!< SMARTCARD RXFIFO threshold reached interruption */ 00209 #define SMARTCARD_IT_TXFT 0x1B77U /*!< SMARTCARD TXFIFO threshold reached interruption */ 00210 #endif 00211 /** 00212 * @} 00213 */ 00214 00215 /** @defgroup SMARTCARDEx_IT_CLEAR_Flags SMARTCARD Interruption Clear Flags 00216 * @{ 00217 */ 00218 #define SMARTCARD_CLEAR_PEF USART_ICR_PECF /*!< SMARTCARD parity error clear flag */ 00219 #define SMARTCARD_CLEAR_FEF USART_ICR_FECF /*!< SMARTCARD framing error clear flag */ 00220 #define SMARTCARD_CLEAR_NEF USART_ICR_NECF /*!< SMARTCARD noise error detected clear flag */ 00221 #define SMARTCARD_CLEAR_OREF USART_ICR_ORECF /*!< SMARTCARD overrun error clear flag */ 00222 #define SMARTCARD_CLEAR_IDLEF USART_ICR_IDLECF /*!< SMARTCARD idle line detected clear flag */ 00223 #if defined(USART_CR1_FIFOEN) 00224 #define SMARTCARD_CLEAR_TXFECF USART_ICR_TXFECF /*!< TXFIFO empty Clear Flag */ 00225 #endif 00226 #define SMARTCARD_CLEAR_TCF USART_ICR_TCCF /*!< SMARTCARD transmission complete clear flag */ 00227 #if defined(USART_TCBGT_SUPPORT) 00228 #define SMARTCARD_CLEAR_TCBGTF USART_ICR_TCBGTCF /*!< SMARTCARD transmission complete before guard time completion clear flag */ 00229 #endif /* USART_TCBGT_SUPPORT */ 00230 #define SMARTCARD_CLEAR_RTOF USART_ICR_RTOCF /*!< SMARTCARD receiver time out clear flag */ 00231 #define SMARTCARD_CLEAR_EOBF USART_ICR_EOBCF /*!< SMARTCARD end of block clear flag */ 00232 /** 00233 * @} 00234 */ 00235 00236 /** 00237 * @} 00238 */ 00239 /* Exported macros -----------------------------------------------------------*/ 00240 /* Private macros ------------------------------------------------------------*/ 00241 /** @defgroup SMARTCARDEx_Private_Macros SMARTCARD Extended Private Macros 00242 * @{ 00243 */ 00244 00245 /** @brief Set the Transmission Completion flag 00246 * @param __HANDLE__ specifies the SMARTCARD Handle. 00247 * @note If TCBGT (Transmission Complete Before Guard Time) flag is not available or if 00248 * AdvancedInit.TxCompletionIndication is not already filled, the latter is forced 00249 * to SMARTCARD_TC (transmission completion indication when guard time has elapsed). 00250 * @retval None 00251 */ 00252 #if defined(USART_TCBGT_SUPPORT) 00253 #define SMARTCARD_TRANSMISSION_COMPLETION_SETTING(__HANDLE__) \ 00254 do { \ 00255 if (HAL_IS_BIT_CLR((__HANDLE__)->AdvancedInit.AdvFeatureInit, SMARTCARD_ADVFEATURE_TXCOMPLETION)) \ 00256 { \ 00257 (__HANDLE__)->AdvancedInit.TxCompletionIndication = SMARTCARD_TC; \ 00258 } \ 00259 else \ 00260 { \ 00261 assert_param(IS_SMARTCARD_TRANSMISSION_COMPLETION((__HANDLE__)->AdvancedInit.TxCompletionIndication)); \ 00262 } \ 00263 } while(0U) 00264 #else 00265 #define SMARTCARD_TRANSMISSION_COMPLETION_SETTING(__HANDLE__) \ 00266 do { \ 00267 (__HANDLE__)->AdvancedInit.TxCompletionIndication = SMARTCARD_TC; \ 00268 } while(0U) 00269 #endif /* USART_TCBGT_SUPPORT */ 00270 00271 /** @brief Return the transmission completion flag. 00272 * @param __HANDLE__ specifies the SMARTCARD Handle. 00273 * @note Based on AdvancedInit.TxCompletionIndication setting, return TC or TCBGT flag. 00274 * When TCBGT flag (Transmission Complete Before Guard Time) is not available, TC flag is 00275 * reported. 00276 * @retval Transmission completion flag 00277 */ 00278 #if defined(USART_TCBGT_SUPPORT) 00279 #define SMARTCARD_TRANSMISSION_COMPLETION_FLAG(__HANDLE__) \ 00280 (((__HANDLE__)->AdvancedInit.TxCompletionIndication == SMARTCARD_TC) ? (SMARTCARD_FLAG_TC) : (SMARTCARD_FLAG_TCBGT)) 00281 #else 00282 #define SMARTCARD_TRANSMISSION_COMPLETION_FLAG(__HANDLE__) (SMARTCARD_FLAG_TC) 00283 #endif /* USART_TCBGT_SUPPORT */ 00284 00285 00286 /** 00287 * @brief Ensure that SMARTCARD frame transmission completion used flag is valid. 00288 * @param __TXCOMPLETE__ SMARTCARD frame transmission completion used flag. 00289 * @retval SET (__TXCOMPLETE__ is valid) or RESET (__TXCOMPLETE__ is invalid) 00290 */ 00291 #if defined(USART_TCBGT_SUPPORT) 00292 #define IS_SMARTCARD_TRANSMISSION_COMPLETION(__TXCOMPLETE__) (((__TXCOMPLETE__) == SMARTCARD_TCBGT) ||\ 00293 ((__TXCOMPLETE__) == SMARTCARD_TC)) 00294 #else 00295 #define IS_SMARTCARD_TRANSMISSION_COMPLETION(__TXCOMPLETE__) ((__TXCOMPLETE__) == SMARTCARD_TC) 00296 #endif /* USART_TCBGT_SUPPORT */ 00297 00298 /** 00299 * @brief Ensure that SMARTCARD FIFO mode is valid. 00300 * @param __STATE__ SMARTCARD FIFO mode. 00301 * @retval SET (__STATE__ is valid) or RESET (__STATE__ is invalid) 00302 */ 00303 #define IS_SMARTCARD_FIFOMODE_STATE(__STATE__) (((__STATE__) == SMARTCARD_FIFOMODE_DISABLE ) || \ 00304 ((__STATE__) == SMARTCARD_FIFOMODE_ENABLE)) 00305 00306 /** 00307 * @brief Ensure that SMARTCARD TXFIFO threshold level is valid. 00308 * @param __THRESHOLD__ SMARTCARD TXFIFO threshold level. 00309 * @retval SET (__THRESHOLD__ is valid) or RESET (__THRESHOLD__ is invalid) 00310 */ 00311 #define IS_SMARTCARD_TXFIFO_THRESHOLD(__THRESHOLD__) (((__THRESHOLD__) == SMARTCARD_TXFIFO_THRESHOLD_1_8) || \ 00312 ((__THRESHOLD__) == SMARTCARD_TXFIFO_THRESHOLD_1_4) || \ 00313 ((__THRESHOLD__) == SMARTCARD_TXFIFO_THRESHOLD_1_2) || \ 00314 ((__THRESHOLD__) == SMARTCARD_TXFIFO_THRESHOLD_3_4) || \ 00315 ((__THRESHOLD__) == SMARTCARD_TXFIFO_THRESHOLD_7_8) || \ 00316 ((__THRESHOLD__) == SMARTCARD_TXFIFO_THRESHOLD_8_8)) 00317 00318 /** 00319 * @brief Ensure that SMARTCARD RXFIFO threshold level is valid. 00320 * @param __THRESHOLD__ SMARTCARD RXFIFO threshold level. 00321 * @retval SET (__THRESHOLD__ is valid) or RESET (__THRESHOLD__ is invalid) 00322 */ 00323 #define IS_SMARTCARD_RXFIFO_THRESHOLD(__THRESHOLD__) (((__THRESHOLD__) == SMARTCARD_RXFIFO_THRESHOLD_1_8) || \ 00324 ((__THRESHOLD__) == SMARTCARD_RXFIFO_THRESHOLD_1_4) || \ 00325 ((__THRESHOLD__) == SMARTCARD_RXFIFO_THRESHOLD_1_2) || \ 00326 ((__THRESHOLD__) == SMARTCARD_RXFIFO_THRESHOLD_3_4) || \ 00327 ((__THRESHOLD__) == SMARTCARD_RXFIFO_THRESHOLD_7_8) || \ 00328 ((__THRESHOLD__) == SMARTCARD_RXFIFO_THRESHOLD_8_8)) 00329 00330 /** 00331 * @} 00332 */ 00333 00334 /* Exported functions --------------------------------------------------------*/ 00335 /** @addtogroup SMARTCARDEx_Exported_Functions 00336 * @{ 00337 */ 00338 00339 /* Initialization and de-initialization functions ****************************/ 00340 /* IO operation methods *******************************************************/ 00341 00342 /** @addtogroup SMARTCARDEx_Exported_Functions_Group1 00343 * @{ 00344 */ 00345 00346 /* Peripheral Control functions ***********************************************/ 00347 void HAL_SMARTCARDEx_BlockLength_Config(SMARTCARD_HandleTypeDef *hsmartcard, uint8_t BlockLength); 00348 void HAL_SMARTCARDEx_TimeOut_Config(SMARTCARD_HandleTypeDef *hsmartcard, uint32_t TimeOutValue); 00349 HAL_StatusTypeDef HAL_SMARTCARDEx_EnableReceiverTimeOut(SMARTCARD_HandleTypeDef *hsmartcard); 00350 HAL_StatusTypeDef HAL_SMARTCARDEx_DisableReceiverTimeOut(SMARTCARD_HandleTypeDef *hsmartcard); 00351 00352 /** 00353 * @} 00354 */ 00355 00356 /* Exported functions --------------------------------------------------------*/ 00357 /** @addtogroup SMARTCARDEx_Exported_Functions_Group2 00358 * @{ 00359 */ 00360 00361 /* IO operation functions *****************************************************/ 00362 #if defined(USART_CR1_FIFOEN) 00363 void HAL_SMARTCARDEx_RxFifoFullCallback(SMARTCARD_HandleTypeDef *hsmartcard); 00364 void HAL_SMARTCARDEx_TxFifoEmptyCallback(SMARTCARD_HandleTypeDef *hsmartcard); 00365 #endif 00366 00367 /** 00368 * @} 00369 */ 00370 00371 /** @addtogroup SMARTCARDEx_Exported_Functions_Group3 00372 * @{ 00373 */ 00374 00375 /* Peripheral Control functions ***********************************************/ 00376 #if defined(USART_CR1_FIFOEN) 00377 HAL_StatusTypeDef HAL_SMARTCARDEx_EnableFifoMode(SMARTCARD_HandleTypeDef *hsmartcard); 00378 HAL_StatusTypeDef HAL_SMARTCARDEx_DisableFifoMode(SMARTCARD_HandleTypeDef *hsmartcard); 00379 HAL_StatusTypeDef HAL_SMARTCARDEx_SetTxFifoThreshold(SMARTCARD_HandleTypeDef *hsmartcard, uint32_t Threshold); 00380 HAL_StatusTypeDef HAL_SMARTCARDEx_SetRxFifoThreshold(SMARTCARD_HandleTypeDef *hsmartcard, uint32_t Threshold); 00381 #endif 00382 00383 /** 00384 * @} 00385 */ 00386 00387 /** 00388 * @} 00389 */ 00390 00391 00392 /* Private functions ---------------------------------------------------------*/ 00393 00394 /** 00395 * @} 00396 */ 00397 00398 /** 00399 * @} 00400 */ 00401 00402 #ifdef __cplusplus 00403 } 00404 #endif 00405 00406 #endif /* __STM32L4xx_HAL_SMARTCARD_EX_H */ 00407 00408 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/