mbed library sources

Dependents:   Encrypted my_mbed lklk CyaSSL_DTLS_Cellular ... more

Superseded

This library was superseded by mbed-dev - https://os.mbed.com/users/mbed_official/code/mbed-dev/.

Development branch of the mbed library sources. This library is kept in synch with the latest changes from the mbed SDK and it is not guaranteed to work.

If you are looking for a stable and tested release, please import one of the official mbed library releases:

Import librarymbed

The official Mbed 2 C/C++ SDK provides the software platform and libraries to build your applications.

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****/