Ricardo Benitez / mbed

Fork of mbed by mbed official

Committer:
Kojto
Date:
Wed Mar 02 09:58:28 2016 +0100
Revision:
115:87f2f5183dfb
Child:
116:c0f6e94411f5
Release 115 of the mbed library

Changes:
- new targets - NUCLEO_F746ZG
- Bugfix - STM32F7 + STM32L4 - RTC init fix
- Bugfix - STM32L4 Set NVIC_RAM_VECTOR_ADDRESS to 0x10000000
- B96B_F446VE - CAN addition
- Changed target name from NZ32SC151 to NZ32_SC151

Who changed what in which revision?

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