philippe s. / mbed-dev

Fork of mbed-dev by mbed official

Committer:
neurofun
Date:
Tue Feb 23 21:59:35 2016 +0000
Revision:
70:b3a5af880266
Parent:
0:9b334a45a8ff
Edited DAC routines to allow for the simultaneous use of three channels from two DACs as seen on the STM32F334R8 and STM32F303K8. Edited ADC routines to allow for the simultaneous use of more than one ADC.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
bogdanm 0:9b334a45a8ff 1 /**
bogdanm 0:9b334a45a8ff 2 ******************************************************************************
bogdanm 0:9b334a45a8ff 3 * @file stm32f0xx_hal_smartcard_ex.h
bogdanm 0:9b334a45a8ff 4 * @author MCD Application Team
bogdanm 0:9b334a45a8ff 5 * @version V1.3.0
bogdanm 0:9b334a45a8ff 6 * @date 26-June-2015
bogdanm 0:9b334a45a8ff 7 * @brief Header file of SMARTCARD HAL Extended module.
bogdanm 0:9b334a45a8ff 8 ******************************************************************************
bogdanm 0:9b334a45a8ff 9 * @attention
bogdanm 0:9b334a45a8ff 10 *
bogdanm 0:9b334a45a8ff 11 * <h2><center>&copy; COPYRIGHT(c) 2015 STMicroelectronics</center></h2>
bogdanm 0:9b334a45a8ff 12 *
bogdanm 0:9b334a45a8ff 13 * Redistribution and use in source and binary forms, with or without modification,
bogdanm 0:9b334a45a8ff 14 * are permitted provided that the following conditions are met:
bogdanm 0:9b334a45a8ff 15 * 1. Redistributions of source code must retain the above copyright notice,
bogdanm 0:9b334a45a8ff 16 * this list of conditions and the following disclaimer.
bogdanm 0:9b334a45a8ff 17 * 2. Redistributions in binary form must reproduce the above copyright notice,
bogdanm 0:9b334a45a8ff 18 * this list of conditions and the following disclaimer in the documentation
bogdanm 0:9b334a45a8ff 19 * and/or other materials provided with the distribution.
bogdanm 0:9b334a45a8ff 20 * 3. Neither the name of STMicroelectronics nor the names of its contributors
bogdanm 0:9b334a45a8ff 21 * may be used to endorse or promote products derived from this software
bogdanm 0:9b334a45a8ff 22 * without specific prior written permission.
bogdanm 0:9b334a45a8ff 23 *
bogdanm 0:9b334a45a8ff 24 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
bogdanm 0:9b334a45a8ff 25 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
bogdanm 0:9b334a45a8ff 26 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
bogdanm 0:9b334a45a8ff 27 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
bogdanm 0:9b334a45a8ff 28 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
bogdanm 0:9b334a45a8ff 29 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
bogdanm 0:9b334a45a8ff 30 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
bogdanm 0:9b334a45a8ff 31 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
bogdanm 0:9b334a45a8ff 32 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
bogdanm 0:9b334a45a8ff 33 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
bogdanm 0:9b334a45a8ff 34 *
bogdanm 0:9b334a45a8ff 35 ******************************************************************************
bogdanm 0:9b334a45a8ff 36 */
bogdanm 0:9b334a45a8ff 37
bogdanm 0:9b334a45a8ff 38 /* Define to prevent recursive inclusion -------------------------------------*/
bogdanm 0:9b334a45a8ff 39 #ifndef __STM32F0xx_HAL_SMARTCARD_EX_H
bogdanm 0:9b334a45a8ff 40 #define __STM32F0xx_HAL_SMARTCARD_EX_H
bogdanm 0:9b334a45a8ff 41
bogdanm 0:9b334a45a8ff 42 #ifdef __cplusplus
bogdanm 0:9b334a45a8ff 43 extern "C" {
bogdanm 0:9b334a45a8ff 44 #endif
bogdanm 0:9b334a45a8ff 45
bogdanm 0:9b334a45a8ff 46 #if !defined(STM32F030x6) && !defined(STM32F030x8) && !defined(STM32F070x6) && !defined(STM32F070xB) && !defined(STM32F030xC)
bogdanm 0:9b334a45a8ff 47
bogdanm 0:9b334a45a8ff 48 /* Includes ------------------------------------------------------------------*/
bogdanm 0:9b334a45a8ff 49 #include "stm32f0xx_hal_def.h"
bogdanm 0:9b334a45a8ff 50
bogdanm 0:9b334a45a8ff 51 /** @addtogroup STM32F0xx_HAL_Driver
bogdanm 0:9b334a45a8ff 52 * @{
bogdanm 0:9b334a45a8ff 53 */
bogdanm 0:9b334a45a8ff 54
bogdanm 0:9b334a45a8ff 55 /** @addtogroup SMARTCARDEx
bogdanm 0:9b334a45a8ff 56 * @{
bogdanm 0:9b334a45a8ff 57 */
bogdanm 0:9b334a45a8ff 58
bogdanm 0:9b334a45a8ff 59 /* Exported types ------------------------------------------------------------*/
bogdanm 0:9b334a45a8ff 60 /* Exported constants --------------------------------------------------------*/
bogdanm 0:9b334a45a8ff 61 /* Exported macro ------------------------------------------------------------*/
bogdanm 0:9b334a45a8ff 62
bogdanm 0:9b334a45a8ff 63 /** @defgroup SMARTCARD_Extended_Exported_Macros SMARTCARDEx Exported Macros
bogdanm 0:9b334a45a8ff 64 * @{
bogdanm 0:9b334a45a8ff 65 */
bogdanm 0:9b334a45a8ff 66
bogdanm 0:9b334a45a8ff 67 /** @brief Reports the SMARTCARD clock source.
bogdanm 0:9b334a45a8ff 68 * @param __HANDLE__: specifies the SMARTCARD Handle
bogdanm 0:9b334a45a8ff 69 * @param __CLOCKSOURCE__ : output variable
bogdanm 0:9b334a45a8ff 70 * @retval the SMARTCARD clocking source, written in __CLOCKSOURCE__.
bogdanm 0:9b334a45a8ff 71 */
bogdanm 0:9b334a45a8ff 72 #if defined(STM32F031x6) || defined(STM32F038xx)
bogdanm 0:9b334a45a8ff 73 #define SMARTCARD_GETCLOCKSOURCE(__HANDLE__,__CLOCKSOURCE__) \
bogdanm 0:9b334a45a8ff 74 do { \
bogdanm 0:9b334a45a8ff 75 switch(__HAL_RCC_GET_USART1_SOURCE()) \
bogdanm 0:9b334a45a8ff 76 { \
bogdanm 0:9b334a45a8ff 77 case RCC_USART1CLKSOURCE_PCLK1: \
bogdanm 0:9b334a45a8ff 78 (__CLOCKSOURCE__) = SMARTCARD_CLOCKSOURCE_PCLK1; \
bogdanm 0:9b334a45a8ff 79 break; \
bogdanm 0:9b334a45a8ff 80 case RCC_USART1CLKSOURCE_HSI: \
bogdanm 0:9b334a45a8ff 81 (__CLOCKSOURCE__) = SMARTCARD_CLOCKSOURCE_HSI; \
bogdanm 0:9b334a45a8ff 82 break; \
bogdanm 0:9b334a45a8ff 83 case RCC_USART1CLKSOURCE_SYSCLK: \
bogdanm 0:9b334a45a8ff 84 (__CLOCKSOURCE__) = SMARTCARD_CLOCKSOURCE_SYSCLK; \
bogdanm 0:9b334a45a8ff 85 break; \
bogdanm 0:9b334a45a8ff 86 case RCC_USART1CLKSOURCE_LSE: \
bogdanm 0:9b334a45a8ff 87 (__CLOCKSOURCE__) = SMARTCARD_CLOCKSOURCE_LSE; \
bogdanm 0:9b334a45a8ff 88 break; \
bogdanm 0:9b334a45a8ff 89 default: \
bogdanm 0:9b334a45a8ff 90 (__CLOCKSOURCE__) = SMARTCARD_CLOCKSOURCE_UNDEFINED; \
bogdanm 0:9b334a45a8ff 91 break; \
bogdanm 0:9b334a45a8ff 92 } \
bogdanm 0:9b334a45a8ff 93 } while(0)
bogdanm 0:9b334a45a8ff 94 #elif defined (STM32F030x8) || \
bogdanm 0:9b334a45a8ff 95 defined (STM32F042x6) || defined (STM32F048xx) || \
bogdanm 0:9b334a45a8ff 96 defined (STM32F051x8) || defined (STM32F058xx)
bogdanm 0:9b334a45a8ff 97 #define SMARTCARD_GETCLOCKSOURCE(__HANDLE__,__CLOCKSOURCE__) \
bogdanm 0:9b334a45a8ff 98 do { \
bogdanm 0:9b334a45a8ff 99 if((__HANDLE__)->Instance == USART1) \
bogdanm 0:9b334a45a8ff 100 { \
bogdanm 0:9b334a45a8ff 101 switch(__HAL_RCC_GET_USART1_SOURCE()) \
bogdanm 0:9b334a45a8ff 102 { \
bogdanm 0:9b334a45a8ff 103 case RCC_USART1CLKSOURCE_PCLK1: \
bogdanm 0:9b334a45a8ff 104 (__CLOCKSOURCE__) = SMARTCARD_CLOCKSOURCE_PCLK1; \
bogdanm 0:9b334a45a8ff 105 break; \
bogdanm 0:9b334a45a8ff 106 case RCC_USART1CLKSOURCE_HSI: \
bogdanm 0:9b334a45a8ff 107 (__CLOCKSOURCE__) = SMARTCARD_CLOCKSOURCE_HSI; \
bogdanm 0:9b334a45a8ff 108 break; \
bogdanm 0:9b334a45a8ff 109 case RCC_USART1CLKSOURCE_SYSCLK: \
bogdanm 0:9b334a45a8ff 110 (__CLOCKSOURCE__) = SMARTCARD_CLOCKSOURCE_SYSCLK; \
bogdanm 0:9b334a45a8ff 111 break; \
bogdanm 0:9b334a45a8ff 112 case RCC_USART1CLKSOURCE_LSE: \
bogdanm 0:9b334a45a8ff 113 (__CLOCKSOURCE__) = SMARTCARD_CLOCKSOURCE_LSE; \
bogdanm 0:9b334a45a8ff 114 break; \
bogdanm 0:9b334a45a8ff 115 default: \
bogdanm 0:9b334a45a8ff 116 (__CLOCKSOURCE__) = SMARTCARD_CLOCKSOURCE_UNDEFINED; \
bogdanm 0:9b334a45a8ff 117 break; \
bogdanm 0:9b334a45a8ff 118 } \
bogdanm 0:9b334a45a8ff 119 } \
bogdanm 0:9b334a45a8ff 120 else if((__HANDLE__)->Instance == USART2) \
bogdanm 0:9b334a45a8ff 121 { \
bogdanm 0:9b334a45a8ff 122 (__CLOCKSOURCE__) = SMARTCARD_CLOCKSOURCE_PCLK1; \
bogdanm 0:9b334a45a8ff 123 } \
bogdanm 0:9b334a45a8ff 124 else \
bogdanm 0:9b334a45a8ff 125 { \
bogdanm 0:9b334a45a8ff 126 (__CLOCKSOURCE__) = SMARTCARD_CLOCKSOURCE_UNDEFINED; \
bogdanm 0:9b334a45a8ff 127 } \
bogdanm 0:9b334a45a8ff 128 } while(0)
bogdanm 0:9b334a45a8ff 129 #elif defined(STM32F071xB) || defined(STM32F072xB) || defined(STM32F078xx)
bogdanm 0:9b334a45a8ff 130 #define SMARTCARD_GETCLOCKSOURCE(__HANDLE__,__CLOCKSOURCE__) \
bogdanm 0:9b334a45a8ff 131 do { \
bogdanm 0:9b334a45a8ff 132 if((__HANDLE__)->Instance == USART1) \
bogdanm 0:9b334a45a8ff 133 { \
bogdanm 0:9b334a45a8ff 134 switch(__HAL_RCC_GET_USART1_SOURCE()) \
bogdanm 0:9b334a45a8ff 135 { \
bogdanm 0:9b334a45a8ff 136 case RCC_USART1CLKSOURCE_PCLK1: \
bogdanm 0:9b334a45a8ff 137 (__CLOCKSOURCE__) = SMARTCARD_CLOCKSOURCE_PCLK1; \
bogdanm 0:9b334a45a8ff 138 break; \
bogdanm 0:9b334a45a8ff 139 case RCC_USART1CLKSOURCE_HSI: \
bogdanm 0:9b334a45a8ff 140 (__CLOCKSOURCE__) = SMARTCARD_CLOCKSOURCE_HSI; \
bogdanm 0:9b334a45a8ff 141 break; \
bogdanm 0:9b334a45a8ff 142 case RCC_USART1CLKSOURCE_SYSCLK: \
bogdanm 0:9b334a45a8ff 143 (__CLOCKSOURCE__) = SMARTCARD_CLOCKSOURCE_SYSCLK; \
bogdanm 0:9b334a45a8ff 144 break; \
bogdanm 0:9b334a45a8ff 145 case RCC_USART1CLKSOURCE_LSE: \
bogdanm 0:9b334a45a8ff 146 (__CLOCKSOURCE__) = SMARTCARD_CLOCKSOURCE_LSE; \
bogdanm 0:9b334a45a8ff 147 break; \
bogdanm 0:9b334a45a8ff 148 default: \
bogdanm 0:9b334a45a8ff 149 (__CLOCKSOURCE__) = SMARTCARD_CLOCKSOURCE_UNDEFINED; \
bogdanm 0:9b334a45a8ff 150 break; \
bogdanm 0:9b334a45a8ff 151 } \
bogdanm 0:9b334a45a8ff 152 } \
bogdanm 0:9b334a45a8ff 153 else if((__HANDLE__)->Instance == USART2) \
bogdanm 0:9b334a45a8ff 154 { \
bogdanm 0:9b334a45a8ff 155 switch(__HAL_RCC_GET_USART2_SOURCE()) \
bogdanm 0:9b334a45a8ff 156 { \
bogdanm 0:9b334a45a8ff 157 case RCC_USART2CLKSOURCE_PCLK1: \
bogdanm 0:9b334a45a8ff 158 (__CLOCKSOURCE__) = SMARTCARD_CLOCKSOURCE_PCLK1; \
bogdanm 0:9b334a45a8ff 159 break; \
bogdanm 0:9b334a45a8ff 160 case RCC_USART2CLKSOURCE_HSI: \
bogdanm 0:9b334a45a8ff 161 (__CLOCKSOURCE__) = SMARTCARD_CLOCKSOURCE_HSI; \
bogdanm 0:9b334a45a8ff 162 break; \
bogdanm 0:9b334a45a8ff 163 case RCC_USART2CLKSOURCE_SYSCLK: \
bogdanm 0:9b334a45a8ff 164 (__CLOCKSOURCE__) = SMARTCARD_CLOCKSOURCE_SYSCLK; \
bogdanm 0:9b334a45a8ff 165 break; \
bogdanm 0:9b334a45a8ff 166 case RCC_USART2CLKSOURCE_LSE: \
bogdanm 0:9b334a45a8ff 167 (__CLOCKSOURCE__) = SMARTCARD_CLOCKSOURCE_LSE; \
bogdanm 0:9b334a45a8ff 168 break; \
bogdanm 0:9b334a45a8ff 169 default: \
bogdanm 0:9b334a45a8ff 170 (__CLOCKSOURCE__) = SMARTCARD_CLOCKSOURCE_UNDEFINED; \
bogdanm 0:9b334a45a8ff 171 break; \
bogdanm 0:9b334a45a8ff 172 } \
bogdanm 0:9b334a45a8ff 173 } \
bogdanm 0:9b334a45a8ff 174 else if((__HANDLE__)->Instance == USART3) \
bogdanm 0:9b334a45a8ff 175 { \
bogdanm 0:9b334a45a8ff 176 (__CLOCKSOURCE__) = SMARTCARD_CLOCKSOURCE_PCLK1; \
bogdanm 0:9b334a45a8ff 177 } \
bogdanm 0:9b334a45a8ff 178 else if((__HANDLE__)->Instance == USART4) \
bogdanm 0:9b334a45a8ff 179 { \
bogdanm 0:9b334a45a8ff 180 (__CLOCKSOURCE__) = SMARTCARD_CLOCKSOURCE_PCLK1; \
bogdanm 0:9b334a45a8ff 181 } \
bogdanm 0:9b334a45a8ff 182 else \
bogdanm 0:9b334a45a8ff 183 { \
bogdanm 0:9b334a45a8ff 184 (__CLOCKSOURCE__) = SMARTCARD_CLOCKSOURCE_UNDEFINED; \
bogdanm 0:9b334a45a8ff 185 } \
bogdanm 0:9b334a45a8ff 186 } while(0)
bogdanm 0:9b334a45a8ff 187 #elif defined(STM32F091xC) || defined(STM32F098xx)
bogdanm 0:9b334a45a8ff 188 #define SMARTCARD_GETCLOCKSOURCE(__HANDLE__,__CLOCKSOURCE__) \
bogdanm 0:9b334a45a8ff 189 do { \
bogdanm 0:9b334a45a8ff 190 if((__HANDLE__)->Instance == USART1) \
bogdanm 0:9b334a45a8ff 191 { \
bogdanm 0:9b334a45a8ff 192 switch(__HAL_RCC_GET_USART1_SOURCE()) \
bogdanm 0:9b334a45a8ff 193 { \
bogdanm 0:9b334a45a8ff 194 case RCC_USART1CLKSOURCE_PCLK1: \
bogdanm 0:9b334a45a8ff 195 (__CLOCKSOURCE__) = SMARTCARD_CLOCKSOURCE_PCLK1; \
bogdanm 0:9b334a45a8ff 196 break; \
bogdanm 0:9b334a45a8ff 197 case RCC_USART1CLKSOURCE_HSI: \
bogdanm 0:9b334a45a8ff 198 (__CLOCKSOURCE__) = SMARTCARD_CLOCKSOURCE_HSI; \
bogdanm 0:9b334a45a8ff 199 break; \
bogdanm 0:9b334a45a8ff 200 case RCC_USART1CLKSOURCE_SYSCLK: \
bogdanm 0:9b334a45a8ff 201 (__CLOCKSOURCE__) = SMARTCARD_CLOCKSOURCE_SYSCLK; \
bogdanm 0:9b334a45a8ff 202 break; \
bogdanm 0:9b334a45a8ff 203 case RCC_USART1CLKSOURCE_LSE: \
bogdanm 0:9b334a45a8ff 204 (__CLOCKSOURCE__) = SMARTCARD_CLOCKSOURCE_LSE; \
bogdanm 0:9b334a45a8ff 205 break; \
bogdanm 0:9b334a45a8ff 206 default: \
bogdanm 0:9b334a45a8ff 207 (__CLOCKSOURCE__) = SMARTCARD_CLOCKSOURCE_UNDEFINED; \
bogdanm 0:9b334a45a8ff 208 break; \
bogdanm 0:9b334a45a8ff 209 } \
bogdanm 0:9b334a45a8ff 210 } \
bogdanm 0:9b334a45a8ff 211 else if((__HANDLE__)->Instance == USART2) \
bogdanm 0:9b334a45a8ff 212 { \
bogdanm 0:9b334a45a8ff 213 switch(__HAL_RCC_GET_USART2_SOURCE()) \
bogdanm 0:9b334a45a8ff 214 { \
bogdanm 0:9b334a45a8ff 215 case RCC_USART2CLKSOURCE_PCLK1: \
bogdanm 0:9b334a45a8ff 216 (__CLOCKSOURCE__) = SMARTCARD_CLOCKSOURCE_PCLK1; \
bogdanm 0:9b334a45a8ff 217 break; \
bogdanm 0:9b334a45a8ff 218 case RCC_USART2CLKSOURCE_HSI: \
bogdanm 0:9b334a45a8ff 219 (__CLOCKSOURCE__) = SMARTCARD_CLOCKSOURCE_HSI; \
bogdanm 0:9b334a45a8ff 220 break; \
bogdanm 0:9b334a45a8ff 221 case RCC_USART2CLKSOURCE_SYSCLK: \
bogdanm 0:9b334a45a8ff 222 (__CLOCKSOURCE__) = SMARTCARD_CLOCKSOURCE_SYSCLK; \
bogdanm 0:9b334a45a8ff 223 break; \
bogdanm 0:9b334a45a8ff 224 case RCC_USART2CLKSOURCE_LSE: \
bogdanm 0:9b334a45a8ff 225 (__CLOCKSOURCE__) = SMARTCARD_CLOCKSOURCE_LSE; \
bogdanm 0:9b334a45a8ff 226 break; \
bogdanm 0:9b334a45a8ff 227 default: \
bogdanm 0:9b334a45a8ff 228 (__CLOCKSOURCE__) = SMARTCARD_CLOCKSOURCE_UNDEFINED; \
bogdanm 0:9b334a45a8ff 229 break; \
bogdanm 0:9b334a45a8ff 230 } \
bogdanm 0:9b334a45a8ff 231 } \
bogdanm 0:9b334a45a8ff 232 else if((__HANDLE__)->Instance == USART3) \
bogdanm 0:9b334a45a8ff 233 { \
bogdanm 0:9b334a45a8ff 234 switch(__HAL_RCC_GET_USART3_SOURCE()) \
bogdanm 0:9b334a45a8ff 235 { \
bogdanm 0:9b334a45a8ff 236 case RCC_USART3CLKSOURCE_PCLK1: \
bogdanm 0:9b334a45a8ff 237 (__CLOCKSOURCE__) = SMARTCARD_CLOCKSOURCE_PCLK1; \
bogdanm 0:9b334a45a8ff 238 break; \
bogdanm 0:9b334a45a8ff 239 case RCC_USART3CLKSOURCE_HSI: \
bogdanm 0:9b334a45a8ff 240 (__CLOCKSOURCE__) = SMARTCARD_CLOCKSOURCE_HSI; \
bogdanm 0:9b334a45a8ff 241 break; \
bogdanm 0:9b334a45a8ff 242 case RCC_USART3CLKSOURCE_SYSCLK: \
bogdanm 0:9b334a45a8ff 243 (__CLOCKSOURCE__) = SMARTCARD_CLOCKSOURCE_SYSCLK; \
bogdanm 0:9b334a45a8ff 244 break; \
bogdanm 0:9b334a45a8ff 245 case RCC_USART3CLKSOURCE_LSE: \
bogdanm 0:9b334a45a8ff 246 (__CLOCKSOURCE__) = SMARTCARD_CLOCKSOURCE_LSE; \
bogdanm 0:9b334a45a8ff 247 break; \
bogdanm 0:9b334a45a8ff 248 default: \
bogdanm 0:9b334a45a8ff 249 (__CLOCKSOURCE__) = SMARTCARD_CLOCKSOURCE_UNDEFINED; \
bogdanm 0:9b334a45a8ff 250 break; \
bogdanm 0:9b334a45a8ff 251 } \
bogdanm 0:9b334a45a8ff 252 } \
bogdanm 0:9b334a45a8ff 253 else if((__HANDLE__)->Instance == USART4) \
bogdanm 0:9b334a45a8ff 254 { \
bogdanm 0:9b334a45a8ff 255 (__CLOCKSOURCE__) = SMARTCARD_CLOCKSOURCE_PCLK1; \
bogdanm 0:9b334a45a8ff 256 } \
bogdanm 0:9b334a45a8ff 257 else if((__HANDLE__)->Instance == USART5) \
bogdanm 0:9b334a45a8ff 258 { \
bogdanm 0:9b334a45a8ff 259 (__CLOCKSOURCE__) = SMARTCARD_CLOCKSOURCE_PCLK1; \
bogdanm 0:9b334a45a8ff 260 } \
bogdanm 0:9b334a45a8ff 261 else if((__HANDLE__)->Instance == USART6) \
bogdanm 0:9b334a45a8ff 262 { \
bogdanm 0:9b334a45a8ff 263 (__CLOCKSOURCE__) = SMARTCARD_CLOCKSOURCE_PCLK1; \
bogdanm 0:9b334a45a8ff 264 } \
bogdanm 0:9b334a45a8ff 265 else if((__HANDLE__)->Instance == USART7) \
bogdanm 0:9b334a45a8ff 266 { \
bogdanm 0:9b334a45a8ff 267 (__CLOCKSOURCE__) = SMARTCARD_CLOCKSOURCE_PCLK1; \
bogdanm 0:9b334a45a8ff 268 } \
bogdanm 0:9b334a45a8ff 269 else if((__HANDLE__)->Instance == USART8) \
bogdanm 0:9b334a45a8ff 270 { \
bogdanm 0:9b334a45a8ff 271 (__CLOCKSOURCE__) = SMARTCARD_CLOCKSOURCE_PCLK1; \
bogdanm 0:9b334a45a8ff 272 } \
bogdanm 0:9b334a45a8ff 273 else \
bogdanm 0:9b334a45a8ff 274 { \
bogdanm 0:9b334a45a8ff 275 (__CLOCKSOURCE__) = SMARTCARD_CLOCKSOURCE_UNDEFINED; \
bogdanm 0:9b334a45a8ff 276 } \
bogdanm 0:9b334a45a8ff 277 } while(0)
bogdanm 0:9b334a45a8ff 278 #endif /* defined(STM32F031x6) || defined(STM32F038xx) */
bogdanm 0:9b334a45a8ff 279
bogdanm 0:9b334a45a8ff 280 /**
bogdanm 0:9b334a45a8ff 281 * @}
bogdanm 0:9b334a45a8ff 282 */
bogdanm 0:9b334a45a8ff 283
bogdanm 0:9b334a45a8ff 284 /* Exported functions --------------------------------------------------------*/
bogdanm 0:9b334a45a8ff 285 /** @addtogroup SMARTCARDEx_Exported_Functions
bogdanm 0:9b334a45a8ff 286 * @{
bogdanm 0:9b334a45a8ff 287 */
bogdanm 0:9b334a45a8ff 288
bogdanm 0:9b334a45a8ff 289 /* Initialization and de-initialization functions ****************************/
bogdanm 0:9b334a45a8ff 290 /* IO operation methods *******************************************************/
bogdanm 0:9b334a45a8ff 291
bogdanm 0:9b334a45a8ff 292 /** @addtogroup SMARTCARDEx_Exported_Functions_Group1
bogdanm 0:9b334a45a8ff 293 * @{
bogdanm 0:9b334a45a8ff 294 */
bogdanm 0:9b334a45a8ff 295
bogdanm 0:9b334a45a8ff 296 /* Peripheral Control functions ***********************************************/
bogdanm 0:9b334a45a8ff 297 void HAL_SMARTCARDEx_BlockLength_Config(SMARTCARD_HandleTypeDef *hsmartcard, uint8_t BlockLength);
bogdanm 0:9b334a45a8ff 298 void HAL_SMARTCARDEx_TimeOut_Config(SMARTCARD_HandleTypeDef *hsmartcard, uint32_t TimeOutValue);
bogdanm 0:9b334a45a8ff 299 HAL_StatusTypeDef HAL_SMARTCARDEx_EnableReceiverTimeOut(SMARTCARD_HandleTypeDef *hsmartcard);
bogdanm 0:9b334a45a8ff 300 HAL_StatusTypeDef HAL_SMARTCARDEx_DisableReceiverTimeOut(SMARTCARD_HandleTypeDef *hsmartcard);
bogdanm 0:9b334a45a8ff 301
bogdanm 0:9b334a45a8ff 302 /* Peripheral State and Error functions ***************************************/
bogdanm 0:9b334a45a8ff 303
bogdanm 0:9b334a45a8ff 304 /**
bogdanm 0:9b334a45a8ff 305 * @}
bogdanm 0:9b334a45a8ff 306 */
bogdanm 0:9b334a45a8ff 307
bogdanm 0:9b334a45a8ff 308 /**
bogdanm 0:9b334a45a8ff 309 * @}
bogdanm 0:9b334a45a8ff 310 */
bogdanm 0:9b334a45a8ff 311
bogdanm 0:9b334a45a8ff 312 /**
bogdanm 0:9b334a45a8ff 313 * @}
bogdanm 0:9b334a45a8ff 314 */
bogdanm 0:9b334a45a8ff 315
bogdanm 0:9b334a45a8ff 316 /**
bogdanm 0:9b334a45a8ff 317 * @}
bogdanm 0:9b334a45a8ff 318 */
bogdanm 0:9b334a45a8ff 319
bogdanm 0:9b334a45a8ff 320 #endif /* !defined(STM32F030x6) && !defined(STM32F030x8)&& !defined(STM32F070x6) && !defined(STM32F070xB) && !defined(STM32F030xC) */
bogdanm 0:9b334a45a8ff 321
bogdanm 0:9b334a45a8ff 322 #ifdef __cplusplus
bogdanm 0:9b334a45a8ff 323 }
bogdanm 0:9b334a45a8ff 324 #endif
bogdanm 0:9b334a45a8ff 325
bogdanm 0:9b334a45a8ff 326 #endif /* __STM32F0xx_HAL_SMARTCARD_EX_H */
bogdanm 0:9b334a45a8ff 327
bogdanm 0:9b334a45a8ff 328 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
bogdanm 0:9b334a45a8ff 329