Modified version of the mbed library for use with the Nucleo boards.

Dependents:   EEPROMWrite Full-Project

Fork of mbed-src by mbed official

Committer:
mbed_official
Date:
Mon Sep 28 14:00:11 2015 +0100
Revision:
632:7687fb9c4f91
Parent:
385:be64abf45658
Child:
634:ac7d6880524d
Synchronized with git revision f7ce4ed029cc611121464252ff28d5e8beb895b0

Full URL: https://github.com/mbedmicro/mbed/commit/f7ce4ed029cc611121464252ff28d5e8beb895b0/

NUCLEO_F303K8 - add support of the STM32F303K8

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mbed_official 237:f3da66175598 1 /**
mbed_official 237:f3da66175598 2 ******************************************************************************
mbed_official 237:f3da66175598 3 * @file stm32f3xx_hal_smartcard_ex.h
mbed_official 237:f3da66175598 4 * @author MCD Application Team
mbed_official 632:7687fb9c4f91 5 * @version V1.1.1
mbed_official 632:7687fb9c4f91 6 * @date 19-June-2015
mbed_official 237:f3da66175598 7 * @brief Header file of SMARTCARD HAL module.
mbed_official 237:f3da66175598 8 ******************************************************************************
mbed_official 237:f3da66175598 9 * @attention
mbed_official 237:f3da66175598 10 *
mbed_official 632:7687fb9c4f91 11 * <h2><center>&copy; COPYRIGHT(c) 2015 STMicroelectronics</center></h2>
mbed_official 237:f3da66175598 12 *
mbed_official 237:f3da66175598 13 * Redistribution and use in source and binary forms, with or without modification,
mbed_official 237:f3da66175598 14 * are permitted provided that the following conditions are met:
mbed_official 237:f3da66175598 15 * 1. Redistributions of source code must retain the above copyright notice,
mbed_official 237:f3da66175598 16 * this list of conditions and the following disclaimer.
mbed_official 237:f3da66175598 17 * 2. Redistributions in binary form must reproduce the above copyright notice,
mbed_official 237:f3da66175598 18 * this list of conditions and the following disclaimer in the documentation
mbed_official 237:f3da66175598 19 * and/or other materials provided with the distribution.
mbed_official 237:f3da66175598 20 * 3. Neither the name of STMicroelectronics nor the names of its contributors
mbed_official 237:f3da66175598 21 * may be used to endorse or promote products derived from this software
mbed_official 237:f3da66175598 22 * without specific prior written permission.
mbed_official 237:f3da66175598 23 *
mbed_official 237:f3da66175598 24 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
mbed_official 237:f3da66175598 25 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
mbed_official 237:f3da66175598 26 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
mbed_official 237:f3da66175598 27 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
mbed_official 237:f3da66175598 28 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
mbed_official 237:f3da66175598 29 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
mbed_official 237:f3da66175598 30 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
mbed_official 237:f3da66175598 31 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
mbed_official 237:f3da66175598 32 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
mbed_official 237:f3da66175598 33 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
mbed_official 237:f3da66175598 34 *
mbed_official 237:f3da66175598 35 ******************************************************************************
mbed_official 237:f3da66175598 36 */
mbed_official 237:f3da66175598 37
mbed_official 237:f3da66175598 38 /* Define to prevent recursive inclusion -------------------------------------*/
mbed_official 237:f3da66175598 39 #ifndef __STM32F3xx_HAL_SMARTCARD_EX_H
mbed_official 237:f3da66175598 40 #define __STM32F3xx_HAL_SMARTCARD_EX_H
mbed_official 237:f3da66175598 41
mbed_official 237:f3da66175598 42 #ifdef __cplusplus
mbed_official 237:f3da66175598 43 extern "C" {
mbed_official 237:f3da66175598 44 #endif
mbed_official 237:f3da66175598 45
mbed_official 237:f3da66175598 46 /* Includes ------------------------------------------------------------------*/
mbed_official 237:f3da66175598 47 #include "stm32f3xx_hal_def.h"
mbed_official 237:f3da66175598 48
mbed_official 237:f3da66175598 49 /** @addtogroup STM32F3xx_HAL_Driver
mbed_official 237:f3da66175598 50 * @{
mbed_official 237:f3da66175598 51 */
mbed_official 237:f3da66175598 52
mbed_official 375:3d36234a1087 53 /** @addtogroup SMARTCARDEx SMARTCARD Extended HAL module driver
mbed_official 237:f3da66175598 54 * @{
mbed_official 237:f3da66175598 55 */
mbed_official 237:f3da66175598 56
mbed_official 237:f3da66175598 57 /* Exported types ------------------------------------------------------------*/
mbed_official 237:f3da66175598 58 /* Exported constants --------------------------------------------------------*/
mbed_official 237:f3da66175598 59 /* Exported macro ------------------------------------------------------------*/
mbed_official 237:f3da66175598 60
mbed_official 375:3d36234a1087 61 /** @defgroup SMARTCARDEx_Exported_Macros SMARTCARD Extended Exported Macros
mbed_official 237:f3da66175598 62 * @{
mbed_official 237:f3da66175598 63 */
mbed_official 237:f3da66175598 64
mbed_official 237:f3da66175598 65 /** @brief Reports the SMARTCARD clock source.
mbed_official 237:f3da66175598 66 * @param __HANDLE__: specifies the SMARTCARD Handle
mbed_official 237:f3da66175598 67 * @param __CLOCKSOURCE__ : output variable
mbed_official 237:f3da66175598 68 * @retval the SMARTCARD clocking source, written in __CLOCKSOURCE__.
mbed_official 237:f3da66175598 69 */
mbed_official 237:f3da66175598 70 #if defined(STM32F334x8) || defined(STM32F303x8) || defined(STM32F328xx)
mbed_official 237:f3da66175598 71 #define __HAL_SMARTCARD_GETCLOCKSOURCE(__HANDLE__,__CLOCKSOURCE__) \
mbed_official 237:f3da66175598 72 do { \
mbed_official 237:f3da66175598 73 if((__HANDLE__)->Instance == USART1) \
mbed_official 237:f3da66175598 74 { \
mbed_official 237:f3da66175598 75 switch(__HAL_RCC_GET_USART1_SOURCE()) \
mbed_official 237:f3da66175598 76 { \
mbed_official 237:f3da66175598 77 case RCC_USART1CLKSOURCE_PCLK1: \
mbed_official 237:f3da66175598 78 (__CLOCKSOURCE__) = SMARTCARD_CLOCKSOURCE_PCLK1; \
mbed_official 237:f3da66175598 79 break; \
mbed_official 237:f3da66175598 80 case RCC_USART1CLKSOURCE_HSI: \
mbed_official 237:f3da66175598 81 (__CLOCKSOURCE__) = SMARTCARD_CLOCKSOURCE_HSI; \
mbed_official 237:f3da66175598 82 break; \
mbed_official 237:f3da66175598 83 case RCC_USART1CLKSOURCE_SYSCLK: \
mbed_official 237:f3da66175598 84 (__CLOCKSOURCE__) = SMARTCARD_CLOCKSOURCE_SYSCLK; \
mbed_official 237:f3da66175598 85 break; \
mbed_official 237:f3da66175598 86 case RCC_USART1CLKSOURCE_LSE: \
mbed_official 237:f3da66175598 87 (__CLOCKSOURCE__) = SMARTCARD_CLOCKSOURCE_LSE; \
mbed_official 237:f3da66175598 88 break; \
mbed_official 237:f3da66175598 89 } \
mbed_official 237:f3da66175598 90 } \
mbed_official 237:f3da66175598 91 else if((__HANDLE__)->Instance == USART2) \
mbed_official 237:f3da66175598 92 { \
mbed_official 237:f3da66175598 93 switch(__HAL_RCC_GET_USART2_SOURCE()) \
mbed_official 237:f3da66175598 94 { \
mbed_official 237:f3da66175598 95 case RCC_USART2CLKSOURCE_PCLK1: \
mbed_official 237:f3da66175598 96 (__CLOCKSOURCE__) = SMARTCARD_CLOCKSOURCE_PCLK1; \
mbed_official 237:f3da66175598 97 break; \
mbed_official 237:f3da66175598 98 case RCC_USART2CLKSOURCE_HSI: \
mbed_official 237:f3da66175598 99 (__CLOCKSOURCE__) = SMARTCARD_CLOCKSOURCE_HSI; \
mbed_official 237:f3da66175598 100 break; \
mbed_official 237:f3da66175598 101 case RCC_USART2CLKSOURCE_SYSCLK: \
mbed_official 237:f3da66175598 102 (__CLOCKSOURCE__) = SMARTCARD_CLOCKSOURCE_SYSCLK; \
mbed_official 237:f3da66175598 103 break; \
mbed_official 237:f3da66175598 104 case RCC_USART2CLKSOURCE_LSE: \
mbed_official 237:f3da66175598 105 (__CLOCKSOURCE__) = SMARTCARD_CLOCKSOURCE_LSE; \
mbed_official 237:f3da66175598 106 break; \
mbed_official 237:f3da66175598 107 } \
mbed_official 237:f3da66175598 108 } \
mbed_official 237:f3da66175598 109 else if((__HANDLE__)->Instance == USART3) \
mbed_official 237:f3da66175598 110 { \
mbed_official 237:f3da66175598 111 switch(__HAL_RCC_GET_USART3_SOURCE()) \
mbed_official 237:f3da66175598 112 { \
mbed_official 237:f3da66175598 113 case RCC_USART3CLKSOURCE_PCLK1: \
mbed_official 237:f3da66175598 114 (__CLOCKSOURCE__) = SMARTCARD_CLOCKSOURCE_PCLK1; \
mbed_official 237:f3da66175598 115 break; \
mbed_official 237:f3da66175598 116 case RCC_USART3CLKSOURCE_HSI: \
mbed_official 237:f3da66175598 117 (__CLOCKSOURCE__) = SMARTCARD_CLOCKSOURCE_HSI; \
mbed_official 237:f3da66175598 118 break; \
mbed_official 237:f3da66175598 119 case RCC_USART3CLKSOURCE_SYSCLK: \
mbed_official 237:f3da66175598 120 (__CLOCKSOURCE__) = SMARTCARD_CLOCKSOURCE_SYSCLK; \
mbed_official 237:f3da66175598 121 break; \
mbed_official 237:f3da66175598 122 case RCC_USART3CLKSOURCE_LSE: \
mbed_official 237:f3da66175598 123 (__CLOCKSOURCE__) = SMARTCARD_CLOCKSOURCE_LSE; \
mbed_official 237:f3da66175598 124 break; \
mbed_official 237:f3da66175598 125 } \
mbed_official 237:f3da66175598 126 } \
mbed_official 237:f3da66175598 127 } while(0)
mbed_official 237:f3da66175598 128 #else
mbed_official 237:f3da66175598 129 #define __HAL_SMARTCARD_GETCLOCKSOURCE(__HANDLE__,__CLOCKSOURCE__) \
mbed_official 237:f3da66175598 130 do { \
mbed_official 237:f3da66175598 131 if((__HANDLE__)->Instance == USART1) \
mbed_official 237:f3da66175598 132 { \
mbed_official 237:f3da66175598 133 switch(__HAL_RCC_GET_USART1_SOURCE()) \
mbed_official 237:f3da66175598 134 { \
mbed_official 237:f3da66175598 135 case RCC_USART1CLKSOURCE_PCLK2: \
mbed_official 237:f3da66175598 136 (__CLOCKSOURCE__) = SMARTCARD_CLOCKSOURCE_PCLK2; \
mbed_official 237:f3da66175598 137 break; \
mbed_official 237:f3da66175598 138 case RCC_USART1CLKSOURCE_HSI: \
mbed_official 237:f3da66175598 139 (__CLOCKSOURCE__) = SMARTCARD_CLOCKSOURCE_HSI; \
mbed_official 237:f3da66175598 140 break; \
mbed_official 237:f3da66175598 141 case RCC_USART1CLKSOURCE_SYSCLK: \
mbed_official 237:f3da66175598 142 (__CLOCKSOURCE__) = SMARTCARD_CLOCKSOURCE_SYSCLK; \
mbed_official 237:f3da66175598 143 break; \
mbed_official 237:f3da66175598 144 case RCC_USART1CLKSOURCE_LSE: \
mbed_official 237:f3da66175598 145 (__CLOCKSOURCE__) = SMARTCARD_CLOCKSOURCE_LSE; \
mbed_official 237:f3da66175598 146 break; \
mbed_official 237:f3da66175598 147 } \
mbed_official 237:f3da66175598 148 } \
mbed_official 237:f3da66175598 149 else if((__HANDLE__)->Instance == USART2) \
mbed_official 237:f3da66175598 150 { \
mbed_official 237:f3da66175598 151 switch(__HAL_RCC_GET_USART2_SOURCE()) \
mbed_official 237:f3da66175598 152 { \
mbed_official 237:f3da66175598 153 case RCC_USART2CLKSOURCE_PCLK1: \
mbed_official 237:f3da66175598 154 (__CLOCKSOURCE__) = SMARTCARD_CLOCKSOURCE_PCLK1; \
mbed_official 237:f3da66175598 155 break; \
mbed_official 237:f3da66175598 156 case RCC_USART2CLKSOURCE_HSI: \
mbed_official 237:f3da66175598 157 (__CLOCKSOURCE__) = SMARTCARD_CLOCKSOURCE_HSI; \
mbed_official 237:f3da66175598 158 break; \
mbed_official 237:f3da66175598 159 case RCC_USART2CLKSOURCE_SYSCLK: \
mbed_official 237:f3da66175598 160 (__CLOCKSOURCE__) = SMARTCARD_CLOCKSOURCE_SYSCLK; \
mbed_official 237:f3da66175598 161 break; \
mbed_official 237:f3da66175598 162 case RCC_USART2CLKSOURCE_LSE: \
mbed_official 237:f3da66175598 163 (__CLOCKSOURCE__) = SMARTCARD_CLOCKSOURCE_LSE; \
mbed_official 237:f3da66175598 164 break; \
mbed_official 237:f3da66175598 165 } \
mbed_official 237:f3da66175598 166 } \
mbed_official 237:f3da66175598 167 else if((__HANDLE__)->Instance == USART3) \
mbed_official 237:f3da66175598 168 { \
mbed_official 237:f3da66175598 169 switch(__HAL_RCC_GET_USART3_SOURCE()) \
mbed_official 237:f3da66175598 170 { \
mbed_official 237:f3da66175598 171 case RCC_USART3CLKSOURCE_PCLK1: \
mbed_official 237:f3da66175598 172 (__CLOCKSOURCE__) = SMARTCARD_CLOCKSOURCE_PCLK1; \
mbed_official 237:f3da66175598 173 break; \
mbed_official 237:f3da66175598 174 case RCC_USART3CLKSOURCE_HSI: \
mbed_official 237:f3da66175598 175 (__CLOCKSOURCE__) = SMARTCARD_CLOCKSOURCE_HSI; \
mbed_official 237:f3da66175598 176 break; \
mbed_official 237:f3da66175598 177 case RCC_USART3CLKSOURCE_SYSCLK: \
mbed_official 237:f3da66175598 178 (__CLOCKSOURCE__) = SMARTCARD_CLOCKSOURCE_SYSCLK; \
mbed_official 237:f3da66175598 179 break; \
mbed_official 237:f3da66175598 180 case RCC_USART3CLKSOURCE_LSE: \
mbed_official 237:f3da66175598 181 (__CLOCKSOURCE__) = SMARTCARD_CLOCKSOURCE_LSE; \
mbed_official 237:f3da66175598 182 break; \
mbed_official 237:f3da66175598 183 } \
mbed_official 237:f3da66175598 184 } \
mbed_official 237:f3da66175598 185 } while(0)
mbed_official 237:f3da66175598 186 #endif
mbed_official 237:f3da66175598 187
mbed_official 237:f3da66175598 188 /**
mbed_official 237:f3da66175598 189 * @}
mbed_official 237:f3da66175598 190 */
mbed_official 237:f3da66175598 191
mbed_official 237:f3da66175598 192
mbed_official 237:f3da66175598 193 /* Exported functions --------------------------------------------------------*/
mbed_official 375:3d36234a1087 194 /** @addtogroup SMARTCARDEx_Exported_Functions SMARTCARD Extended Exported Functions
mbed_official 375:3d36234a1087 195 * @{
mbed_official 375:3d36234a1087 196 */
mbed_official 375:3d36234a1087 197
mbed_official 237:f3da66175598 198 /* Initialization and de-initialization functions ****************************/
mbed_official 237:f3da66175598 199 /* IO operation functions *****************************************************/
mbed_official 237:f3da66175598 200 /* Peripheral Control functions ***********************************************/
mbed_official 375:3d36234a1087 201 /** @addtogroup SMARTCARDEx_Exported_Functions_Group1 Extended Peripheral Control functions
mbed_official 375:3d36234a1087 202 * @{
mbed_official 375:3d36234a1087 203 */
mbed_official 237:f3da66175598 204 void HAL_SMARTCARDEx_BlockLength_Config(SMARTCARD_HandleTypeDef *hsmartcard, uint8_t BlockLength);
mbed_official 237:f3da66175598 205 void HAL_SMARTCARDEx_TimeOut_Config(SMARTCARD_HandleTypeDef *hsmartcard, uint32_t TimeOutValue);
mbed_official 237:f3da66175598 206 HAL_StatusTypeDef HAL_SMARTCARDEx_EnableReceiverTimeOut(SMARTCARD_HandleTypeDef *hsmartcard);
mbed_official 237:f3da66175598 207 HAL_StatusTypeDef HAL_SMARTCARDEx_DisableReceiverTimeOut(SMARTCARD_HandleTypeDef *hsmartcard);
mbed_official 237:f3da66175598 208
mbed_official 237:f3da66175598 209 /* Peripheral State and Error functions ***************************************/
mbed_official 237:f3da66175598 210
mbed_official 237:f3da66175598 211 /**
mbed_official 237:f3da66175598 212 * @}
mbed_official 237:f3da66175598 213 */
mbed_official 237:f3da66175598 214
mbed_official 237:f3da66175598 215 /**
mbed_official 237:f3da66175598 216 * @}
mbed_official 375:3d36234a1087 217 */
mbed_official 375:3d36234a1087 218
mbed_official 375:3d36234a1087 219 /**
mbed_official 375:3d36234a1087 220 * @}
mbed_official 375:3d36234a1087 221 */
mbed_official 375:3d36234a1087 222
mbed_official 375:3d36234a1087 223 /**
mbed_official 375:3d36234a1087 224 * @}
mbed_official 237:f3da66175598 225 */
mbed_official 237:f3da66175598 226
mbed_official 237:f3da66175598 227 #ifdef __cplusplus
mbed_official 237:f3da66175598 228 }
mbed_official 237:f3da66175598 229 #endif
mbed_official 237:f3da66175598 230
mbed_official 237:f3da66175598 231 #endif /* __STM32F3xx_HAL_SMARTCARD_EX_H */
mbed_official 237:f3da66175598 232
mbed_official 237:f3da66175598 233 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/