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:
Wed Jul 01 09:45:11 2015 +0100
Revision:
579:53297373a894
Parent:
489:119543c9f674
Synchronized with git revision d5b4d2ab9c47edb4dc5776e7177b0c2263459081

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

Initial version of drivers for SAMR21

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mbed_official 376:cb4d9db17537 1 /**
mbed_official 376:cb4d9db17537 2 ******************************************************************************
mbed_official 376:cb4d9db17537 3 * @file stm32l0xx_hal_tim_ex.h
mbed_official 376:cb4d9db17537 4 * @author MCD Application Team
mbed_official 489:119543c9f674 5 * @version V1.2.0
mbed_official 489:119543c9f674 6 * @date 06-February-2015
mbed_official 376:cb4d9db17537 7 * @brief Header file of TIM HAL module.
mbed_official 376:cb4d9db17537 8 ******************************************************************************
mbed_official 376:cb4d9db17537 9 * @attention
mbed_official 376:cb4d9db17537 10 *
mbed_official 489:119543c9f674 11 * <h2><center>&copy; COPYRIGHT(c) 2015 STMicroelectronics</center></h2>
mbed_official 376:cb4d9db17537 12 *
mbed_official 376:cb4d9db17537 13 * Redistribution and use in source and binary forms, with or without modification,
mbed_official 376:cb4d9db17537 14 * are permitted provided that the following conditions are met:
mbed_official 376:cb4d9db17537 15 * 1. Redistributions of source code must retain the above copyright notice,
mbed_official 376:cb4d9db17537 16 * this list of conditions and the following disclaimer.
mbed_official 376:cb4d9db17537 17 * 2. Redistributions in binary form must reproduce the above copyright notice,
mbed_official 376:cb4d9db17537 18 * this list of conditions and the following disclaimer in the documentation
mbed_official 376:cb4d9db17537 19 * and/or other materials provided with the distribution.
mbed_official 376:cb4d9db17537 20 * 3. Neither the name of STMicroelectronics nor the names of its contributors
mbed_official 376:cb4d9db17537 21 * may be used to endorse or promote products derived from this software
mbed_official 376:cb4d9db17537 22 * without specific prior written permission.
mbed_official 376:cb4d9db17537 23 *
mbed_official 376:cb4d9db17537 24 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
mbed_official 376:cb4d9db17537 25 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
mbed_official 376:cb4d9db17537 26 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
mbed_official 376:cb4d9db17537 27 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
mbed_official 376:cb4d9db17537 28 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
mbed_official 376:cb4d9db17537 29 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
mbed_official 376:cb4d9db17537 30 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
mbed_official 376:cb4d9db17537 31 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
mbed_official 376:cb4d9db17537 32 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
mbed_official 376:cb4d9db17537 33 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
mbed_official 376:cb4d9db17537 34 *
mbed_official 376:cb4d9db17537 35 ******************************************************************************
mbed_official 376:cb4d9db17537 36 */
mbed_official 376:cb4d9db17537 37
mbed_official 376:cb4d9db17537 38 /* Define to prevent recursive inclusion -------------------------------------*/
mbed_official 376:cb4d9db17537 39 #ifndef __STM32L0xx_HAL_TIM_EX_H
mbed_official 376:cb4d9db17537 40 #define __STM32L0xx_HAL_TIM_EX_H
mbed_official 376:cb4d9db17537 41
mbed_official 376:cb4d9db17537 42 #ifdef __cplusplus
mbed_official 376:cb4d9db17537 43 extern "C" {
mbed_official 376:cb4d9db17537 44 #endif
mbed_official 376:cb4d9db17537 45
mbed_official 376:cb4d9db17537 46 /* Includes ------------------------------------------------------------------*/
mbed_official 376:cb4d9db17537 47 #include "stm32l0xx_hal_def.h"
mbed_official 376:cb4d9db17537 48
mbed_official 489:119543c9f674 49 /** @addtogroup STM32L0xx_HAL_Driver
mbed_official 376:cb4d9db17537 50 * @{
mbed_official 376:cb4d9db17537 51 */
mbed_official 376:cb4d9db17537 52
mbed_official 489:119543c9f674 53 /** @defgroup TIMEx TIMEx (Timer extended)
mbed_official 376:cb4d9db17537 54 * @{
mbed_official 376:cb4d9db17537 55 */
mbed_official 376:cb4d9db17537 56
mbed_official 376:cb4d9db17537 57 /* Exported types ------------------------------------------------------------*/
mbed_official 376:cb4d9db17537 58
mbed_official 376:cb4d9db17537 59 /**
mbed_official 376:cb4d9db17537 60 * @brief TIM Master configuration Structure definition
mbed_official 376:cb4d9db17537 61 */
mbed_official 376:cb4d9db17537 62 typedef struct {
mbed_official 376:cb4d9db17537 63 uint32_t MasterOutputTrigger; /*!< Trigger output (TRGO) selection
mbed_official 489:119543c9f674 64 This parameter can be a value of @ref TIM_Master_Mode_Selection */
mbed_official 376:cb4d9db17537 65 uint32_t MasterSlaveMode; /*!< Master/slave mode selection
mbed_official 376:cb4d9db17537 66 This parameter can be a value of @ref TIM_Master_Slave_Mode */
mbed_official 376:cb4d9db17537 67 }TIM_MasterConfigTypeDef;
mbed_official 376:cb4d9db17537 68
mbed_official 376:cb4d9db17537 69
mbed_official 489:119543c9f674 70
mbed_official 376:cb4d9db17537 71 /* Exported constants --------------------------------------------------------*/
mbed_official 489:119543c9f674 72 /** @defgroup TIMEx_Exported_Constants TIMEx Exported Constants
mbed_official 376:cb4d9db17537 73 * @{
mbed_official 376:cb4d9db17537 74 */
mbed_official 376:cb4d9db17537 75
mbed_official 489:119543c9f674 76 /** @defgroup TIMEx_Trigger_Selection Trigger selection
mbed_official 376:cb4d9db17537 77 * @{
mbed_official 376:cb4d9db17537 78 */
mbed_official 489:119543c9f674 79 #define TIM_TRGO_RESET ((uint32_t)0x0000)
mbed_official 489:119543c9f674 80 #define TIM_TRGO_ENABLE (TIM_CR2_MMS_0)
mbed_official 489:119543c9f674 81 #define TIM_TRGO_UPDATE (TIM_CR2_MMS_1)
mbed_official 489:119543c9f674 82 #define TIM_TRGO_OC1 ((TIM_CR2_MMS_1 | TIM_CR2_MMS_0))
mbed_official 489:119543c9f674 83 #define TIM_TRGO_OC1REF (TIM_CR2_MMS_2)
mbed_official 489:119543c9f674 84 #define TIM_TRGO_OC2REF ((TIM_CR2_MMS_2 | TIM_CR2_MMS_0))
mbed_official 489:119543c9f674 85 #define TIM_TRGO_OC3REF ((TIM_CR2_MMS_2 | TIM_CR2_MMS_1))
mbed_official 489:119543c9f674 86 #define TIM_TRGO_OC4REF ((TIM_CR2_MMS_2 | TIM_CR2_MMS_1 | TIM_CR2_MMS_0))
mbed_official 376:cb4d9db17537 87
mbed_official 489:119543c9f674 88 #define IS_TIM_TRGO_SOURCE(__SOURCE__) (((__SOURCE__) == TIM_TRGO_RESET) || \
mbed_official 489:119543c9f674 89 ((__SOURCE__) == TIM_TRGO_ENABLE) || \
mbed_official 489:119543c9f674 90 ((__SOURCE__) == TIM_TRGO_UPDATE) || \
mbed_official 489:119543c9f674 91 ((__SOURCE__) == TIM_TRGO_OC1) || \
mbed_official 489:119543c9f674 92 ((__SOURCE__) == TIM_TRGO_OC1REF) || \
mbed_official 489:119543c9f674 93 ((__SOURCE__) == TIM_TRGO_OC2REF) || \
mbed_official 489:119543c9f674 94 ((__SOURCE__) == TIM_TRGO_OC3REF) || \
mbed_official 489:119543c9f674 95 ((__SOURCE__) == TIM_TRGO_OC4REF))
mbed_official 376:cb4d9db17537 96
mbed_official 376:cb4d9db17537 97 /**
mbed_official 376:cb4d9db17537 98 * @}
mbed_official 376:cb4d9db17537 99 */
mbed_official 376:cb4d9db17537 100
mbed_official 489:119543c9f674 101 /** @defgroup TIMEx_Remap Remaping
mbed_official 376:cb4d9db17537 102 * @{
mbed_official 376:cb4d9db17537 103 */
mbed_official 376:cb4d9db17537 104
mbed_official 489:119543c9f674 105 #define TIM2_ETR_GPIO ((uint32_t)0x0)
mbed_official 489:119543c9f674 106 #define TIM2_ETR_HSI48 TIM2_OR_ETR_RMP_2
mbed_official 489:119543c9f674 107 #define TIM2_ETR_LSE (TIM2_OR_ETR_RMP_2 | TIM2_OR_ETR_RMP_0)
mbed_official 489:119543c9f674 108 #define TIM2_ETR_COMP2_OUT (TIM2_OR_ETR_RMP_2 | TIM2_OR_ETR_RMP_1)
mbed_official 489:119543c9f674 109 #define TIM2_ETR_COMP1_OUT TIM2_OR_ETR_RMP
mbed_official 489:119543c9f674 110 #define TIM2_TI4_GPIO ((uint32_t)0x0)
mbed_official 489:119543c9f674 111 #define TIM2_TI4_COMP2 TIM2_OR_TI4_RMP_0
mbed_official 489:119543c9f674 112 #define TIM2_TI4_COMP1 TIM2_OR_TI4_RMP_1
mbed_official 489:119543c9f674 113
mbed_official 489:119543c9f674 114 #define TIM21_ETR_GPIO ((uint32_t)0x0)
mbed_official 489:119543c9f674 115 #define TIM21_ETR_COMP2_OUT TIM21_OR_ETR_RMP_0
mbed_official 489:119543c9f674 116 #define TIM21_ETR_COMP1_OUT TIM21_OR_ETR_RMP_1
mbed_official 489:119543c9f674 117 #define TIM21_ETR_LSE TIM21_OR_ETR_RMP
mbed_official 489:119543c9f674 118 #define TIM21_TI1_GPIO ((uint32_t)0x0)
mbed_official 489:119543c9f674 119 #define TIM21_TI1_MCO TIM21_OR_TI1_RMP
mbed_official 489:119543c9f674 120 #define TIM21_TI1_RTC_WKUT_IT TIM21_OR_TI1_RMP_0
mbed_official 489:119543c9f674 121 #define TIM21_TI1_HSE_RTC TIM21_OR_TI1_RMP_1
mbed_official 489:119543c9f674 122 #define TIM21_TI1_MSI (TIM21_OR_TI1_RMP_0 | TIM21_OR_TI1_RMP_1)
mbed_official 489:119543c9f674 123 #define TIM21_TI1_LSE TIM21_OR_TI1_RMP_2
mbed_official 489:119543c9f674 124 #define TIM21_TI1_LSI (TIM21_OR_TI1_RMP_2 | TIM21_OR_TI1_RMP_0)
mbed_official 489:119543c9f674 125 #define TIM21_TI1_COMP1_OUT (TIM21_OR_TI1_RMP_2 | TIM21_OR_TI1_RMP_1)
mbed_official 489:119543c9f674 126 #define TIM21_TI2_GPIO ((uint32_t)0x0)
mbed_official 489:119543c9f674 127 #define TIM21_TI2_COMP2_OUT TIM21_OR_TI2_RMP
mbed_official 489:119543c9f674 128
mbed_official 489:119543c9f674 129 #define TIM22_ETR_LSE ((uint32_t)0x0)
mbed_official 489:119543c9f674 130 #define TIM22_ETR_COMP2_OUT TIM22_OR_ETR_RMP_0
mbed_official 489:119543c9f674 131 #define TIM22_ETR_COMP1_OUT TIM22_OR_ETR_RMP_1
mbed_official 489:119543c9f674 132 #define TIM22_ETR_GPIO TIM22_OR_ETR_RMP
mbed_official 489:119543c9f674 133 #define TIM22_TI1_GPIO1 ((uint32_t)0x0)
mbed_official 489:119543c9f674 134 #define TIM22_TI1_COMP2_OUT TIM22_OR_TI1_RMP_0
mbed_official 489:119543c9f674 135 #define TIM22_TI1_COMP1_OUT TIM22_OR_TI1_RMP_1
mbed_official 489:119543c9f674 136 #define TIM22_TI1_GPIO2 TIM22_OR_TI1_RMP
mbed_official 489:119543c9f674 137
mbed_official 489:119543c9f674 138 #if defined (STM32L071xx) || defined (STM32L072xx) || defined (STM32L073xx) \
mbed_official 489:119543c9f674 139 || defined (STM32L081xx) || defined (STM32L082xx) || defined (STM32L083xx)
mbed_official 489:119543c9f674 140
mbed_official 489:119543c9f674 141 #define TIM3_TI4_GPIO_DEF ((uint32_t)0x0)
mbed_official 489:119543c9f674 142 #define TIM3_TI4_GPIOC9_AF2 TIM3_OR_TI4_RMP
mbed_official 489:119543c9f674 143 #define TIM3_TI2_GPIO_DEF ((uint32_t)0x0)
mbed_official 489:119543c9f674 144 #define TIM3_TI2_GPIOB5_AF4 TIM3_OR_TI2_RMP
mbed_official 489:119543c9f674 145 #define TIM3_TI1_USB_SOF ((uint32_t)0x0)
mbed_official 489:119543c9f674 146 #define TIM3_TI1_GPIO TIM3_OR_TI1_RMP
mbed_official 489:119543c9f674 147 #define TIM3_ETR_GPIO ((uint32_t)0x0)
mbed_official 489:119543c9f674 148 #define TIM3_ETR_HSI TIM3_OR_ETR_RMP_1
mbed_official 489:119543c9f674 149
mbed_official 489:119543c9f674 150 #endif /*defined (STM32L07Xxx) or defined (STM32L08Xxx) */
mbed_official 489:119543c9f674 151
mbed_official 489:119543c9f674 152
mbed_official 489:119543c9f674 153
mbed_official 489:119543c9f674 154 #if defined (STM32L071xx) || defined (STM32L072xx) || defined (STM32L073xx) \
mbed_official 489:119543c9f674 155 || defined (STM32L081xx) || defined (STM32L082xx) || defined (STM32L083xx)
mbed_official 376:cb4d9db17537 156
mbed_official 376:cb4d9db17537 157
mbed_official 489:119543c9f674 158 #define IS_TIM_REMAP(__INSTANCE__, __TIM_REMAP__) \
mbed_official 489:119543c9f674 159 (((__INSTANCE__ == TIM2) && ((__TIM_REMAP__) <= (TIM2_OR_TI4_RMP | TIM2_OR_ETR_RMP))) || \
mbed_official 489:119543c9f674 160 ((__INSTANCE__ == TIM22) && ((__TIM_REMAP__) <= (TIM22_OR_TI1_RMP | TIM22_OR_ETR_RMP))) || \
mbed_official 489:119543c9f674 161 ((__INSTANCE__ == TIM21) && ((__TIM_REMAP__) <= (TIM21_OR_ETR_RMP | TIM21_OR_TI1_RMP | TIM21_OR_TI2_RMP))) || \
mbed_official 489:119543c9f674 162 ((__INSTANCE__ == TIM3) && ((__TIM_REMAP__) <= (TIM3_OR_ETR_RMP | TIM3_OR_TI1_RMP | TIM3_OR_TI2_RMP | TIM3_OR_TI4_RMP))))
mbed_official 489:119543c9f674 163
mbed_official 489:119543c9f674 164 #define IS_CHANNEL_AVAILABLE(__INSTANCE__, __CHANNEL__) \
mbed_official 489:119543c9f674 165 (((__INSTANCE__ == TIM2) && (((__CHANNEL__) == TIM_CHANNEL_1) || \
mbed_official 489:119543c9f674 166 ((__CHANNEL__) == TIM_CHANNEL_2) || \
mbed_official 489:119543c9f674 167 ((__CHANNEL__) == TIM_CHANNEL_3) || \
mbed_official 489:119543c9f674 168 ((__CHANNEL__) == TIM_CHANNEL_4))) || \
mbed_official 489:119543c9f674 169 ((__INSTANCE__ == TIM3) && (((__CHANNEL__) == TIM_CHANNEL_1) || \
mbed_official 489:119543c9f674 170 ((__CHANNEL__) == TIM_CHANNEL_2) || \
mbed_official 489:119543c9f674 171 ((__CHANNEL__) == TIM_CHANNEL_3) || \
mbed_official 489:119543c9f674 172 ((__CHANNEL__) == TIM_CHANNEL_4))) || \
mbed_official 489:119543c9f674 173 ((__INSTANCE__ == TIM21) && (((__CHANNEL__) == TIM_CHANNEL_1) || \
mbed_official 489:119543c9f674 174 ((__CHANNEL__) == TIM_CHANNEL_2))) || \
mbed_official 489:119543c9f674 175 ((__INSTANCE__ == TIM22) && (((__CHANNEL__) == TIM_CHANNEL_1) || \
mbed_official 489:119543c9f674 176 ((__CHANNEL__) == TIM_CHANNEL_2))))
mbed_official 489:119543c9f674 177
mbed_official 489:119543c9f674 178 #else
mbed_official 489:119543c9f674 179
mbed_official 489:119543c9f674 180 #define IS_TIM_REMAP(__INSTANCE__, __TIM_REMAP__) \
mbed_official 489:119543c9f674 181 (((__INSTANCE__ == TIM2) && ((__TIM_REMAP__) <= (TIM2_OR_TI4_RMP | TIM2_OR_ETR_RMP))) || \
mbed_official 489:119543c9f674 182 ((__INSTANCE__ == TIM22) && ((__TIM_REMAP__) <= (TIM22_OR_TI1_RMP | TIM22_OR_ETR_RMP))) || \
mbed_official 489:119543c9f674 183 ((__INSTANCE__ == TIM21) && ((__TIM_REMAP__) <= (TIM21_OR_ETR_RMP | TIM21_OR_TI1_RMP | TIM21_OR_TI2_RMP))))
mbed_official 376:cb4d9db17537 184
mbed_official 489:119543c9f674 185 #define IS_CHANNEL_AVAILABLE(__INSTANCE__, __CHANNEL__) \
mbed_official 489:119543c9f674 186 (((__INSTANCE__ == TIM2) && (((__CHANNEL__) == TIM_CHANNEL_1) || \
mbed_official 489:119543c9f674 187 ((__CHANNEL__) == TIM_CHANNEL_2) || \
mbed_official 489:119543c9f674 188 ((__CHANNEL__) == TIM_CHANNEL_3) || \
mbed_official 489:119543c9f674 189 ((__CHANNEL__) == TIM_CHANNEL_4))) || \
mbed_official 489:119543c9f674 190 ((__INSTANCE__ == TIM21) && (((__CHANNEL__) == TIM_CHANNEL_1) || \
mbed_official 489:119543c9f674 191 ((__CHANNEL__) == TIM_CHANNEL_2))) || \
mbed_official 489:119543c9f674 192 ((__INSTANCE__ == TIM22) && (((__CHANNEL__) == TIM_CHANNEL_1) || \
mbed_official 489:119543c9f674 193 ((__CHANNEL__) == TIM_CHANNEL_2))))
mbed_official 489:119543c9f674 194
mbed_official 489:119543c9f674 195 #endif /*defined (STM32L07Xxx) or defined (STM32L08Xxx) */
mbed_official 489:119543c9f674 196
mbed_official 489:119543c9f674 197
mbed_official 489:119543c9f674 198 /**
mbed_official 489:119543c9f674 199 * @}
mbed_official 489:119543c9f674 200 */
mbed_official 489:119543c9f674 201
mbed_official 489:119543c9f674 202 /**
mbed_official 489:119543c9f674 203 * @}
mbed_official 489:119543c9f674 204 */
mbed_official 489:119543c9f674 205
mbed_official 489:119543c9f674 206
mbed_official 489:119543c9f674 207 /* Exported macro ------------------------------------------------------------*/
mbed_official 489:119543c9f674 208 /* Exported functions --------------------------------------------------------*/
mbed_official 489:119543c9f674 209 /* Control functions ***********************************************************/
mbed_official 489:119543c9f674 210
mbed_official 489:119543c9f674 211 /** @defgroup TIMEx_Exported_Functions TIMEx Exported Functions
mbed_official 489:119543c9f674 212 * @{
mbed_official 489:119543c9f674 213 */
mbed_official 489:119543c9f674 214
mbed_official 489:119543c9f674 215 /** @defgroup TIMEx_Exported_Functions_Group1 TIMEx Peripheral Control functions
mbed_official 489:119543c9f674 216 * @{
mbed_official 489:119543c9f674 217 */
mbed_official 489:119543c9f674 218
mbed_official 489:119543c9f674 219 HAL_StatusTypeDef HAL_TIMEx_RemapConfig(TIM_HandleTypeDef *htim, uint32_t Remap);
mbed_official 489:119543c9f674 220 HAL_StatusTypeDef HAL_TIMEx_MasterConfigSynchronization(TIM_HandleTypeDef *htim, TIM_MasterConfigTypeDef * sMasterConfig);
mbed_official 489:119543c9f674 221
mbed_official 489:119543c9f674 222 /**
mbed_official 489:119543c9f674 223 * @}
mbed_official 489:119543c9f674 224 */
mbed_official 489:119543c9f674 225
mbed_official 489:119543c9f674 226 /**
mbed_official 489:119543c9f674 227 * @}
mbed_official 489:119543c9f674 228 */
mbed_official 376:cb4d9db17537 229
mbed_official 376:cb4d9db17537 230 /**
mbed_official 376:cb4d9db17537 231 * @}
mbed_official 376:cb4d9db17537 232 */
mbed_official 376:cb4d9db17537 233
mbed_official 376:cb4d9db17537 234 /**
mbed_official 376:cb4d9db17537 235 * @}
mbed_official 489:119543c9f674 236 */
mbed_official 376:cb4d9db17537 237
mbed_official 376:cb4d9db17537 238 /**
mbed_official 376:cb4d9db17537 239 * @}
mbed_official 489:119543c9f674 240 */
mbed_official 376:cb4d9db17537 241 #ifdef __cplusplus
mbed_official 376:cb4d9db17537 242 }
mbed_official 376:cb4d9db17537 243 #endif
mbed_official 376:cb4d9db17537 244
mbed_official 376:cb4d9db17537 245 #endif /* __STM32L0xx_HAL_TIM_EX_H */
mbed_official 376:cb4d9db17537 246
mbed_official 376:cb4d9db17537 247 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
mbed_official 489:119543c9f674 248