TUKS MCU Introductory course / TUKS-COURSE-2-LED
Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers stm32l4xx_hal_smartcard_ex.h Source File

stm32l4xx_hal_smartcard_ex.h

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