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.c
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 TIM HAL module driver.
mbed_official 376:cb4d9db17537 8 * @brief This file provides firmware functions to manage the following
mbed_official 376:cb4d9db17537 9 * functionalities of the Timer (TIM) peripheral:
mbed_official 376:cb4d9db17537 10 * + Time Hall Sensor Interface Initialization
mbed_official 376:cb4d9db17537 11 * + Time Hall Sensor Interface Start
mbed_official 376:cb4d9db17537 12 * + Time Master and Slave synchronization configuration
mbed_official 376:cb4d9db17537 13 @verbatim
mbed_official 376:cb4d9db17537 14 ================================================================================
mbed_official 376:cb4d9db17537 15 ##### TIM specific features integration #####
mbed_official 376:cb4d9db17537 16 ================================================================================
mbed_official 376:cb4d9db17537 17
mbed_official 376:cb4d9db17537 18 [..] The Timer features include:
mbed_official 376:cb4d9db17537 19 (#) 16-bit up, down, up/down auto-reload counter.
mbed_official 376:cb4d9db17537 20 (#) 16-bit programmable prescaler allowing dividing (also on the fly) the counter clock
mbed_official 376:cb4d9db17537 21 frequency either by any factor between 1 and 65536.
mbed_official 376:cb4d9db17537 22 (#) Up to 4 independent channels for:
mbed_official 376:cb4d9db17537 23 Input Capture
mbed_official 376:cb4d9db17537 24 Output Compare
mbed_official 376:cb4d9db17537 25 PWM generation (Edge and Center-aligned Mode)
mbed_official 376:cb4d9db17537 26 One-pulse mode output
mbed_official 376:cb4d9db17537 27 (#) Synchronization circuit to control the timer with external signals and to interconnect
mbed_official 376:cb4d9db17537 28 several timers together.
mbed_official 376:cb4d9db17537 29 (#) Supports incremental (quadrature) encoder and hall-sensor circuitry for positioning
mbed_official 376:cb4d9db17537 30 purposes
mbed_official 376:cb4d9db17537 31
mbed_official 376:cb4d9db17537 32 ##### How to use this driver #####
mbed_official 376:cb4d9db17537 33 ================================================================================
mbed_official 376:cb4d9db17537 34 [..]
mbed_official 376:cb4d9db17537 35 (#) Enable the TIM interface clock using
mbed_official 489:119543c9f674 36 __HAL_RCC_TIMx_CLK_ENABLE();
mbed_official 376:cb4d9db17537 37
mbed_official 376:cb4d9db17537 38 (#) TIM pins configuration
mbed_official 376:cb4d9db17537 39 (++) Enable the clock for the TIM GPIOs using the following function:
mbed_official 489:119543c9f674 40 __HAL_RCC_GPIOx_CLK_ENABLE();
mbed_official 376:cb4d9db17537 41 (++) Configure these TIM pins in Alternate function mode using HAL_GPIO_Init();
mbed_official 376:cb4d9db17537 42
mbed_official 376:cb4d9db17537 43 (#) The external Clock can be configured, if needed (the default clock is the internal clock from the APBx),
mbed_official 376:cb4d9db17537 44 using the following function:
mbed_official 376:cb4d9db17537 45 HAL_TIM_ConfigClockSource, the clock configuration should be done before any start function.
mbed_official 376:cb4d9db17537 46
mbed_official 376:cb4d9db17537 47 (#) Configure the TIM in the desired operating mode using one of the
mbed_official 376:cb4d9db17537 48 configuration function of this driver:
mbed_official 376:cb4d9db17537 49 (++) HAL_TIMEx_MasterConfigSynchronization() to configure the peripheral in master mode.
mbed_official 376:cb4d9db17537 50
mbed_official 376:cb4d9db17537 51 (#) Remap the Timer I/O using HAL_TIMEx_RemapConfig() API.
mbed_official 376:cb4d9db17537 52
mbed_official 376:cb4d9db17537 53
mbed_official 376:cb4d9db17537 54 @endverbatim
mbed_official 376:cb4d9db17537 55 ******************************************************************************
mbed_official 376:cb4d9db17537 56 * @attention
mbed_official 376:cb4d9db17537 57 *
mbed_official 489:119543c9f674 58 * <h2><center>&copy; COPYRIGHT(c) 2015 STMicroelectronics</center></h2>
mbed_official 376:cb4d9db17537 59 *
mbed_official 376:cb4d9db17537 60 * Redistribution and use in source and binary forms, with or without modification,
mbed_official 376:cb4d9db17537 61 * are permitted provided that the following conditions are met:
mbed_official 376:cb4d9db17537 62 * 1. Redistributions of source code must retain the above copyright notice,
mbed_official 376:cb4d9db17537 63 * this list of conditions and the following disclaimer.
mbed_official 376:cb4d9db17537 64 * 2. Redistributions in binary form must reproduce the above copyright notice,
mbed_official 376:cb4d9db17537 65 * this list of conditions and the following disclaimer in the documentation
mbed_official 376:cb4d9db17537 66 * and/or other materials provided with the distribution.
mbed_official 376:cb4d9db17537 67 * 3. Neither the name of STMicroelectronics nor the names of its contributors
mbed_official 376:cb4d9db17537 68 * may be used to endorse or promote products derived from this software
mbed_official 376:cb4d9db17537 69 * without specific prior written permission.
mbed_official 376:cb4d9db17537 70 *
mbed_official 376:cb4d9db17537 71 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
mbed_official 376:cb4d9db17537 72 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
mbed_official 376:cb4d9db17537 73 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
mbed_official 376:cb4d9db17537 74 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
mbed_official 376:cb4d9db17537 75 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
mbed_official 376:cb4d9db17537 76 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
mbed_official 376:cb4d9db17537 77 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
mbed_official 376:cb4d9db17537 78 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
mbed_official 376:cb4d9db17537 79 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
mbed_official 376:cb4d9db17537 80 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
mbed_official 376:cb4d9db17537 81 *
mbed_official 376:cb4d9db17537 82 ******************************************************************************
mbed_official 376:cb4d9db17537 83 */
mbed_official 376:cb4d9db17537 84
mbed_official 376:cb4d9db17537 85 /* Includes ------------------------------------------------------------------*/
mbed_official 376:cb4d9db17537 86 #include "stm32l0xx_hal.h"
mbed_official 376:cb4d9db17537 87
mbed_official 376:cb4d9db17537 88 /** @addtogroup STM32L0xx_HAL_Driver
mbed_official 376:cb4d9db17537 89 * @{
mbed_official 376:cb4d9db17537 90 */
mbed_official 376:cb4d9db17537 91
mbed_official 489:119543c9f674 92 /** @addtogroup TIMEx
mbed_official 376:cb4d9db17537 93 * @brief TIMEx HAL module driver
mbed_official 376:cb4d9db17537 94 * @{
mbed_official 376:cb4d9db17537 95 */
mbed_official 376:cb4d9db17537 96
mbed_official 376:cb4d9db17537 97 #ifdef HAL_TIM_MODULE_ENABLED
mbed_official 376:cb4d9db17537 98
mbed_official 376:cb4d9db17537 99
mbed_official 489:119543c9f674 100 /** @addtogroup TIMEx_Exported_Functions
mbed_official 376:cb4d9db17537 101 * @{
mbed_official 376:cb4d9db17537 102 */
mbed_official 376:cb4d9db17537 103
mbed_official 376:cb4d9db17537 104
mbed_official 489:119543c9f674 105 /** @addtogroup TIMEx_Exported_Functions_Group1
mbed_official 489:119543c9f674 106 * @brief Peripheral Control functions
mbed_official 376:cb4d9db17537 107 *
mbed_official 376:cb4d9db17537 108 @verbatim
mbed_official 376:cb4d9db17537 109 ===============================================================================
mbed_official 376:cb4d9db17537 110 ##### Peripheral Control functions #####
mbed_official 376:cb4d9db17537 111 ===============================================================================
mbed_official 376:cb4d9db17537 112 [..] This section provides functions allowing to:
mbed_official 376:cb4d9db17537 113 (+) Configure Master and the Slave synchronization.
mbed_official 376:cb4d9db17537 114
mbed_official 376:cb4d9db17537 115 @endverbatim
mbed_official 376:cb4d9db17537 116 * @{
mbed_official 376:cb4d9db17537 117 */
mbed_official 376:cb4d9db17537 118
mbed_official 376:cb4d9db17537 119 /**
mbed_official 376:cb4d9db17537 120 * @brief Configures the TIM in master mode.
mbed_official 376:cb4d9db17537 121 * @param htim: TIM handle.
mbed_official 376:cb4d9db17537 122 * @param sMasterConfig: pointer to a TIM_MasterConfigTypeDef structure that
mbed_official 376:cb4d9db17537 123 * contains the selected trigger output (TRGO) and the Master/Slave
mbed_official 376:cb4d9db17537 124 * mode.
mbed_official 376:cb4d9db17537 125 * @retval HAL status
mbed_official 376:cb4d9db17537 126 */
mbed_official 376:cb4d9db17537 127 HAL_StatusTypeDef HAL_TIMEx_MasterConfigSynchronization(TIM_HandleTypeDef *htim, TIM_MasterConfigTypeDef * sMasterConfig)
mbed_official 376:cb4d9db17537 128 {
mbed_official 376:cb4d9db17537 129 /* Check the parameters */
mbed_official 376:cb4d9db17537 130 assert_param(IS_TIM_MASTER_INSTANCE(htim->Instance));
mbed_official 376:cb4d9db17537 131 assert_param(IS_TIM_TRGO_SOURCE(sMasterConfig->MasterOutputTrigger));
mbed_official 376:cb4d9db17537 132 assert_param(IS_TIM_MSM_STATE(sMasterConfig->MasterSlaveMode));
mbed_official 376:cb4d9db17537 133
mbed_official 376:cb4d9db17537 134 __HAL_LOCK(htim);
mbed_official 376:cb4d9db17537 135
mbed_official 376:cb4d9db17537 136 /* Change the handler state */
mbed_official 376:cb4d9db17537 137 htim->State = HAL_TIM_STATE_BUSY;
mbed_official 376:cb4d9db17537 138
mbed_official 376:cb4d9db17537 139 /* Reset the MMS Bits */
mbed_official 376:cb4d9db17537 140 htim->Instance->CR2 &= ~TIM_CR2_MMS;
mbed_official 376:cb4d9db17537 141 /* Select the TRGO source */
mbed_official 376:cb4d9db17537 142 htim->Instance->CR2 |= sMasterConfig->MasterOutputTrigger;
mbed_official 376:cb4d9db17537 143
mbed_official 376:cb4d9db17537 144 /* Reset the MSM Bit */
mbed_official 376:cb4d9db17537 145 htim->Instance->SMCR &= ~TIM_SMCR_MSM;
mbed_official 376:cb4d9db17537 146 /* Set or Reset the MSM Bit */
mbed_official 376:cb4d9db17537 147 htim->Instance->SMCR |= sMasterConfig->MasterSlaveMode;
mbed_official 376:cb4d9db17537 148
mbed_official 376:cb4d9db17537 149 htim->State = HAL_TIM_STATE_READY;
mbed_official 376:cb4d9db17537 150
mbed_official 376:cb4d9db17537 151 __HAL_UNLOCK(htim);
mbed_official 376:cb4d9db17537 152
mbed_official 376:cb4d9db17537 153 return HAL_OK;
mbed_official 376:cb4d9db17537 154 }
mbed_official 376:cb4d9db17537 155
mbed_official 489:119543c9f674 156
mbed_official 489:119543c9f674 157 #if defined (STM32L071xx) || defined (STM32L072xx) || defined (STM32L073xx) \
mbed_official 489:119543c9f674 158 || defined (STM32L081xx) || defined (STM32L082xx) || defined (STM32L083xx)
mbed_official 489:119543c9f674 159
mbed_official 376:cb4d9db17537 160 /**
mbed_official 489:119543c9f674 161 * @brief Configures the remapping of the TIM2, TIM3, TIM21 and TIM22 inputs.
mbed_official 489:119543c9f674 162 * The channel inputs (T1..T4) and the Trigger input (ETR) of the
mbed_official 489:119543c9f674 163 * timers can be remaped thanks to this function. When an input is
mbed_official 489:119543c9f674 164 * mapped, on a GPIO, refer yourself to the GPIO alternate functions
mbed_official 489:119543c9f674 165 * for more details.
mbed_official 489:119543c9f674 166 * @note It is not possible to connect TIM2 and TIM21 on
mbed_official 489:119543c9f674 167 * GPIOB5_AF4 at the same time.
mbed_official 489:119543c9f674 168 * When selecting TIM3_TI2_GPIOB5_AF4, Channel2 of TIM3 will be
mbed_official 489:119543c9f674 169 * connected to GPIOB5_AF4 and Channel2 of TIM22 will be connected to
mbed_official 489:119543c9f674 170 * some other GPIOs. (refer to alternate functions for more details)
mbed_official 489:119543c9f674 171 * When selecting TIM3_TI2_GPIO_DEF, Channel2 of Timer 3 will be
mbed_official 489:119543c9f674 172 * connected an GPIO (other than GPIOB5_AF4) and Channel2 of TIM22
mbed_official 489:119543c9f674 173 * will be connected to GPIOB5_AF4.
mbed_official 489:119543c9f674 174 *
mbed_official 376:cb4d9db17537 175 * @param htim: pointer to a TIM_HandleTypeDef structure that contains
mbed_official 489:119543c9f674 176 * the configuration information for TIM module.
mbed_official 489:119543c9f674 177 * @param Remap: specifies the TIM input remapping source.
mbed_official 489:119543c9f674 178 * This parameter is a combination of the following values
mbed_official 489:119543c9f674 179 * depending on TIM instance:
mbed_official 489:119543c9f674 180 *
mbed_official 489:119543c9f674 181 * For TIM2, the parameter can have the following values:
mbed_official 489:119543c9f674 182 * @arg TIM2_ETR_GPIO: TIM2 ETR connected to GPIO (default):
mbed_official 489:119543c9f674 183 * GPIOA(0)_AF5 or GPIOA(5)_AF2 or
mbed_official 489:119543c9f674 184 * GPIOA(15)_AF2 or GPIOE(9)_AF2
mbed_official 489:119543c9f674 185 * @arg TIM2_ETR_HSI48: TIM2 ETR connected to HSI48
mbed_official 489:119543c9f674 186 * @arg TIM2_ETR_LSE: TIM2 ETR connected to LSE
mbed_official 489:119543c9f674 187 * @arg TIM2_ETR_COMP2_OUT: TIM2 ETR connected to COMP2 output
mbed_official 489:119543c9f674 188 * @arg TIM2_ETR_COMP1_OUT: TIM2 ETR connected to COMP1 output
mbed_official 489:119543c9f674 189 * @arg TIM2_TI4_GPIO : TIM2 TI4 connected to GPIO1(default):
mbed_official 489:119543c9f674 190 * GPIOA(3)_AF2 or GPIOB(11)_AF2 or
mbed_official 489:119543c9f674 191 * GPIOE(12)_AF0
mbed_official 489:119543c9f674 192 * @arg TIM2_TI4_COMP1: TIM2 TI4 connected to COMP1
mbed_official 489:119543c9f674 193 * @arg TIM2_TI4_COMP2: TIM2 TI4 connected to COMP2
mbed_official 489:119543c9f674 194 *
mbed_official 489:119543c9f674 195 * For TIM3, the parameter can have the following values:
mbed_official 489:119543c9f674 196 * @arg TIM3_ETR_GPIO: TIM3 ETR connected to GPIO (default):
mbed_official 489:119543c9f674 197 * GPIOE(2)_AF2 or GPIOD(2)_AF2 or
mbed_official 489:119543c9f674 198 * GPIOE(2)AF2
mbed_official 489:119543c9f674 199 * @arg TIM3_ETR_HSI: TIM3 ETR connected to HSI
mbed_official 489:119543c9f674 200 * @arg TIM3_TI1_USB_SOF: TIM3 TI1 connected to USB_SOF (default)
mbed_official 489:119543c9f674 201 * @arg TIM3_TI1_GPIO: TIM3 TI1 connected to GPIO :
mbed_official 489:119543c9f674 202 * GPIOE(3)_AF2 or GPIOA(6)_AF2 or
mbed_official 489:119543c9f674 203 * GPIOC(6)_AF2 or GPIOB(4)_AF2
mbed_official 489:119543c9f674 204 * @arg TIM3_TI2_GPIOB5_AF4:TIM3 TI3 connected to GPIOB(5)_AF4
mbed_official 489:119543c9f674 205 * (refer to note)
mbed_official 489:119543c9f674 206 * @arg TIM3_TI2_GPIO_DEF: TIM3 TI3 connected to GPIO (default):
mbed_official 489:119543c9f674 207 * GPIO_A(7)_AF2 or GPIO_B(5)_AF4 or
mbed_official 489:119543c9f674 208 * GPIOC(7)_AF2 or GPIOE(7)_AF2
mbed_official 489:119543c9f674 209 * @arg TIM3_TI4_GPIO_DEF: TIM3 TI4 connected to GPIO:
mbed_official 489:119543c9f674 210 * GPIO_B(1)_AF2 or GPIO_E(6)_AF2
mbed_official 489:119543c9f674 211 * @arg TIM3_TI4_GPIOC9_AF2:TIM3 TI4 connected to GPIOC(9)_AF2
mbed_official 489:119543c9f674 212 *
mbed_official 489:119543c9f674 213 * For TIM21, the parameter can have the following values:
mbed_official 489:119543c9f674 214 * @arg TIM21_ETR_GPIO: TIM21 ETR connected to GPIO(default) :
mbed_official 489:119543c9f674 215 * APB2_PC(9)_AF0 or APB2_PA(1)_AF5
mbed_official 489:119543c9f674 216 * @arg TIM21_ETR_COMP2_OUT:TIM21 ETR connected to COMP2 output
mbed_official 489:119543c9f674 217 * @arg TIM21_ETR_COMP1_OUT:TIM21 ETR connected to COMP1 output
mbed_official 489:119543c9f674 218 * @arg TIM21_ETR_LSE: TIM21 ETR connected to LSE
mbed_official 489:119543c9f674 219 * @arg TIM21_TI1_MCO: TIM21 TI1 connected to MCO
mbed_official 489:119543c9f674 220 * @arg TIM21_TI1_RTC_WKUT_IT: TIM21 TI1 connected to RTC WAKEUP interrupt
mbed_official 489:119543c9f674 221 * @arg TIM21_TI1_HSE_RTC: TIM21 TI1 connected to HSE_RTC
mbed_official 489:119543c9f674 222 * @arg TIM21_TI1_MSI: TIM21 TI1 connected to MSI clock
mbed_official 489:119543c9f674 223 * @arg TIM21_TI1_LSE: TIM21 TI1 connected to LSE
mbed_official 489:119543c9f674 224 * @arg TIM21_TI1_LSI: TIM21 TI1 connected to LSI
mbed_official 489:119543c9f674 225 * @arg TIM21_TI1_COMP1_OUT:TIM21 TI1 connected to COMP1_OUT
mbed_official 489:119543c9f674 226 * @arg TIM21_TI1_GPIO: TIM21 TI1 connected to GPIO(default):
mbed_official 489:119543c9f674 227 * GPIOA(2)_AF0 or GPIOB(13)_AF6 or
mbed_official 489:119543c9f674 228 * GPIOE(5)_AF0 or GPIOD(0)_AF0
mbed_official 489:119543c9f674 229 * @arg TIM21_TI2_GPIO: TIM21 TI2 connected to GPIO(default):
mbed_official 489:119543c9f674 230 * GPIOA(3)_AF0 or GPIOB(14)_AF6 or
mbed_official 489:119543c9f674 231 * GPIOE(6)_AF0 or GPIOD(7)_AF1
mbed_official 489:119543c9f674 232 * @arg TIM21_TI2_COMP2_OUT:TIM21 TI2 connected to COMP2 output
mbed_official 489:119543c9f674 233 *
mbed_official 489:119543c9f674 234 * For TIM22, the parameter can have the following values:
mbed_official 489:119543c9f674 235 * @arg TIM22_ETR_LSE: TIM22 ETR connected to LSE
mbed_official 489:119543c9f674 236 * @arg TIM22_ETR_COMP2_OUT:TIM22 ETR connected to COMP2 output
mbed_official 489:119543c9f674 237 * @arg TIM22_ETR_COMP1_OUT:TIM22 ETR connected to COMP1 output
mbed_official 489:119543c9f674 238 * @arg TIM22_ETR_GPIO: TIM22 ETR connected to GPIO(default):
mbed_official 489:119543c9f674 239 * GPIOC(8)_AF0 or GPIOA(4)_AF5
mbed_official 489:119543c9f674 240 * @arg TIM22_TI1_GPIO1: TIM22 TI1 connected to GPIO(default):
mbed_official 489:119543c9f674 241 * GPIOC(6)_AF0 or GPIOA(6)_AF5 or
mbed_official 489:119543c9f674 242 * GPIOB(4)_AF4 or GPIOE(0)_AF3
mbed_official 489:119543c9f674 243 * @arg TIM22_TI1_COMP2_OUT:TIM22 TI1 connected to COMP2 output
mbed_official 489:119543c9f674 244 * @arg TIM22_TI1_COMP1_OUT:TIM22 TI1 connected to COMP1 output
mbed_official 489:119543c9f674 245 * @arg TIM22_TI1_GPIO2: TIM22 TI1 connected to GPIO:
mbed_official 489:119543c9f674 246 * GPIOC(6)_AF0 or GPIOA(6)_AF5 or
mbed_official 489:119543c9f674 247 * GPIOB(4)_AF4 or GPIOE(3)_AF0
mbed_official 489:119543c9f674 248 *
mbed_official 376:cb4d9db17537 249 * @retval HAL status
mbed_official 376:cb4d9db17537 250 */
mbed_official 489:119543c9f674 251 #else
mbed_official 489:119543c9f674 252 /**
mbed_official 489:119543c9f674 253 * @brief Configures the remapping of the TIM2, TIM21 and TIM22 inputs.
mbed_official 489:119543c9f674 254 * The channel inputs (T1..T4) and the Trigger input (ETR) of the
mbed_official 489:119543c9f674 255 * timers can be remaped thanks to this function. When an input is
mbed_official 489:119543c9f674 256 * mapped, on a GPIO, refer yourself to the GPIO alternate functions
mbed_official 489:119543c9f674 257 * for more details.
mbed_official 489:119543c9f674 258 *
mbed_official 489:119543c9f674 259 * @param htim: pointer to a TIM_HandleTypeDef structure that contains
mbed_official 489:119543c9f674 260 * the configuration information for TIM module.
mbed_official 489:119543c9f674 261 * @param Remap: specifies the TIM input remapping source.
mbed_official 489:119543c9f674 262 * This parameter is a combination of the following values
mbed_official 489:119543c9f674 263 * depending on TIM instance:
mbed_official 489:119543c9f674 264 *
mbed_official 489:119543c9f674 265 * For TIM2, the parameter can have the following values:
mbed_official 489:119543c9f674 266 * @arg TIM2_ETR_GPIO: TIM2 ETR connected to GPIO (default):
mbed_official 489:119543c9f674 267 * GPIOA(0)_AF5 or GPIOA(5)_AF2 or
mbed_official 489:119543c9f674 268 * GPIOA(15)_AF2 or GPIOE(9)_AF2
mbed_official 489:119543c9f674 269 * @arg TIM2_ETR_HSI48: TIM2 ETR connected to HSI48
mbed_official 489:119543c9f674 270 * @arg TIM2_ETR_LSE: TIM2 ETR connected to LSE
mbed_official 489:119543c9f674 271 * @arg TIM2_ETR_COMP2_OUT: TIM2 ETR connected to COMP2 output
mbed_official 489:119543c9f674 272 * @arg TIM2_ETR_COMP1_OUT: TIM2 ETR connected to COMP1 output
mbed_official 489:119543c9f674 273 * @arg TIM2_TI4_GPIO: TIM2 TI4 connected to GPIO1(default):
mbed_official 489:119543c9f674 274 * GPIOA(3)_AF2 or GPIOB(11)_AF2 or
mbed_official 489:119543c9f674 275 * GPIOE(12)_AF0
mbed_official 489:119543c9f674 276 * @arg TIM2_TI4_COMP1: TIM2 TI4 connected to COMP1
mbed_official 489:119543c9f674 277 * @arg TIM2_TI4_COMP2: TIM2 TI4 connected to COMP2
mbed_official 489:119543c9f674 278 * @arg TIM2_TI4_GPIO2: TIM2 TI4 connected to GPIO2 :
mbed_official 489:119543c9f674 279 * GPIOA(3)_AF2 or GPIOB(11)_AF2 or
mbed_official 489:119543c9f674 280 * GPIOE(12)_AF0
mbed_official 489:119543c9f674 281 *
mbed_official 489:119543c9f674 282 * For TIM21, the parameter can have the following values:
mbed_official 489:119543c9f674 283 * @arg TIM21_ETR_GPIO: TIM21 ETR connected to GPIO(default) :
mbed_official 489:119543c9f674 284 * APB2_PC(9)_AF0 or APB2_PA(1)_AF5
mbed_official 489:119543c9f674 285 * @arg TIM21_ETR_COMP2_OUT:TIM21 ETR connected to COMP2 output
mbed_official 489:119543c9f674 286 * @arg TIM21_ETR_COMP1_OUT:TIM21 ETR connected to COMP1 output
mbed_official 489:119543c9f674 287 * @arg TIM21_ETR_LSE: TIM21 ETR connected to LSE
mbed_official 489:119543c9f674 288 * @arg TIM21_TI1_MCO: TIM21 TI1 connected to MCO
mbed_official 489:119543c9f674 289 * @arg TIM21_TI1_RTC_WKUT_IT: TIM21 TI1 connected to RTC WAKEUP interrupt
mbed_official 489:119543c9f674 290 * @arg TIM21_TI1_HSE_RTC: TIM21 TI1 connected to HSE_RTC
mbed_official 489:119543c9f674 291 * @arg TIM21_TI1_MSI: TIM21 TI1 connected to MSI clock
mbed_official 489:119543c9f674 292 * @arg TIM21_TI1_LSE: TIM21 TI1 connected to LSE
mbed_official 489:119543c9f674 293 * @arg TIM21_TI1_LSI: TIM21 TI1 connected to LSI
mbed_official 489:119543c9f674 294 * @arg TIM21_TI1_COMP1_OUT:TIM21 TI1 connected to COMP1_OUT
mbed_official 489:119543c9f674 295 * @arg TIM21_TI1_GPIO: TIM21 TI1 connected to GPIO(default):
mbed_official 489:119543c9f674 296 * GPIOA(2)_AF0 or GPIOB(13)_AF6 or
mbed_official 489:119543c9f674 297 * GPIOE(5)_AF0 or GPIOD(0)_AF0
mbed_official 489:119543c9f674 298 * @arg TIM21_TI2_GPIO: TIM21 TI2 connected to GPIO(default):
mbed_official 489:119543c9f674 299 * GPIOA(3)_AF0 or GPIOB(14)_AF6 or
mbed_official 489:119543c9f674 300 * GPIOE(6)_AF0 or GPIOD(7)_AF1
mbed_official 489:119543c9f674 301 * @arg TIM21_TI2_COMP2_OUT:TIM21 TI2 connected to COMP2 output
mbed_official 489:119543c9f674 302 *
mbed_official 489:119543c9f674 303 * For TIM22, the parameter can have the following values:
mbed_official 489:119543c9f674 304 * @arg TIM22_ETR_LSE: TIM22 ETR connected to LSE
mbed_official 489:119543c9f674 305 * @arg TIM22_ETR_COMP2_OUT:TIM22 ETR connected to COMP2 output
mbed_official 489:119543c9f674 306 * @arg TIM22_ETR_COMP1_OUT:TIM22 ETR connected to COMP1 output
mbed_official 489:119543c9f674 307 * @arg TIM22_ETR_GPIO: TIM22 ETR connected to GPIO(default):
mbed_official 489:119543c9f674 308 * GPIOC(8)_AF0 or GPIOA(4)_AF5
mbed_official 489:119543c9f674 309 * @arg TIM22_TI1_GPIO1: TIM22 TI1 connected to GPIO(default):
mbed_official 489:119543c9f674 310 * GPIOC(6)_AF0 or GPIOA(6)_AF5 or
mbed_official 489:119543c9f674 311 * GPIOB(4)_AF4 or GPIOE(0)_AF3
mbed_official 489:119543c9f674 312 * @arg TIM22_TI1_COMP2_OUT:TIM22 TI1 connected to COMP2 output
mbed_official 489:119543c9f674 313 * @arg TIM22_TI1_COMP1_OUT:TIM22 TI1 connected to COMP1 output
mbed_official 489:119543c9f674 314 * @arg TIM22_TI1_GPIO2: TIM22 TI1 connected to GPIO:
mbed_official 489:119543c9f674 315 * GPIOC(6)_AF0 or GPIOA(6)_AF5 or
mbed_official 489:119543c9f674 316 * GPIOB(4)_AF4 or GPIOE(3)_AF0
mbed_official 489:119543c9f674 317 *
mbed_official 489:119543c9f674 318 * @retval HAL status
mbed_official 489:119543c9f674 319 */
mbed_official 489:119543c9f674 320
mbed_official 489:119543c9f674 321 #endif /* STM32L07xxx or STM32L08xxx */
mbed_official 489:119543c9f674 322
mbed_official 376:cb4d9db17537 323 HAL_StatusTypeDef HAL_TIMEx_RemapConfig(TIM_HandleTypeDef *htim, uint32_t Remap)
mbed_official 376:cb4d9db17537 324 {
mbed_official 489:119543c9f674 325
mbed_official 489:119543c9f674 326 __HAL_LOCK(htim);
mbed_official 489:119543c9f674 327
mbed_official 376:cb4d9db17537 328 /* Check parameters */
mbed_official 489:119543c9f674 329 assert_param(IS_TIM_REMAP(htim->Instance,Remap));
mbed_official 489:119543c9f674 330
mbed_official 376:cb4d9db17537 331 /* Set the Timer remapping configuration */
mbed_official 489:119543c9f674 332 htim->Instance->OR = Remap;
mbed_official 489:119543c9f674 333
mbed_official 376:cb4d9db17537 334 htim->State = HAL_TIM_STATE_READY;
mbed_official 489:119543c9f674 335
mbed_official 489:119543c9f674 336 __HAL_UNLOCK(htim);
mbed_official 489:119543c9f674 337
mbed_official 376:cb4d9db17537 338 return HAL_OK;
mbed_official 376:cb4d9db17537 339 }
mbed_official 376:cb4d9db17537 340
mbed_official 376:cb4d9db17537 341 /**
mbed_official 376:cb4d9db17537 342 * @}
mbed_official 376:cb4d9db17537 343 */
mbed_official 376:cb4d9db17537 344
mbed_official 376:cb4d9db17537 345 /**
mbed_official 376:cb4d9db17537 346 * @}
mbed_official 376:cb4d9db17537 347 */
mbed_official 376:cb4d9db17537 348
mbed_official 376:cb4d9db17537 349 #endif /* HAL_TIM_MODULE_ENABLED */
mbed_official 376:cb4d9db17537 350 /**
mbed_official 376:cb4d9db17537 351 * @}
mbed_official 376:cb4d9db17537 352 */
mbed_official 376:cb4d9db17537 353
mbed_official 376:cb4d9db17537 354 /**
mbed_official 376:cb4d9db17537 355 * @}
mbed_official 376:cb4d9db17537 356 */
mbed_official 376:cb4d9db17537 357 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/