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

Dependents:   hello SerialTestv11 SerialTestv12 Sierpinski ... more

mbed 2

This is the mbed 2 library. If you'd like to learn about Mbed OS please see the mbed-os docs.

Committer:
Anna Bridge
Date:
Wed Jan 17 16:13:02 2018 +0000
Revision:
160:5571c4ff569f
Child:
163:e59c8e839560
mbed library. Release version 158

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Anna Bridge 160:5571c4ff569f 1 /**
Anna Bridge 160:5571c4ff569f 2 ******************************************************************************
Anna Bridge 160:5571c4ff569f 3 * @file stm32f4xx_ll_lptim.h
Anna Bridge 160:5571c4ff569f 4 * @author MCD Application Team
Anna Bridge 160:5571c4ff569f 5 * @version V1.7.1
Anna Bridge 160:5571c4ff569f 6 * @date 14-April-2017
Anna Bridge 160:5571c4ff569f 7 * @brief Header file of LPTIM LL module.
Anna Bridge 160:5571c4ff569f 8 ******************************************************************************
Anna Bridge 160:5571c4ff569f 9 * @attention
Anna Bridge 160:5571c4ff569f 10 *
Anna Bridge 160:5571c4ff569f 11 * <h2><center>&copy; COPYRIGHT(c) 2017 STMicroelectronics</center></h2>
Anna Bridge 160:5571c4ff569f 12 *
Anna Bridge 160:5571c4ff569f 13 * Redistribution and use in source and binary forms, with or without modification,
Anna Bridge 160:5571c4ff569f 14 * are permitted provided that the following conditions are met:
Anna Bridge 160:5571c4ff569f 15 * 1. Redistributions of source code must retain the above copyright notice,
Anna Bridge 160:5571c4ff569f 16 * this list of conditions and the following disclaimer.
Anna Bridge 160:5571c4ff569f 17 * 2. Redistributions in binary form must reproduce the above copyright notice,
Anna Bridge 160:5571c4ff569f 18 * this list of conditions and the following disclaimer in the documentation
Anna Bridge 160:5571c4ff569f 19 * and/or other materials provided with the distribution.
Anna Bridge 160:5571c4ff569f 20 * 3. Neither the name of STMicroelectronics nor the names of its contributors
Anna Bridge 160:5571c4ff569f 21 * may be used to endorse or promote products derived from this software
Anna Bridge 160:5571c4ff569f 22 * without specific prior written permission.
Anna Bridge 160:5571c4ff569f 23 *
Anna Bridge 160:5571c4ff569f 24 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
Anna Bridge 160:5571c4ff569f 25 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
Anna Bridge 160:5571c4ff569f 26 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
Anna Bridge 160:5571c4ff569f 27 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
Anna Bridge 160:5571c4ff569f 28 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
Anna Bridge 160:5571c4ff569f 29 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
Anna Bridge 160:5571c4ff569f 30 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
Anna Bridge 160:5571c4ff569f 31 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
Anna Bridge 160:5571c4ff569f 32 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
Anna Bridge 160:5571c4ff569f 33 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Anna Bridge 160:5571c4ff569f 34 *
Anna Bridge 160:5571c4ff569f 35 ******************************************************************************
Anna Bridge 160:5571c4ff569f 36 */
Anna Bridge 160:5571c4ff569f 37
Anna Bridge 160:5571c4ff569f 38 /* Define to prevent recursive inclusion -------------------------------------*/
Anna Bridge 160:5571c4ff569f 39 #ifndef __STM32F4xx_LL_LPTIM_H
Anna Bridge 160:5571c4ff569f 40 #define __STM32F4xx_LL_LPTIM_H
Anna Bridge 160:5571c4ff569f 41
Anna Bridge 160:5571c4ff569f 42 #ifdef __cplusplus
Anna Bridge 160:5571c4ff569f 43 extern "C" {
Anna Bridge 160:5571c4ff569f 44 #endif
Anna Bridge 160:5571c4ff569f 45
Anna Bridge 160:5571c4ff569f 46 /* Includes ------------------------------------------------------------------*/
Anna Bridge 160:5571c4ff569f 47 #include "stm32f4xx.h"
Anna Bridge 160:5571c4ff569f 48
Anna Bridge 160:5571c4ff569f 49 /** @addtogroup STM32F4xx_LL_Driver
Anna Bridge 160:5571c4ff569f 50 * @{
Anna Bridge 160:5571c4ff569f 51 */
Anna Bridge 160:5571c4ff569f 52 #if defined (LPTIM1)
Anna Bridge 160:5571c4ff569f 53
Anna Bridge 160:5571c4ff569f 54 /** @defgroup LPTIM_LL LPTIM
Anna Bridge 160:5571c4ff569f 55 * @{
Anna Bridge 160:5571c4ff569f 56 */
Anna Bridge 160:5571c4ff569f 57
Anna Bridge 160:5571c4ff569f 58 /* Private types -------------------------------------------------------------*/
Anna Bridge 160:5571c4ff569f 59 /* Private variables ---------------------------------------------------------*/
Anna Bridge 160:5571c4ff569f 60
Anna Bridge 160:5571c4ff569f 61 /* Private constants ---------------------------------------------------------*/
Anna Bridge 160:5571c4ff569f 62
Anna Bridge 160:5571c4ff569f 63 /* Private macros ------------------------------------------------------------*/
Anna Bridge 160:5571c4ff569f 64 #if defined(USE_FULL_LL_DRIVER)
Anna Bridge 160:5571c4ff569f 65 /** @defgroup LPTIM_LL_Private_Macros LPTIM Private Macros
Anna Bridge 160:5571c4ff569f 66 * @{
Anna Bridge 160:5571c4ff569f 67 */
Anna Bridge 160:5571c4ff569f 68 /**
Anna Bridge 160:5571c4ff569f 69 * @}
Anna Bridge 160:5571c4ff569f 70 */
Anna Bridge 160:5571c4ff569f 71 #endif /*USE_FULL_LL_DRIVER*/
Anna Bridge 160:5571c4ff569f 72
Anna Bridge 160:5571c4ff569f 73 /* Exported types ------------------------------------------------------------*/
Anna Bridge 160:5571c4ff569f 74 #if defined(USE_FULL_LL_DRIVER)
Anna Bridge 160:5571c4ff569f 75 /** @defgroup LPTIM_LL_ES_INIT LPTIM Exported Init structure
Anna Bridge 160:5571c4ff569f 76 * @{
Anna Bridge 160:5571c4ff569f 77 */
Anna Bridge 160:5571c4ff569f 78
Anna Bridge 160:5571c4ff569f 79 /**
Anna Bridge 160:5571c4ff569f 80 * @brief LPTIM Init structure definition
Anna Bridge 160:5571c4ff569f 81 */
Anna Bridge 160:5571c4ff569f 82 typedef struct
Anna Bridge 160:5571c4ff569f 83 {
Anna Bridge 160:5571c4ff569f 84 uint32_t ClockSource; /*!< Specifies the source of the clock used by the LPTIM instance.
Anna Bridge 160:5571c4ff569f 85 This parameter can be a value of @ref LPTIM_LL_EC_CLK_SOURCE.
Anna Bridge 160:5571c4ff569f 86
Anna Bridge 160:5571c4ff569f 87 This feature can be modified afterwards using unitary function @ref LL_LPTIM_SetClockSource().*/
Anna Bridge 160:5571c4ff569f 88
Anna Bridge 160:5571c4ff569f 89 uint32_t Prescaler; /*!< Specifies the prescaler division ratio.
Anna Bridge 160:5571c4ff569f 90 This parameter can be a value of @ref LPTIM_LL_EC_PRESCALER.
Anna Bridge 160:5571c4ff569f 91
Anna Bridge 160:5571c4ff569f 92 This feature can be modified afterwards using using unitary function @ref LL_LPTIM_SetPrescaler().*/
Anna Bridge 160:5571c4ff569f 93
Anna Bridge 160:5571c4ff569f 94 uint32_t Waveform; /*!< Specifies the waveform shape.
Anna Bridge 160:5571c4ff569f 95 This parameter can be a value of @ref LPTIM_LL_EC_OUTPUT_WAVEFORM.
Anna Bridge 160:5571c4ff569f 96
Anna Bridge 160:5571c4ff569f 97 This feature can be modified afterwards using unitary function @ref LL_LPTIM_ConfigOutput().*/
Anna Bridge 160:5571c4ff569f 98
Anna Bridge 160:5571c4ff569f 99 uint32_t Polarity; /*!< Specifies waveform polarity.
Anna Bridge 160:5571c4ff569f 100 This parameter can be a value of @ref LPTIM_LL_EC_OUTPUT_POLARITY.
Anna Bridge 160:5571c4ff569f 101
Anna Bridge 160:5571c4ff569f 102 This feature can be modified afterwards using unitary function @ref LL_LPTIM_ConfigOutput().*/
Anna Bridge 160:5571c4ff569f 103 } LL_LPTIM_InitTypeDef;
Anna Bridge 160:5571c4ff569f 104
Anna Bridge 160:5571c4ff569f 105 /**
Anna Bridge 160:5571c4ff569f 106 * @}
Anna Bridge 160:5571c4ff569f 107 */
Anna Bridge 160:5571c4ff569f 108 #endif /* USE_FULL_LL_DRIVER */
Anna Bridge 160:5571c4ff569f 109
Anna Bridge 160:5571c4ff569f 110 /* Exported constants --------------------------------------------------------*/
Anna Bridge 160:5571c4ff569f 111 /** @defgroup LPTIM_LL_Exported_Constants LPTIM Exported Constants
Anna Bridge 160:5571c4ff569f 112 * @{
Anna Bridge 160:5571c4ff569f 113 */
Anna Bridge 160:5571c4ff569f 114
Anna Bridge 160:5571c4ff569f 115 /** @defgroup LPTIM_LL_EC_GET_FLAG Get Flags Defines
Anna Bridge 160:5571c4ff569f 116 * @brief Flags defines which can be used with LL_LPTIM_ReadReg function
Anna Bridge 160:5571c4ff569f 117 * @{
Anna Bridge 160:5571c4ff569f 118 */
Anna Bridge 160:5571c4ff569f 119 #define LL_LPTIM_ISR_CMPM LPTIM_ISR_CMPM /*!< Compare match */
Anna Bridge 160:5571c4ff569f 120 #define LL_LPTIM_ISR_ARRM LPTIM_ISR_ARRM /*!< Autoreload match */
Anna Bridge 160:5571c4ff569f 121 #define LL_LPTIM_ISR_EXTTRIG LPTIM_ISR_EXTTRIG /*!< External trigger edge event */
Anna Bridge 160:5571c4ff569f 122 #define LL_LPTIM_ISR_CMPOK LPTIM_ISR_CMPOK /*!< Compare register update OK */
Anna Bridge 160:5571c4ff569f 123 #define LL_LPTIM_ISR_ARROK LPTIM_ISR_ARROK /*!< Autoreload register update OK */
Anna Bridge 160:5571c4ff569f 124 #define LL_LPTIM_ISR_UP LPTIM_ISR_UP /*!< Counter direction change down to up */
Anna Bridge 160:5571c4ff569f 125 #define LL_LPTIM_ISR_DOWN LPTIM_ISR_DOWN /*!< Counter direction change up to down */
Anna Bridge 160:5571c4ff569f 126 /**
Anna Bridge 160:5571c4ff569f 127 * @}
Anna Bridge 160:5571c4ff569f 128 */
Anna Bridge 160:5571c4ff569f 129
Anna Bridge 160:5571c4ff569f 130 /** @defgroup LPTIM_LL_EC_IT IT Defines
Anna Bridge 160:5571c4ff569f 131 * @brief IT defines which can be used with LL_LPTIM_ReadReg and LL_LPTIM_WriteReg functions
Anna Bridge 160:5571c4ff569f 132 * @{
Anna Bridge 160:5571c4ff569f 133 */
Anna Bridge 160:5571c4ff569f 134 #define LL_LPTIM_IER_CMPMIE LPTIM_IER_CMPMIE /*!< Compare match Interrupt Enable */
Anna Bridge 160:5571c4ff569f 135 #define LL_LPTIM_IER_ARRMIE LPTIM_IER_ARRMIE /*!< Autoreload match Interrupt Enable */
Anna Bridge 160:5571c4ff569f 136 #define LL_LPTIM_IER_EXTTRIGIE LPTIM_IER_EXTTRIGIE /*!< External trigger valid edge Interrupt Enable */
Anna Bridge 160:5571c4ff569f 137 #define LL_LPTIM_IER_CMPOKIE LPTIM_IER_CMPOKIE /*!< Compare register update OK Interrupt Enable */
Anna Bridge 160:5571c4ff569f 138 #define LL_LPTIM_IER_ARROKIE LPTIM_IER_ARROKIE /*!< Autoreload register update OK Interrupt Enable */
Anna Bridge 160:5571c4ff569f 139 #define LL_LPTIM_IER_UPIE LPTIM_IER_UPIE /*!< Direction change to UP Interrupt Enable */
Anna Bridge 160:5571c4ff569f 140 #define LL_LPTIM_IER_DOWNIE LPTIM_IER_DOWNIE /*!< Direction change to down Interrupt Enable */
Anna Bridge 160:5571c4ff569f 141 /**
Anna Bridge 160:5571c4ff569f 142 * @}
Anna Bridge 160:5571c4ff569f 143 */
Anna Bridge 160:5571c4ff569f 144
Anna Bridge 160:5571c4ff569f 145 /** @defgroup LPTIM_LL_EC_OPERATING_MODE Operating Mode
Anna Bridge 160:5571c4ff569f 146 * @{
Anna Bridge 160:5571c4ff569f 147 */
Anna Bridge 160:5571c4ff569f 148 #define LL_LPTIM_OPERATING_MODE_CONTINUOUS LPTIM_CR_CNTSTRT /*!<LP Timer starts in continuous mode*/
Anna Bridge 160:5571c4ff569f 149 #define LL_LPTIM_OPERATING_MODE_ONESHOT LPTIM_CR_SNGSTRT /*!<LP Tilmer starts in single mode*/
Anna Bridge 160:5571c4ff569f 150 /**
Anna Bridge 160:5571c4ff569f 151 * @}
Anna Bridge 160:5571c4ff569f 152 */
Anna Bridge 160:5571c4ff569f 153
Anna Bridge 160:5571c4ff569f 154 /** @defgroup LPTIM_LL_EC_UPDATE_MODE Update Mode
Anna Bridge 160:5571c4ff569f 155 * @{
Anna Bridge 160:5571c4ff569f 156 */
Anna Bridge 160:5571c4ff569f 157 #define LL_LPTIM_UPDATE_MODE_IMMEDIATE 0x00000000U /*!<Preload is disabled: registers are updated after each APB bus write access*/
Anna Bridge 160:5571c4ff569f 158 #define LL_LPTIM_UPDATE_MODE_ENDOFPERIOD LPTIM_CFGR_PRELOAD /*!<preload is enabled: registers are updated at the end of the current LPTIM period*/
Anna Bridge 160:5571c4ff569f 159 /**
Anna Bridge 160:5571c4ff569f 160 * @}
Anna Bridge 160:5571c4ff569f 161 */
Anna Bridge 160:5571c4ff569f 162
Anna Bridge 160:5571c4ff569f 163 /** @defgroup LPTIM_LL_EC_COUNTER_MODE Counter Mode
Anna Bridge 160:5571c4ff569f 164 * @{
Anna Bridge 160:5571c4ff569f 165 */
Anna Bridge 160:5571c4ff569f 166 #define LL_LPTIM_COUNTER_MODE_INTERNAL 0x00000000U /*!<The counter is incremented following each internal clock pulse*/
Anna Bridge 160:5571c4ff569f 167 #define LL_LPTIM_COUNTER_MODE_EXTERNAL LPTIM_CFGR_COUNTMODE /*!<The counter is incremented following each valid clock pulse on the LPTIM external Input1*/
Anna Bridge 160:5571c4ff569f 168 /**
Anna Bridge 160:5571c4ff569f 169 * @}
Anna Bridge 160:5571c4ff569f 170 */
Anna Bridge 160:5571c4ff569f 171
Anna Bridge 160:5571c4ff569f 172 /** @defgroup LPTIM_LL_EC_OUTPUT_WAVEFORM Output Waveform Type
Anna Bridge 160:5571c4ff569f 173 * @{
Anna Bridge 160:5571c4ff569f 174 */
Anna Bridge 160:5571c4ff569f 175 #define LL_LPTIM_OUTPUT_WAVEFORM_PWM 0x00000000U /*!<LPTIM generates either a PWM waveform or a One pulse waveform depending on chosen operating mode CONTINOUS or SINGLE*/
Anna Bridge 160:5571c4ff569f 176 #define LL_LPTIM_OUTPUT_WAVEFORM_SETONCE LPTIM_CFGR_WAVE /*!<LPTIM generates a Set Once waveform*/
Anna Bridge 160:5571c4ff569f 177 /**
Anna Bridge 160:5571c4ff569f 178 * @}
Anna Bridge 160:5571c4ff569f 179 */
Anna Bridge 160:5571c4ff569f 180
Anna Bridge 160:5571c4ff569f 181 /** @defgroup LPTIM_LL_EC_OUTPUT_POLARITY Output Polarity
Anna Bridge 160:5571c4ff569f 182 * @{
Anna Bridge 160:5571c4ff569f 183 */
Anna Bridge 160:5571c4ff569f 184 #define LL_LPTIM_OUTPUT_POLARITY_REGULAR 0x00000000U /*!<The LPTIM output reflects the compare results between LPTIMx_ARR and LPTIMx_CMP registers*/
Anna Bridge 160:5571c4ff569f 185 #define LL_LPTIM_OUTPUT_POLARITY_INVERSE LPTIM_CFGR_WAVPOL /*!<The LPTIM output reflects the inverse of the compare results between LPTIMx_ARR and LPTIMx_CMP registers*/
Anna Bridge 160:5571c4ff569f 186 /**
Anna Bridge 160:5571c4ff569f 187 * @}
Anna Bridge 160:5571c4ff569f 188 */
Anna Bridge 160:5571c4ff569f 189
Anna Bridge 160:5571c4ff569f 190 /** @defgroup LPTIM_LL_EC_PRESCALER Prescaler Value
Anna Bridge 160:5571c4ff569f 191 * @{
Anna Bridge 160:5571c4ff569f 192 */
Anna Bridge 160:5571c4ff569f 193 #define LL_LPTIM_PRESCALER_DIV1 0x00000000U /*!<Prescaler division factor is set to 1*/
Anna Bridge 160:5571c4ff569f 194 #define LL_LPTIM_PRESCALER_DIV2 LPTIM_CFGR_PRESC_0 /*!<Prescaler division factor is set to 2*/
Anna Bridge 160:5571c4ff569f 195 #define LL_LPTIM_PRESCALER_DIV4 LPTIM_CFGR_PRESC_1 /*!<Prescaler division factor is set to 4*/
Anna Bridge 160:5571c4ff569f 196 #define LL_LPTIM_PRESCALER_DIV8 (LPTIM_CFGR_PRESC_1 | LPTIM_CFGR_PRESC_0) /*!<Prescaler division factor is set to 8*/
Anna Bridge 160:5571c4ff569f 197 #define LL_LPTIM_PRESCALER_DIV16 LPTIM_CFGR_PRESC_2 /*!<Prescaler division factor is set to 16*/
Anna Bridge 160:5571c4ff569f 198 #define LL_LPTIM_PRESCALER_DIV32 (LPTIM_CFGR_PRESC_2 | LPTIM_CFGR_PRESC_0) /*!<Prescaler division factor is set to 32*/
Anna Bridge 160:5571c4ff569f 199 #define LL_LPTIM_PRESCALER_DIV64 (LPTIM_CFGR_PRESC_2 | LPTIM_CFGR_PRESC_1) /*!<Prescaler division factor is set to 64*/
Anna Bridge 160:5571c4ff569f 200 #define LL_LPTIM_PRESCALER_DIV128 LPTIM_CFGR_PRESC /*!<Prescaler division factor is set to 128*/
Anna Bridge 160:5571c4ff569f 201 /**
Anna Bridge 160:5571c4ff569f 202 * @}
Anna Bridge 160:5571c4ff569f 203 */
Anna Bridge 160:5571c4ff569f 204
Anna Bridge 160:5571c4ff569f 205 /** @defgroup LPTIM_LL_EC_TRIG_SOURCE Trigger Source
Anna Bridge 160:5571c4ff569f 206 * @{
Anna Bridge 160:5571c4ff569f 207 */
Anna Bridge 160:5571c4ff569f 208 #define LL_LPTIM_TRIG_SOURCE_GPIO 0x00000000U /*!<External input trigger is connected to TIMx_ETR input*/
Anna Bridge 160:5571c4ff569f 209 #define LL_LPTIM_TRIG_SOURCE_RTCALARMA LPTIM_CFGR_TRIGSEL_0 /*!<External input trigger is connected to RTC Alarm A*/
Anna Bridge 160:5571c4ff569f 210 #define LL_LPTIM_TRIG_SOURCE_RTCALARMB LPTIM_CFGR_TRIGSEL_1 /*!<External input trigger is connected to RTC Alarm B*/
Anna Bridge 160:5571c4ff569f 211 #define LL_LPTIM_TRIG_SOURCE_RTCTAMP1 (LPTIM_CFGR_TRIGSEL_1 | LPTIM_CFGR_TRIGSEL_0) /*!<External input trigger is connected to RTC Tamper 1*/
Anna Bridge 160:5571c4ff569f 212 #define LL_LPTIM_TRIG_SOURCE_TIM1_TRGO LPTIM_CFGR_TRIGSEL_2 /*!<External input trigger is connected to TIM1*/
Anna Bridge 160:5571c4ff569f 213 #define LL_LPTIM_TRIG_SOURCE_TIM5_TRGO (LPTIM_CFGR_TRIGSEL_2 | LPTIM_CFGR_TRIGSEL_0) /*!<External input trigger is connected to TIM5*/
Anna Bridge 160:5571c4ff569f 214 /**
Anna Bridge 160:5571c4ff569f 215 * @}
Anna Bridge 160:5571c4ff569f 216 */
Anna Bridge 160:5571c4ff569f 217
Anna Bridge 160:5571c4ff569f 218 /** @defgroup LPTIM_LL_EC_TRIG_FILTER Trigger Filter
Anna Bridge 160:5571c4ff569f 219 * @{
Anna Bridge 160:5571c4ff569f 220 */
Anna Bridge 160:5571c4ff569f 221 #define LL_LPTIM_TRIG_FILTER_NONE 0x00000000U /*!<Any trigger active level change is considered as a valid trigger*/
Anna Bridge 160:5571c4ff569f 222 #define LL_LPTIM_TRIG_FILTER_2 LPTIM_CFGR_TRGFLT_0 /*!<Trigger active level change must be stable for at least 2 clock periods before it is considered as valid trigger*/
Anna Bridge 160:5571c4ff569f 223 #define LL_LPTIM_TRIG_FILTER_4 LPTIM_CFGR_TRGFLT_1 /*!<Trigger active level change must be stable for at least 4 clock periods before it is considered as valid trigger*/
Anna Bridge 160:5571c4ff569f 224 #define LL_LPTIM_TRIG_FILTER_8 LPTIM_CFGR_TRGFLT /*!<Trigger active level change must be stable for at least 8 clock periods before it is considered as valid trigger*/
Anna Bridge 160:5571c4ff569f 225 /**
Anna Bridge 160:5571c4ff569f 226 * @}
Anna Bridge 160:5571c4ff569f 227 */
Anna Bridge 160:5571c4ff569f 228
Anna Bridge 160:5571c4ff569f 229 /** @defgroup LPTIM_LL_EC_TRIG_POLARITY Trigger Polarity
Anna Bridge 160:5571c4ff569f 230 * @{
Anna Bridge 160:5571c4ff569f 231 */
Anna Bridge 160:5571c4ff569f 232 #define LL_LPTIM_TRIG_POLARITY_RISING LPTIM_CFGR_TRIGEN_0 /*!<LPTIM counter starts when a rising edge is detected*/
Anna Bridge 160:5571c4ff569f 233 #define LL_LPTIM_TRIG_POLARITY_FALLING LPTIM_CFGR_TRIGEN_1 /*!<LPTIM counter starts when a falling edge is detected*/
Anna Bridge 160:5571c4ff569f 234 #define LL_LPTIM_TRIG_POLARITY_RISING_FALLING LPTIM_CFGR_TRIGEN /*!<LPTIM counter starts when a rising or a falling edge is detected*/
Anna Bridge 160:5571c4ff569f 235 /**
Anna Bridge 160:5571c4ff569f 236 * @}
Anna Bridge 160:5571c4ff569f 237 */
Anna Bridge 160:5571c4ff569f 238
Anna Bridge 160:5571c4ff569f 239 /** @defgroup LPTIM_LL_EC_CLK_SOURCE Clock Source
Anna Bridge 160:5571c4ff569f 240 * @{
Anna Bridge 160:5571c4ff569f 241 */
Anna Bridge 160:5571c4ff569f 242 #define LL_LPTIM_CLK_SOURCE_INTERNAL 0x00000000U /*!<LPTIM is clocked by internal clock source (APB clock or any of the embedded oscillators)*/
Anna Bridge 160:5571c4ff569f 243 #define LL_LPTIM_CLK_SOURCE_EXTERNAL LPTIM_CFGR_CKSEL /*!<LPTIM is clocked by an external clock source through the LPTIM external Input1*/
Anna Bridge 160:5571c4ff569f 244 /**
Anna Bridge 160:5571c4ff569f 245 * @}
Anna Bridge 160:5571c4ff569f 246 */
Anna Bridge 160:5571c4ff569f 247
Anna Bridge 160:5571c4ff569f 248 /** @defgroup LPTIM_LL_EC_CLK_FILTER Clock Filter
Anna Bridge 160:5571c4ff569f 249 * @{
Anna Bridge 160:5571c4ff569f 250 */
Anna Bridge 160:5571c4ff569f 251 #define LL_LPTIM_CLK_FILTER_NONE 0x00000000U /*!<Any external clock signal level change is considered as a valid transition*/
Anna Bridge 160:5571c4ff569f 252 #define LL_LPTIM_CLK_FILTER_2 LPTIM_CFGR_CKFLT_0 /*!<External clock signal level change must be stable for at least 2 clock periods before it is considered as valid transition*/
Anna Bridge 160:5571c4ff569f 253 #define LL_LPTIM_CLK_FILTER_4 LPTIM_CFGR_CKFLT_1 /*!<External clock signal level change must be stable for at least 4 clock periods before it is considered as valid transition*/
Anna Bridge 160:5571c4ff569f 254 #define LL_LPTIM_CLK_FILTER_8 LPTIM_CFGR_CKFLT /*!<External clock signal level change must be stable for at least 8 clock periods before it is considered as valid transition*/
Anna Bridge 160:5571c4ff569f 255 /**
Anna Bridge 160:5571c4ff569f 256 * @}
Anna Bridge 160:5571c4ff569f 257 */
Anna Bridge 160:5571c4ff569f 258
Anna Bridge 160:5571c4ff569f 259 /** @defgroup LPTIM_LL_EC_CLK_POLARITY Clock Polarity
Anna Bridge 160:5571c4ff569f 260 * @{
Anna Bridge 160:5571c4ff569f 261 */
Anna Bridge 160:5571c4ff569f 262 #define LL_LPTIM_CLK_POLARITY_RISING 0x00000000U /*!< The rising edge is the active edge used for counting*/
Anna Bridge 160:5571c4ff569f 263 #define LL_LPTIM_CLK_POLARITY_FALLING LPTIM_CFGR_CKPOL_0 /*!< The falling edge is the active edge used for counting*/
Anna Bridge 160:5571c4ff569f 264 #define LL_LPTIM_CLK_POLARITY_RISING_FALLING LPTIM_CFGR_CKPOL_1 /*!< Both edges are active edges*/
Anna Bridge 160:5571c4ff569f 265 /**
Anna Bridge 160:5571c4ff569f 266 * @}
Anna Bridge 160:5571c4ff569f 267 */
Anna Bridge 160:5571c4ff569f 268
Anna Bridge 160:5571c4ff569f 269 /** @defgroup LPTIM_LL_EC_ENCODER_MODE Encoder Mode
Anna Bridge 160:5571c4ff569f 270 * @{
Anna Bridge 160:5571c4ff569f 271 */
Anna Bridge 160:5571c4ff569f 272 #define LL_LPTIM_ENCODER_MODE_RISING 0x00000000U /*!< The rising edge is the active edge used for counting*/
Anna Bridge 160:5571c4ff569f 273 #define LL_LPTIM_ENCODER_MODE_FALLING LPTIM_CFGR_CKPOL_0 /*!< The falling edge is the active edge used for counting*/
Anna Bridge 160:5571c4ff569f 274 #define LL_LPTIM_ENCODER_MODE_RISING_FALLING LPTIM_CFGR_CKPOL_1 /*!< Both edges are active edges*/
Anna Bridge 160:5571c4ff569f 275 /**
Anna Bridge 160:5571c4ff569f 276 * @}
Anna Bridge 160:5571c4ff569f 277 */
Anna Bridge 160:5571c4ff569f 278
Anna Bridge 160:5571c4ff569f 279
Anna Bridge 160:5571c4ff569f 280 /**
Anna Bridge 160:5571c4ff569f 281 * @}
Anna Bridge 160:5571c4ff569f 282 */
Anna Bridge 160:5571c4ff569f 283
Anna Bridge 160:5571c4ff569f 284 /* Exported macro ------------------------------------------------------------*/
Anna Bridge 160:5571c4ff569f 285 /** @defgroup LPTIM_LL_Exported_Macros LPTIM Exported Macros
Anna Bridge 160:5571c4ff569f 286 * @{
Anna Bridge 160:5571c4ff569f 287 */
Anna Bridge 160:5571c4ff569f 288
Anna Bridge 160:5571c4ff569f 289 /** @defgroup LPTIM_LL_EM_WRITE_READ Common Write and read registers Macros
Anna Bridge 160:5571c4ff569f 290 * @{
Anna Bridge 160:5571c4ff569f 291 */
Anna Bridge 160:5571c4ff569f 292
Anna Bridge 160:5571c4ff569f 293 /**
Anna Bridge 160:5571c4ff569f 294 * @brief Write a value in LPTIM register
Anna Bridge 160:5571c4ff569f 295 * @param __INSTANCE__ LPTIM Instance
Anna Bridge 160:5571c4ff569f 296 * @param __REG__ Register to be written
Anna Bridge 160:5571c4ff569f 297 * @param __VALUE__ Value to be written in the register
Anna Bridge 160:5571c4ff569f 298 * @retval None
Anna Bridge 160:5571c4ff569f 299 */
Anna Bridge 160:5571c4ff569f 300 #define LL_LPTIM_WriteReg(__INSTANCE__, __REG__, __VALUE__) WRITE_REG(__INSTANCE__->__REG__, (__VALUE__))
Anna Bridge 160:5571c4ff569f 301
Anna Bridge 160:5571c4ff569f 302 /**
Anna Bridge 160:5571c4ff569f 303 * @brief Read a value in LPTIM register
Anna Bridge 160:5571c4ff569f 304 * @param __INSTANCE__ LPTIM Instance
Anna Bridge 160:5571c4ff569f 305 * @param __REG__ Register to be read
Anna Bridge 160:5571c4ff569f 306 * @retval Register value
Anna Bridge 160:5571c4ff569f 307 */
Anna Bridge 160:5571c4ff569f 308 #define LL_LPTIM_ReadReg(__INSTANCE__, __REG__) READ_REG(__INSTANCE__->__REG__)
Anna Bridge 160:5571c4ff569f 309 /**
Anna Bridge 160:5571c4ff569f 310 * @}
Anna Bridge 160:5571c4ff569f 311 */
Anna Bridge 160:5571c4ff569f 312
Anna Bridge 160:5571c4ff569f 313 /**
Anna Bridge 160:5571c4ff569f 314 * @}
Anna Bridge 160:5571c4ff569f 315 */
Anna Bridge 160:5571c4ff569f 316
Anna Bridge 160:5571c4ff569f 317
Anna Bridge 160:5571c4ff569f 318 /* Exported functions --------------------------------------------------------*/
Anna Bridge 160:5571c4ff569f 319 /** @defgroup LPTIM_LL_Exported_Functions LPTIM Exported Functions
Anna Bridge 160:5571c4ff569f 320 * @{
Anna Bridge 160:5571c4ff569f 321 */
Anna Bridge 160:5571c4ff569f 322
Anna Bridge 160:5571c4ff569f 323 /** @defgroup LPTIM_LL_EF_LPTIM_Configuration LPTIM Configuration
Anna Bridge 160:5571c4ff569f 324 * @{
Anna Bridge 160:5571c4ff569f 325 */
Anna Bridge 160:5571c4ff569f 326
Anna Bridge 160:5571c4ff569f 327 /**
Anna Bridge 160:5571c4ff569f 328 * @brief Enable the LPTIM instance
Anna Bridge 160:5571c4ff569f 329 * @note After setting the ENABLE bit, a delay of two counter clock is needed
Anna Bridge 160:5571c4ff569f 330 * before the LPTIM instance is actually enabled.
Anna Bridge 160:5571c4ff569f 331 * @rmtoll CR ENABLE LL_LPTIM_Enable
Anna Bridge 160:5571c4ff569f 332 * @param LPTIMx Low-Power Timer instance
Anna Bridge 160:5571c4ff569f 333 * @retval None
Anna Bridge 160:5571c4ff569f 334 */
Anna Bridge 160:5571c4ff569f 335 __STATIC_INLINE void LL_LPTIM_Enable(LPTIM_TypeDef *LPTIMx)
Anna Bridge 160:5571c4ff569f 336 {
Anna Bridge 160:5571c4ff569f 337 SET_BIT(LPTIMx->CR, LPTIM_CR_ENABLE);
Anna Bridge 160:5571c4ff569f 338 }
Anna Bridge 160:5571c4ff569f 339
Anna Bridge 160:5571c4ff569f 340 /**
Anna Bridge 160:5571c4ff569f 341 * @brief Disable the LPTIM instance
Anna Bridge 160:5571c4ff569f 342 * @rmtoll CR ENABLE LL_LPTIM_Disable
Anna Bridge 160:5571c4ff569f 343 * @param LPTIMx Low-Power Timer instance
Anna Bridge 160:5571c4ff569f 344 * @retval None
Anna Bridge 160:5571c4ff569f 345 */
Anna Bridge 160:5571c4ff569f 346 __STATIC_INLINE void LL_LPTIM_Disable(LPTIM_TypeDef *LPTIMx)
Anna Bridge 160:5571c4ff569f 347 {
Anna Bridge 160:5571c4ff569f 348 CLEAR_BIT(LPTIMx->CR, LPTIM_CR_ENABLE);
Anna Bridge 160:5571c4ff569f 349 }
Anna Bridge 160:5571c4ff569f 350
Anna Bridge 160:5571c4ff569f 351 /**
Anna Bridge 160:5571c4ff569f 352 * @brief Indicates whether the LPTIM instance is enabled.
Anna Bridge 160:5571c4ff569f 353 * @rmtoll CR ENABLE LL_LPTIM_IsEnabled
Anna Bridge 160:5571c4ff569f 354 * @param LPTIMx Low-Power Timer instance
Anna Bridge 160:5571c4ff569f 355 * @retval State of bit (1 or 0).
Anna Bridge 160:5571c4ff569f 356 */
Anna Bridge 160:5571c4ff569f 357 __STATIC_INLINE uint32_t LL_LPTIM_IsEnabled(LPTIM_TypeDef *LPTIMx)
Anna Bridge 160:5571c4ff569f 358 {
Anna Bridge 160:5571c4ff569f 359 return (READ_BIT(LPTIMx->CR, LPTIM_CR_ENABLE) == (LPTIM_CR_ENABLE));
Anna Bridge 160:5571c4ff569f 360 }
Anna Bridge 160:5571c4ff569f 361
Anna Bridge 160:5571c4ff569f 362 /**
Anna Bridge 160:5571c4ff569f 363 * @brief Starts the LPTIM counter in the desired mode.
Anna Bridge 160:5571c4ff569f 364 * @note LPTIM instance must be enabled before starting the counter.
Anna Bridge 160:5571c4ff569f 365 * @note It is possible to change on the fly from One Shot mode to
Anna Bridge 160:5571c4ff569f 366 * Continuous mode.
Anna Bridge 160:5571c4ff569f 367 * @rmtoll CR CNTSTRT LL_LPTIM_StartCounter\n
Anna Bridge 160:5571c4ff569f 368 * CR SNGSTRT LL_LPTIM_StartCounter
Anna Bridge 160:5571c4ff569f 369 * @param LPTIMx Low-Power Timer instance
Anna Bridge 160:5571c4ff569f 370 * @param OperatingMode This parameter can be one of the following values:
Anna Bridge 160:5571c4ff569f 371 * @arg @ref LL_LPTIM_OPERATING_MODE_CONTINUOUS
Anna Bridge 160:5571c4ff569f 372 * @arg @ref LL_LPTIM_OPERATING_MODE_ONESHOT
Anna Bridge 160:5571c4ff569f 373 * @retval None
Anna Bridge 160:5571c4ff569f 374 */
Anna Bridge 160:5571c4ff569f 375 __STATIC_INLINE void LL_LPTIM_StartCounter(LPTIM_TypeDef *LPTIMx, uint32_t OperatingMode)
Anna Bridge 160:5571c4ff569f 376 {
Anna Bridge 160:5571c4ff569f 377 MODIFY_REG(LPTIMx->CR, LPTIM_CR_CNTSTRT | LPTIM_CR_SNGSTRT, OperatingMode);
Anna Bridge 160:5571c4ff569f 378 }
Anna Bridge 160:5571c4ff569f 379
Anna Bridge 160:5571c4ff569f 380
Anna Bridge 160:5571c4ff569f 381 /**
Anna Bridge 160:5571c4ff569f 382 * @brief Set the LPTIM registers update mode (enable/disable register preload)
Anna Bridge 160:5571c4ff569f 383 * @note This function must be called when the LPTIM instance is disabled.
Anna Bridge 160:5571c4ff569f 384 * @rmtoll CFGR PRELOAD LL_LPTIM_SetUpdateMode
Anna Bridge 160:5571c4ff569f 385 * @param LPTIMx Low-Power Timer instance
Anna Bridge 160:5571c4ff569f 386 * @param UpdateMode This parameter can be one of the following values:
Anna Bridge 160:5571c4ff569f 387 * @arg @ref LL_LPTIM_UPDATE_MODE_IMMEDIATE
Anna Bridge 160:5571c4ff569f 388 * @arg @ref LL_LPTIM_UPDATE_MODE_ENDOFPERIOD
Anna Bridge 160:5571c4ff569f 389 * @retval None
Anna Bridge 160:5571c4ff569f 390 */
Anna Bridge 160:5571c4ff569f 391 __STATIC_INLINE void LL_LPTIM_SetUpdateMode(LPTIM_TypeDef *LPTIMx, uint32_t UpdateMode)
Anna Bridge 160:5571c4ff569f 392 {
Anna Bridge 160:5571c4ff569f 393 MODIFY_REG(LPTIMx->CFGR, LPTIM_CFGR_PRELOAD, UpdateMode);
Anna Bridge 160:5571c4ff569f 394 }
Anna Bridge 160:5571c4ff569f 395
Anna Bridge 160:5571c4ff569f 396 /**
Anna Bridge 160:5571c4ff569f 397 * @brief Get the LPTIM registers update mode
Anna Bridge 160:5571c4ff569f 398 * @rmtoll CFGR PRELOAD LL_LPTIM_GetUpdateMode
Anna Bridge 160:5571c4ff569f 399 * @param LPTIMx Low-Power Timer instance
Anna Bridge 160:5571c4ff569f 400 * @retval Returned value can be one of the following values:
Anna Bridge 160:5571c4ff569f 401 * @arg @ref LL_LPTIM_UPDATE_MODE_IMMEDIATE
Anna Bridge 160:5571c4ff569f 402 * @arg @ref LL_LPTIM_UPDATE_MODE_ENDOFPERIOD
Anna Bridge 160:5571c4ff569f 403 */
Anna Bridge 160:5571c4ff569f 404 __STATIC_INLINE uint32_t LL_LPTIM_GetUpdateMode(LPTIM_TypeDef *LPTIMx)
Anna Bridge 160:5571c4ff569f 405 {
Anna Bridge 160:5571c4ff569f 406 return (uint32_t)(READ_BIT(LPTIMx->CFGR, LPTIM_CFGR_PRELOAD));
Anna Bridge 160:5571c4ff569f 407 }
Anna Bridge 160:5571c4ff569f 408
Anna Bridge 160:5571c4ff569f 409 /**
Anna Bridge 160:5571c4ff569f 410 * @brief Set the auto reload value
Anna Bridge 160:5571c4ff569f 411 * @note The LPTIMx_ARR register content must only be modified when the LPTIM is enabled
Anna Bridge 160:5571c4ff569f 412 * @note After a write to the LPTIMx_ARR register a new write operation to the
Anna Bridge 160:5571c4ff569f 413 * same register can only be performed when the previous write operation
Anna Bridge 160:5571c4ff569f 414 * is completed. Any successive write before the ARROK flag be set, will
Anna Bridge 160:5571c4ff569f 415 * lead to unpredictable results.
Anna Bridge 160:5571c4ff569f 416 * @note autoreload value be strictly greater than the compare value.
Anna Bridge 160:5571c4ff569f 417 * @rmtoll ARR ARR LL_LPTIM_SetAutoReload
Anna Bridge 160:5571c4ff569f 418 * @param LPTIMx Low-Power Timer instance
Anna Bridge 160:5571c4ff569f 419 * @param AutoReload Value between Min_Data=0x00 and Max_Data=0xFFFF
Anna Bridge 160:5571c4ff569f 420 * @retval None
Anna Bridge 160:5571c4ff569f 421 */
Anna Bridge 160:5571c4ff569f 422 __STATIC_INLINE void LL_LPTIM_SetAutoReload(LPTIM_TypeDef *LPTIMx, uint32_t AutoReload)
Anna Bridge 160:5571c4ff569f 423 {
Anna Bridge 160:5571c4ff569f 424 MODIFY_REG(LPTIMx->ARR, LPTIM_ARR_ARR, AutoReload);
Anna Bridge 160:5571c4ff569f 425 }
Anna Bridge 160:5571c4ff569f 426
Anna Bridge 160:5571c4ff569f 427 /**
Anna Bridge 160:5571c4ff569f 428 * @brief Get actual auto reload value
Anna Bridge 160:5571c4ff569f 429 * @rmtoll ARR ARR LL_LPTIM_GetAutoReload
Anna Bridge 160:5571c4ff569f 430 * @param LPTIMx Low-Power Timer instance
Anna Bridge 160:5571c4ff569f 431 * @retval AutoReload Value between Min_Data=0x00 and Max_Data=0xFFFF
Anna Bridge 160:5571c4ff569f 432 */
Anna Bridge 160:5571c4ff569f 433 __STATIC_INLINE uint32_t LL_LPTIM_GetAutoReload(LPTIM_TypeDef *LPTIMx)
Anna Bridge 160:5571c4ff569f 434 {
Anna Bridge 160:5571c4ff569f 435 return (uint32_t)(READ_BIT(LPTIMx->ARR, LPTIM_ARR_ARR));
Anna Bridge 160:5571c4ff569f 436 }
Anna Bridge 160:5571c4ff569f 437
Anna Bridge 160:5571c4ff569f 438 /**
Anna Bridge 160:5571c4ff569f 439 * @brief Set the compare value
Anna Bridge 160:5571c4ff569f 440 * @note After a write to the LPTIMx_CMP register a new write operation to the
Anna Bridge 160:5571c4ff569f 441 * same register can only be performed when the previous write operation
Anna Bridge 160:5571c4ff569f 442 * is completed. Any successive write before the CMPOK flag be set, will
Anna Bridge 160:5571c4ff569f 443 * lead to unpredictable results.
Anna Bridge 160:5571c4ff569f 444 * @rmtoll CMP CMP LL_LPTIM_SetCompare
Anna Bridge 160:5571c4ff569f 445 * @param LPTIMx Low-Power Timer instance
Anna Bridge 160:5571c4ff569f 446 * @param CompareValue Value between Min_Data=0x00 and Max_Data=0xFFFF
Anna Bridge 160:5571c4ff569f 447 * @retval None
Anna Bridge 160:5571c4ff569f 448 */
Anna Bridge 160:5571c4ff569f 449 __STATIC_INLINE void LL_LPTIM_SetCompare(LPTIM_TypeDef *LPTIMx, uint32_t CompareValue)
Anna Bridge 160:5571c4ff569f 450 {
Anna Bridge 160:5571c4ff569f 451 MODIFY_REG(LPTIMx->CMP, LPTIM_CMP_CMP, CompareValue);
Anna Bridge 160:5571c4ff569f 452 }
Anna Bridge 160:5571c4ff569f 453
Anna Bridge 160:5571c4ff569f 454 /**
Anna Bridge 160:5571c4ff569f 455 * @brief Get actual compare value
Anna Bridge 160:5571c4ff569f 456 * @rmtoll CMP CMP LL_LPTIM_GetCompare
Anna Bridge 160:5571c4ff569f 457 * @param LPTIMx Low-Power Timer instance
Anna Bridge 160:5571c4ff569f 458 * @retval CompareValue Value between Min_Data=0x00 and Max_Data=0xFFFF
Anna Bridge 160:5571c4ff569f 459 */
Anna Bridge 160:5571c4ff569f 460 __STATIC_INLINE uint32_t LL_LPTIM_GetCompare(LPTIM_TypeDef *LPTIMx)
Anna Bridge 160:5571c4ff569f 461 {
Anna Bridge 160:5571c4ff569f 462 return (uint32_t)(READ_BIT(LPTIMx->CMP, LPTIM_CMP_CMP));
Anna Bridge 160:5571c4ff569f 463 }
Anna Bridge 160:5571c4ff569f 464
Anna Bridge 160:5571c4ff569f 465 /**
Anna Bridge 160:5571c4ff569f 466 * @brief Get actual counter value
Anna Bridge 160:5571c4ff569f 467 * @note When the LPTIM instance is running with an asynchronous clock, reading
Anna Bridge 160:5571c4ff569f 468 * the LPTIMx_CNT register may return unreliable values. So in this case
Anna Bridge 160:5571c4ff569f 469 * it is necessary to perform two consecutive read accesses and verify
Anna Bridge 160:5571c4ff569f 470 * that the two returned values are identical.
Anna Bridge 160:5571c4ff569f 471 * @rmtoll CNT CNT LL_LPTIM_GetCounter
Anna Bridge 160:5571c4ff569f 472 * @param LPTIMx Low-Power Timer instance
Anna Bridge 160:5571c4ff569f 473 * @retval Counter value
Anna Bridge 160:5571c4ff569f 474 */
Anna Bridge 160:5571c4ff569f 475 __STATIC_INLINE uint32_t LL_LPTIM_GetCounter(LPTIM_TypeDef *LPTIMx)
Anna Bridge 160:5571c4ff569f 476 {
Anna Bridge 160:5571c4ff569f 477 return (uint32_t)(READ_BIT(LPTIMx->CNT, LPTIM_CNT_CNT));
Anna Bridge 160:5571c4ff569f 478 }
Anna Bridge 160:5571c4ff569f 479
Anna Bridge 160:5571c4ff569f 480 /**
Anna Bridge 160:5571c4ff569f 481 * @brief Set the counter mode (selection of the LPTIM counter clock source).
Anna Bridge 160:5571c4ff569f 482 * @note The counter mode can be set only when the LPTIM instance is disabled.
Anna Bridge 160:5571c4ff569f 483 * @rmtoll CFGR COUNTMODE LL_LPTIM_SetCounterMode
Anna Bridge 160:5571c4ff569f 484 * @param LPTIMx Low-Power Timer instance
Anna Bridge 160:5571c4ff569f 485 * @param CounterMode This parameter can be one of the following values:
Anna Bridge 160:5571c4ff569f 486 * @arg @ref LL_LPTIM_COUNTER_MODE_INTERNAL
Anna Bridge 160:5571c4ff569f 487 * @arg @ref LL_LPTIM_COUNTER_MODE_EXTERNAL
Anna Bridge 160:5571c4ff569f 488 * @retval None
Anna Bridge 160:5571c4ff569f 489 */
Anna Bridge 160:5571c4ff569f 490 __STATIC_INLINE void LL_LPTIM_SetCounterMode(LPTIM_TypeDef *LPTIMx, uint32_t CounterMode)
Anna Bridge 160:5571c4ff569f 491 {
Anna Bridge 160:5571c4ff569f 492 MODIFY_REG(LPTIMx->CFGR, LPTIM_CFGR_COUNTMODE, CounterMode);
Anna Bridge 160:5571c4ff569f 493 }
Anna Bridge 160:5571c4ff569f 494
Anna Bridge 160:5571c4ff569f 495 /**
Anna Bridge 160:5571c4ff569f 496 * @brief Get the counter mode
Anna Bridge 160:5571c4ff569f 497 * @rmtoll CFGR COUNTMODE LL_LPTIM_GetCounterMode
Anna Bridge 160:5571c4ff569f 498 * @param LPTIMx Low-Power Timer instance
Anna Bridge 160:5571c4ff569f 499 * @retval Returned value can be one of the following values:
Anna Bridge 160:5571c4ff569f 500 * @arg @ref LL_LPTIM_COUNTER_MODE_INTERNAL
Anna Bridge 160:5571c4ff569f 501 * @arg @ref LL_LPTIM_COUNTER_MODE_EXTERNAL
Anna Bridge 160:5571c4ff569f 502 */
Anna Bridge 160:5571c4ff569f 503 __STATIC_INLINE uint32_t LL_LPTIM_GetCounterMode(LPTIM_TypeDef *LPTIMx)
Anna Bridge 160:5571c4ff569f 504 {
Anna Bridge 160:5571c4ff569f 505 return (uint32_t)(READ_BIT(LPTIMx->CFGR, LPTIM_CFGR_COUNTMODE));
Anna Bridge 160:5571c4ff569f 506 }
Anna Bridge 160:5571c4ff569f 507
Anna Bridge 160:5571c4ff569f 508 /**
Anna Bridge 160:5571c4ff569f 509 * @brief Configure the LPTIM instance output (LPTIMx_OUT)
Anna Bridge 160:5571c4ff569f 510 * @note This function must be called when the LPTIM instance is disabled.
Anna Bridge 160:5571c4ff569f 511 * @note Regarding the LPTIM output polarity the change takes effect
Anna Bridge 160:5571c4ff569f 512 * immediately, so the output default value will change immediately after
Anna Bridge 160:5571c4ff569f 513 * the polarity is re-configured, even before the timer is enabled.
Anna Bridge 160:5571c4ff569f 514 * @rmtoll CFGR WAVE LL_LPTIM_ConfigOutput\n
Anna Bridge 160:5571c4ff569f 515 * CFGR WAVPOL LL_LPTIM_ConfigOutput
Anna Bridge 160:5571c4ff569f 516 * @param LPTIMx Low-Power Timer instance
Anna Bridge 160:5571c4ff569f 517 * @param Waveform This parameter can be one of the following values:
Anna Bridge 160:5571c4ff569f 518 * @arg @ref LL_LPTIM_OUTPUT_WAVEFORM_PWM
Anna Bridge 160:5571c4ff569f 519 * @arg @ref LL_LPTIM_OUTPUT_WAVEFORM_SETONCE
Anna Bridge 160:5571c4ff569f 520 * @param Polarity This parameter can be one of the following values:
Anna Bridge 160:5571c4ff569f 521 * @arg @ref LL_LPTIM_OUTPUT_POLARITY_REGULAR
Anna Bridge 160:5571c4ff569f 522 * @arg @ref LL_LPTIM_OUTPUT_POLARITY_INVERSE
Anna Bridge 160:5571c4ff569f 523 * @retval None
Anna Bridge 160:5571c4ff569f 524 */
Anna Bridge 160:5571c4ff569f 525 __STATIC_INLINE void LL_LPTIM_ConfigOutput(LPTIM_TypeDef *LPTIMx, uint32_t Waveform, uint32_t Polarity)
Anna Bridge 160:5571c4ff569f 526 {
Anna Bridge 160:5571c4ff569f 527 MODIFY_REG(LPTIMx->CFGR, LPTIM_CFGR_WAVE | LPTIM_CFGR_WAVPOL, Waveform | Polarity);
Anna Bridge 160:5571c4ff569f 528 }
Anna Bridge 160:5571c4ff569f 529
Anna Bridge 160:5571c4ff569f 530 /**
Anna Bridge 160:5571c4ff569f 531 * @brief Set waveform shape
Anna Bridge 160:5571c4ff569f 532 * @rmtoll CFGR WAVE LL_LPTIM_SetWaveform
Anna Bridge 160:5571c4ff569f 533 * @param LPTIMx Low-Power Timer instance
Anna Bridge 160:5571c4ff569f 534 * @param Waveform This parameter can be one of the following values:
Anna Bridge 160:5571c4ff569f 535 * @arg @ref LL_LPTIM_OUTPUT_WAVEFORM_PWM
Anna Bridge 160:5571c4ff569f 536 * @arg @ref LL_LPTIM_OUTPUT_WAVEFORM_SETONCE
Anna Bridge 160:5571c4ff569f 537 * @retval None
Anna Bridge 160:5571c4ff569f 538 */
Anna Bridge 160:5571c4ff569f 539 __STATIC_INLINE void LL_LPTIM_SetWaveform(LPTIM_TypeDef *LPTIMx, uint32_t Waveform)
Anna Bridge 160:5571c4ff569f 540 {
Anna Bridge 160:5571c4ff569f 541 MODIFY_REG(LPTIMx->CFGR, LPTIM_CFGR_WAVE, Waveform);
Anna Bridge 160:5571c4ff569f 542 }
Anna Bridge 160:5571c4ff569f 543
Anna Bridge 160:5571c4ff569f 544 /**
Anna Bridge 160:5571c4ff569f 545 * @brief Get actual waveform shape
Anna Bridge 160:5571c4ff569f 546 * @rmtoll CFGR WAVE LL_LPTIM_GetWaveform
Anna Bridge 160:5571c4ff569f 547 * @param LPTIMx Low-Power Timer instance
Anna Bridge 160:5571c4ff569f 548 * @retval Returned value can be one of the following values:
Anna Bridge 160:5571c4ff569f 549 * @arg @ref LL_LPTIM_OUTPUT_WAVEFORM_PWM
Anna Bridge 160:5571c4ff569f 550 * @arg @ref LL_LPTIM_OUTPUT_WAVEFORM_SETONCE
Anna Bridge 160:5571c4ff569f 551 */
Anna Bridge 160:5571c4ff569f 552 __STATIC_INLINE uint32_t LL_LPTIM_GetWaveform(LPTIM_TypeDef *LPTIMx)
Anna Bridge 160:5571c4ff569f 553 {
Anna Bridge 160:5571c4ff569f 554 return (uint32_t)(READ_BIT(LPTIMx->CFGR, LPTIM_CFGR_WAVE));
Anna Bridge 160:5571c4ff569f 555 }
Anna Bridge 160:5571c4ff569f 556
Anna Bridge 160:5571c4ff569f 557 /**
Anna Bridge 160:5571c4ff569f 558 * @brief Set output polarity
Anna Bridge 160:5571c4ff569f 559 * @rmtoll CFGR WAVPOL LL_LPTIM_SetPolarity
Anna Bridge 160:5571c4ff569f 560 * @param LPTIMx Low-Power Timer instance
Anna Bridge 160:5571c4ff569f 561 * @param Polarity This parameter can be one of the following values:
Anna Bridge 160:5571c4ff569f 562 * @arg @ref LL_LPTIM_OUTPUT_POLARITY_REGULAR
Anna Bridge 160:5571c4ff569f 563 * @arg @ref LL_LPTIM_OUTPUT_POLARITY_INVERSE
Anna Bridge 160:5571c4ff569f 564 * @retval None
Anna Bridge 160:5571c4ff569f 565 */
Anna Bridge 160:5571c4ff569f 566 __STATIC_INLINE void LL_LPTIM_SetPolarity(LPTIM_TypeDef *LPTIMx, uint32_t Polarity)
Anna Bridge 160:5571c4ff569f 567 {
Anna Bridge 160:5571c4ff569f 568 MODIFY_REG(LPTIMx->CFGR, LPTIM_CFGR_WAVPOL, Polarity);
Anna Bridge 160:5571c4ff569f 569 }
Anna Bridge 160:5571c4ff569f 570
Anna Bridge 160:5571c4ff569f 571 /**
Anna Bridge 160:5571c4ff569f 572 * @brief Get actual output polarity
Anna Bridge 160:5571c4ff569f 573 * @rmtoll CFGR WAVPOL LL_LPTIM_GetPolarity
Anna Bridge 160:5571c4ff569f 574 * @param LPTIMx Low-Power Timer instance
Anna Bridge 160:5571c4ff569f 575 * @retval Returned value can be one of the following values:
Anna Bridge 160:5571c4ff569f 576 * @arg @ref LL_LPTIM_OUTPUT_POLARITY_REGULAR
Anna Bridge 160:5571c4ff569f 577 * @arg @ref LL_LPTIM_OUTPUT_POLARITY_INVERSE
Anna Bridge 160:5571c4ff569f 578 */
Anna Bridge 160:5571c4ff569f 579 __STATIC_INLINE uint32_t LL_LPTIM_GetPolarity(LPTIM_TypeDef *LPTIMx)
Anna Bridge 160:5571c4ff569f 580 {
Anna Bridge 160:5571c4ff569f 581 return (uint32_t)(READ_BIT(LPTIMx->CFGR, LPTIM_CFGR_WAVPOL));
Anna Bridge 160:5571c4ff569f 582 }
Anna Bridge 160:5571c4ff569f 583
Anna Bridge 160:5571c4ff569f 584 /**
Anna Bridge 160:5571c4ff569f 585 * @brief Set actual prescaler division ratio.
Anna Bridge 160:5571c4ff569f 586 * @note This function must be called when the LPTIM instance is disabled.
Anna Bridge 160:5571c4ff569f 587 * @note When the LPTIM is configured to be clocked by an internal clock source
Anna Bridge 160:5571c4ff569f 588 * and the LPTIM counter is configured to be updated by active edges
Anna Bridge 160:5571c4ff569f 589 * detected on the LPTIM external Input1, the internal clock provided to
Anna Bridge 160:5571c4ff569f 590 * the LPTIM must be not be prescaled.
Anna Bridge 160:5571c4ff569f 591 * @rmtoll CFGR PRESC LL_LPTIM_SetPrescaler
Anna Bridge 160:5571c4ff569f 592 * @param LPTIMx Low-Power Timer instance
Anna Bridge 160:5571c4ff569f 593 * @param Prescaler This parameter can be one of the following values:
Anna Bridge 160:5571c4ff569f 594 * @arg @ref LL_LPTIM_PRESCALER_DIV1
Anna Bridge 160:5571c4ff569f 595 * @arg @ref LL_LPTIM_PRESCALER_DIV2
Anna Bridge 160:5571c4ff569f 596 * @arg @ref LL_LPTIM_PRESCALER_DIV4
Anna Bridge 160:5571c4ff569f 597 * @arg @ref LL_LPTIM_PRESCALER_DIV8
Anna Bridge 160:5571c4ff569f 598 * @arg @ref LL_LPTIM_PRESCALER_DIV16
Anna Bridge 160:5571c4ff569f 599 * @arg @ref LL_LPTIM_PRESCALER_DIV32
Anna Bridge 160:5571c4ff569f 600 * @arg @ref LL_LPTIM_PRESCALER_DIV64
Anna Bridge 160:5571c4ff569f 601 * @arg @ref LL_LPTIM_PRESCALER_DIV128
Anna Bridge 160:5571c4ff569f 602 * @retval None
Anna Bridge 160:5571c4ff569f 603 */
Anna Bridge 160:5571c4ff569f 604 __STATIC_INLINE void LL_LPTIM_SetPrescaler(LPTIM_TypeDef *LPTIMx, uint32_t Prescaler)
Anna Bridge 160:5571c4ff569f 605 {
Anna Bridge 160:5571c4ff569f 606 MODIFY_REG(LPTIMx->CFGR, LPTIM_CFGR_PRESC, Prescaler);
Anna Bridge 160:5571c4ff569f 607 }
Anna Bridge 160:5571c4ff569f 608
Anna Bridge 160:5571c4ff569f 609 /**
Anna Bridge 160:5571c4ff569f 610 * @brief Get actual prescaler division ratio.
Anna Bridge 160:5571c4ff569f 611 * @rmtoll CFGR PRESC LL_LPTIM_GetPrescaler
Anna Bridge 160:5571c4ff569f 612 * @param LPTIMx Low-Power Timer instance
Anna Bridge 160:5571c4ff569f 613 * @retval Returned value can be one of the following values:
Anna Bridge 160:5571c4ff569f 614 * @arg @ref LL_LPTIM_PRESCALER_DIV1
Anna Bridge 160:5571c4ff569f 615 * @arg @ref LL_LPTIM_PRESCALER_DIV2
Anna Bridge 160:5571c4ff569f 616 * @arg @ref LL_LPTIM_PRESCALER_DIV4
Anna Bridge 160:5571c4ff569f 617 * @arg @ref LL_LPTIM_PRESCALER_DIV8
Anna Bridge 160:5571c4ff569f 618 * @arg @ref LL_LPTIM_PRESCALER_DIV16
Anna Bridge 160:5571c4ff569f 619 * @arg @ref LL_LPTIM_PRESCALER_DIV32
Anna Bridge 160:5571c4ff569f 620 * @arg @ref LL_LPTIM_PRESCALER_DIV64
Anna Bridge 160:5571c4ff569f 621 * @arg @ref LL_LPTIM_PRESCALER_DIV128
Anna Bridge 160:5571c4ff569f 622 */
Anna Bridge 160:5571c4ff569f 623 __STATIC_INLINE uint32_t LL_LPTIM_GetPrescaler(LPTIM_TypeDef *LPTIMx)
Anna Bridge 160:5571c4ff569f 624 {
Anna Bridge 160:5571c4ff569f 625 return (uint32_t)(READ_BIT(LPTIMx->CFGR, LPTIM_CFGR_PRESC));
Anna Bridge 160:5571c4ff569f 626 }
Anna Bridge 160:5571c4ff569f 627
Anna Bridge 160:5571c4ff569f 628
Anna Bridge 160:5571c4ff569f 629 /**
Anna Bridge 160:5571c4ff569f 630 * @}
Anna Bridge 160:5571c4ff569f 631 */
Anna Bridge 160:5571c4ff569f 632
Anna Bridge 160:5571c4ff569f 633 /** @defgroup LPTIM_LL_EF_Trigger_Configuration Trigger Configuration
Anna Bridge 160:5571c4ff569f 634 * @{
Anna Bridge 160:5571c4ff569f 635 */
Anna Bridge 160:5571c4ff569f 636
Anna Bridge 160:5571c4ff569f 637 /**
Anna Bridge 160:5571c4ff569f 638 * @brief Enable the timeout function
Anna Bridge 160:5571c4ff569f 639 * @note This function must be called when the LPTIM instance is disabled.
Anna Bridge 160:5571c4ff569f 640 * @note The first trigger event will start the timer, any successive trigger
Anna Bridge 160:5571c4ff569f 641 * event will reset the counter and the timer will restart.
Anna Bridge 160:5571c4ff569f 642 * @note The timeout value corresponds to the compare value; if no trigger
Anna Bridge 160:5571c4ff569f 643 * occurs within the expected time frame, the MCU is waked-up by the
Anna Bridge 160:5571c4ff569f 644 * compare match event.
Anna Bridge 160:5571c4ff569f 645 * @rmtoll CFGR TIMOUT LL_LPTIM_EnableTimeout
Anna Bridge 160:5571c4ff569f 646 * @param LPTIMx Low-Power Timer instance
Anna Bridge 160:5571c4ff569f 647 * @retval None
Anna Bridge 160:5571c4ff569f 648 */
Anna Bridge 160:5571c4ff569f 649 __STATIC_INLINE void LL_LPTIM_EnableTimeout(LPTIM_TypeDef *LPTIMx)
Anna Bridge 160:5571c4ff569f 650 {
Anna Bridge 160:5571c4ff569f 651 SET_BIT(LPTIMx->CFGR, LPTIM_CFGR_TIMOUT);
Anna Bridge 160:5571c4ff569f 652 }
Anna Bridge 160:5571c4ff569f 653
Anna Bridge 160:5571c4ff569f 654 /**
Anna Bridge 160:5571c4ff569f 655 * @brief Disable the timeout function
Anna Bridge 160:5571c4ff569f 656 * @note This function must be called when the LPTIM instance is disabled.
Anna Bridge 160:5571c4ff569f 657 * @note A trigger event arriving when the timer is already started will be
Anna Bridge 160:5571c4ff569f 658 * ignored.
Anna Bridge 160:5571c4ff569f 659 * @rmtoll CFGR TIMOUT LL_LPTIM_DisableTimeout
Anna Bridge 160:5571c4ff569f 660 * @param LPTIMx Low-Power Timer instance
Anna Bridge 160:5571c4ff569f 661 * @retval None
Anna Bridge 160:5571c4ff569f 662 */
Anna Bridge 160:5571c4ff569f 663 __STATIC_INLINE void LL_LPTIM_DisableTimeout(LPTIM_TypeDef *LPTIMx)
Anna Bridge 160:5571c4ff569f 664 {
Anna Bridge 160:5571c4ff569f 665 CLEAR_BIT(LPTIMx->CFGR, LPTIM_CFGR_TIMOUT);
Anna Bridge 160:5571c4ff569f 666 }
Anna Bridge 160:5571c4ff569f 667
Anna Bridge 160:5571c4ff569f 668 /**
Anna Bridge 160:5571c4ff569f 669 * @brief Indicate whether the timeout function is enabled.
Anna Bridge 160:5571c4ff569f 670 * @rmtoll CFGR TIMOUT LL_LPTIM_IsEnabledTimeout
Anna Bridge 160:5571c4ff569f 671 * @param LPTIMx Low-Power Timer instance
Anna Bridge 160:5571c4ff569f 672 * @retval State of bit (1 or 0).
Anna Bridge 160:5571c4ff569f 673 */
Anna Bridge 160:5571c4ff569f 674 __STATIC_INLINE uint32_t LL_LPTIM_IsEnabledTimeout(LPTIM_TypeDef *LPTIMx)
Anna Bridge 160:5571c4ff569f 675 {
Anna Bridge 160:5571c4ff569f 676 return (READ_BIT(LPTIMx->CFGR, LPTIM_CFGR_TIMOUT) == (LPTIM_CFGR_TIMOUT));
Anna Bridge 160:5571c4ff569f 677 }
Anna Bridge 160:5571c4ff569f 678
Anna Bridge 160:5571c4ff569f 679 /**
Anna Bridge 160:5571c4ff569f 680 * @brief Start the LPTIM counter
Anna Bridge 160:5571c4ff569f 681 * @note This function must be called when the LPTIM instance is disabled.
Anna Bridge 160:5571c4ff569f 682 * @rmtoll CFGR TRIGEN LL_LPTIM_TrigSw
Anna Bridge 160:5571c4ff569f 683 * @param LPTIMx Low-Power Timer instance
Anna Bridge 160:5571c4ff569f 684 * @retval None
Anna Bridge 160:5571c4ff569f 685 */
Anna Bridge 160:5571c4ff569f 686 __STATIC_INLINE void LL_LPTIM_TrigSw(LPTIM_TypeDef *LPTIMx)
Anna Bridge 160:5571c4ff569f 687 {
Anna Bridge 160:5571c4ff569f 688 CLEAR_BIT(LPTIMx->CFGR, LPTIM_CFGR_TRIGEN);
Anna Bridge 160:5571c4ff569f 689 }
Anna Bridge 160:5571c4ff569f 690
Anna Bridge 160:5571c4ff569f 691 /**
Anna Bridge 160:5571c4ff569f 692 * @brief Configure the external trigger used as a trigger event for the LPTIM.
Anna Bridge 160:5571c4ff569f 693 * @note This function must be called when the LPTIM instance is disabled.
Anna Bridge 160:5571c4ff569f 694 * @note An internal clock source must be present when a digital filter is
Anna Bridge 160:5571c4ff569f 695 * required for the trigger.
Anna Bridge 160:5571c4ff569f 696 * @rmtoll CFGR TRIGSEL LL_LPTIM_ConfigTrigger\n
Anna Bridge 160:5571c4ff569f 697 * CFGR TRGFLT LL_LPTIM_ConfigTrigger\n
Anna Bridge 160:5571c4ff569f 698 * CFGR TRIGEN LL_LPTIM_ConfigTrigger
Anna Bridge 160:5571c4ff569f 699 * @param LPTIMx Low-Power Timer instance
Anna Bridge 160:5571c4ff569f 700 * @param Source This parameter can be one of the following values:
Anna Bridge 160:5571c4ff569f 701 * @arg @ref LL_LPTIM_TRIG_SOURCE_GPIO
Anna Bridge 160:5571c4ff569f 702 * @arg @ref LL_LPTIM_TRIG_SOURCE_RTCALARMA
Anna Bridge 160:5571c4ff569f 703 * @arg @ref LL_LPTIM_TRIG_SOURCE_RTCALARMB
Anna Bridge 160:5571c4ff569f 704 * @arg @ref LL_LPTIM_TRIG_SOURCE_RTCTAMP1
Anna Bridge 160:5571c4ff569f 705 * @arg @ref LL_LPTIM_TRIG_SOURCE_TIM1_TRGO
Anna Bridge 160:5571c4ff569f 706 * @arg @ref LL_LPTIM_TRIG_SOURCE_TIM5_TRGO
Anna Bridge 160:5571c4ff569f 707 * @param Filter This parameter can be one of the following values:
Anna Bridge 160:5571c4ff569f 708 * @arg @ref LL_LPTIM_TRIG_FILTER_NONE
Anna Bridge 160:5571c4ff569f 709 * @arg @ref LL_LPTIM_TRIG_FILTER_2
Anna Bridge 160:5571c4ff569f 710 * @arg @ref LL_LPTIM_TRIG_FILTER_4
Anna Bridge 160:5571c4ff569f 711 * @arg @ref LL_LPTIM_TRIG_FILTER_8
Anna Bridge 160:5571c4ff569f 712 * @param Polarity This parameter can be one of the following values:
Anna Bridge 160:5571c4ff569f 713 * @arg @ref LL_LPTIM_TRIG_POLARITY_RISING
Anna Bridge 160:5571c4ff569f 714 * @arg @ref LL_LPTIM_TRIG_POLARITY_FALLING
Anna Bridge 160:5571c4ff569f 715 * @arg @ref LL_LPTIM_TRIG_POLARITY_RISING_FALLING
Anna Bridge 160:5571c4ff569f 716 * (*) value not defined in all devices.
Anna Bridge 160:5571c4ff569f 717 * @retval None
Anna Bridge 160:5571c4ff569f 718 */
Anna Bridge 160:5571c4ff569f 719 __STATIC_INLINE void LL_LPTIM_ConfigTrigger(LPTIM_TypeDef *LPTIMx, uint32_t Source, uint32_t Filter, uint32_t Polarity)
Anna Bridge 160:5571c4ff569f 720 {
Anna Bridge 160:5571c4ff569f 721 MODIFY_REG(LPTIMx->CFGR, LPTIM_CFGR_TRIGSEL | LPTIM_CFGR_TRGFLT | LPTIM_CFGR_TRIGEN, Source | Filter | Polarity);
Anna Bridge 160:5571c4ff569f 722 }
Anna Bridge 160:5571c4ff569f 723
Anna Bridge 160:5571c4ff569f 724 /**
Anna Bridge 160:5571c4ff569f 725 * @brief Get actual external trigger source.
Anna Bridge 160:5571c4ff569f 726 * @rmtoll CFGR TRIGSEL LL_LPTIM_GetTriggerSource
Anna Bridge 160:5571c4ff569f 727 * @param LPTIMx Low-Power Timer instance
Anna Bridge 160:5571c4ff569f 728 * @retval Returned value can be one of the following values:
Anna Bridge 160:5571c4ff569f 729 * @arg @ref LL_LPTIM_TRIG_SOURCE_GPIO
Anna Bridge 160:5571c4ff569f 730 * @arg @ref LL_LPTIM_TRIG_SOURCE_RTCALARMA
Anna Bridge 160:5571c4ff569f 731 * @arg @ref LL_LPTIM_TRIG_SOURCE_RTCALARMB
Anna Bridge 160:5571c4ff569f 732 * @arg @ref LL_LPTIM_TRIG_SOURCE_RTCTAMP1
Anna Bridge 160:5571c4ff569f 733 * @arg @ref LL_LPTIM_TRIG_SOURCE_TIM1_TRGO
Anna Bridge 160:5571c4ff569f 734 * @arg @ref LL_LPTIM_TRIG_SOURCE_TIM5_TRGO
Anna Bridge 160:5571c4ff569f 735 */
Anna Bridge 160:5571c4ff569f 736 __STATIC_INLINE uint32_t LL_LPTIM_GetTriggerSource(LPTIM_TypeDef *LPTIMx)
Anna Bridge 160:5571c4ff569f 737 {
Anna Bridge 160:5571c4ff569f 738 return (uint32_t)(READ_BIT(LPTIMx->CFGR, LPTIM_CFGR_TRIGSEL));
Anna Bridge 160:5571c4ff569f 739 }
Anna Bridge 160:5571c4ff569f 740
Anna Bridge 160:5571c4ff569f 741 /**
Anna Bridge 160:5571c4ff569f 742 * @brief Get actual external trigger filter.
Anna Bridge 160:5571c4ff569f 743 * @rmtoll CFGR TRGFLT LL_LPTIM_GetTriggerFilter
Anna Bridge 160:5571c4ff569f 744 * @param LPTIMx Low-Power Timer instance
Anna Bridge 160:5571c4ff569f 745 * @retval Returned value can be one of the following values:
Anna Bridge 160:5571c4ff569f 746 * @arg @ref LL_LPTIM_TRIG_FILTER_NONE
Anna Bridge 160:5571c4ff569f 747 * @arg @ref LL_LPTIM_TRIG_FILTER_2
Anna Bridge 160:5571c4ff569f 748 * @arg @ref LL_LPTIM_TRIG_FILTER_4
Anna Bridge 160:5571c4ff569f 749 * @arg @ref LL_LPTIM_TRIG_FILTER_8
Anna Bridge 160:5571c4ff569f 750 */
Anna Bridge 160:5571c4ff569f 751 __STATIC_INLINE uint32_t LL_LPTIM_GetTriggerFilter(LPTIM_TypeDef *LPTIMx)
Anna Bridge 160:5571c4ff569f 752 {
Anna Bridge 160:5571c4ff569f 753 return (uint32_t)(READ_BIT(LPTIMx->CFGR, LPTIM_CFGR_TRGFLT));
Anna Bridge 160:5571c4ff569f 754 }
Anna Bridge 160:5571c4ff569f 755
Anna Bridge 160:5571c4ff569f 756 /**
Anna Bridge 160:5571c4ff569f 757 * @brief Get actual external trigger polarity.
Anna Bridge 160:5571c4ff569f 758 * @rmtoll CFGR TRIGEN LL_LPTIM_GetTriggerPolarity
Anna Bridge 160:5571c4ff569f 759 * @param LPTIMx Low-Power Timer instance
Anna Bridge 160:5571c4ff569f 760 * @retval Returned value can be one of the following values:
Anna Bridge 160:5571c4ff569f 761 * @arg @ref LL_LPTIM_TRIG_POLARITY_RISING
Anna Bridge 160:5571c4ff569f 762 * @arg @ref LL_LPTIM_TRIG_POLARITY_FALLING
Anna Bridge 160:5571c4ff569f 763 * @arg @ref LL_LPTIM_TRIG_POLARITY_RISING_FALLING
Anna Bridge 160:5571c4ff569f 764 */
Anna Bridge 160:5571c4ff569f 765 __STATIC_INLINE uint32_t LL_LPTIM_GetTriggerPolarity(LPTIM_TypeDef *LPTIMx)
Anna Bridge 160:5571c4ff569f 766 {
Anna Bridge 160:5571c4ff569f 767 return (uint32_t)(READ_BIT(LPTIMx->CFGR, LPTIM_CFGR_TRIGEN));
Anna Bridge 160:5571c4ff569f 768 }
Anna Bridge 160:5571c4ff569f 769
Anna Bridge 160:5571c4ff569f 770 /**
Anna Bridge 160:5571c4ff569f 771 * @}
Anna Bridge 160:5571c4ff569f 772 */
Anna Bridge 160:5571c4ff569f 773
Anna Bridge 160:5571c4ff569f 774 /** @defgroup LPTIM_LL_EF_Clock_Configuration Clock Configuration
Anna Bridge 160:5571c4ff569f 775 * @{
Anna Bridge 160:5571c4ff569f 776 */
Anna Bridge 160:5571c4ff569f 777
Anna Bridge 160:5571c4ff569f 778 /**
Anna Bridge 160:5571c4ff569f 779 * @brief Set the source of the clock used by the LPTIM instance.
Anna Bridge 160:5571c4ff569f 780 * @note This function must be called when the LPTIM instance is disabled.
Anna Bridge 160:5571c4ff569f 781 * @rmtoll CFGR CKSEL LL_LPTIM_SetClockSource
Anna Bridge 160:5571c4ff569f 782 * @param LPTIMx Low-Power Timer instance
Anna Bridge 160:5571c4ff569f 783 * @param ClockSource This parameter can be one of the following values:
Anna Bridge 160:5571c4ff569f 784 * @arg @ref LL_LPTIM_CLK_SOURCE_INTERNAL
Anna Bridge 160:5571c4ff569f 785 * @arg @ref LL_LPTIM_CLK_SOURCE_EXTERNAL
Anna Bridge 160:5571c4ff569f 786 * @retval None
Anna Bridge 160:5571c4ff569f 787 */
Anna Bridge 160:5571c4ff569f 788 __STATIC_INLINE void LL_LPTIM_SetClockSource(LPTIM_TypeDef *LPTIMx, uint32_t ClockSource)
Anna Bridge 160:5571c4ff569f 789 {
Anna Bridge 160:5571c4ff569f 790 MODIFY_REG(LPTIMx->CFGR, LPTIM_CFGR_CKSEL, ClockSource);
Anna Bridge 160:5571c4ff569f 791 }
Anna Bridge 160:5571c4ff569f 792
Anna Bridge 160:5571c4ff569f 793 /**
Anna Bridge 160:5571c4ff569f 794 * @brief Get actual LPTIM instance clock source.
Anna Bridge 160:5571c4ff569f 795 * @rmtoll CFGR CKSEL LL_LPTIM_GetClockSource
Anna Bridge 160:5571c4ff569f 796 * @param LPTIMx Low-Power Timer instance
Anna Bridge 160:5571c4ff569f 797 * @retval Returned value can be one of the following values:
Anna Bridge 160:5571c4ff569f 798 * @arg @ref LL_LPTIM_CLK_SOURCE_INTERNAL
Anna Bridge 160:5571c4ff569f 799 * @arg @ref LL_LPTIM_CLK_SOURCE_EXTERNAL
Anna Bridge 160:5571c4ff569f 800 */
Anna Bridge 160:5571c4ff569f 801 __STATIC_INLINE uint32_t LL_LPTIM_GetClockSource(LPTIM_TypeDef *LPTIMx)
Anna Bridge 160:5571c4ff569f 802 {
Anna Bridge 160:5571c4ff569f 803 return (uint32_t)(READ_BIT(LPTIMx->CFGR, LPTIM_CFGR_CKSEL));
Anna Bridge 160:5571c4ff569f 804 }
Anna Bridge 160:5571c4ff569f 805
Anna Bridge 160:5571c4ff569f 806 /**
Anna Bridge 160:5571c4ff569f 807 * @brief Configure the active edge or edges used by the counter when the LPTIM is clocked by an external clock source.
Anna Bridge 160:5571c4ff569f 808 * @note This function must be called when the LPTIM instance is disabled.
Anna Bridge 160:5571c4ff569f 809 * @note When both external clock signal edges are considered active ones,
Anna Bridge 160:5571c4ff569f 810 * the LPTIM must also be clocked by an internal clock source with a
Anna Bridge 160:5571c4ff569f 811 * frequency equal to at least four times the external clock frequency.
Anna Bridge 160:5571c4ff569f 812 * @note An internal clock source must be present when a digital filter is
Anna Bridge 160:5571c4ff569f 813 * required for external clock.
Anna Bridge 160:5571c4ff569f 814 * @rmtoll CFGR CKFLT LL_LPTIM_ConfigClock\n
Anna Bridge 160:5571c4ff569f 815 * CFGR CKPOL LL_LPTIM_ConfigClock
Anna Bridge 160:5571c4ff569f 816 * @param LPTIMx Low-Power Timer instance
Anna Bridge 160:5571c4ff569f 817 * @param ClockFilter This parameter can be one of the following values:
Anna Bridge 160:5571c4ff569f 818 * @arg @ref LL_LPTIM_CLK_FILTER_NONE
Anna Bridge 160:5571c4ff569f 819 * @arg @ref LL_LPTIM_CLK_FILTER_2
Anna Bridge 160:5571c4ff569f 820 * @arg @ref LL_LPTIM_CLK_FILTER_4
Anna Bridge 160:5571c4ff569f 821 * @arg @ref LL_LPTIM_CLK_FILTER_8
Anna Bridge 160:5571c4ff569f 822 * @param ClockPolarity This parameter can be one of the following values:
Anna Bridge 160:5571c4ff569f 823 * @arg @ref LL_LPTIM_CLK_POLARITY_RISING
Anna Bridge 160:5571c4ff569f 824 * @arg @ref LL_LPTIM_CLK_POLARITY_FALLING
Anna Bridge 160:5571c4ff569f 825 * @arg @ref LL_LPTIM_CLK_POLARITY_RISING_FALLING
Anna Bridge 160:5571c4ff569f 826 * @retval None
Anna Bridge 160:5571c4ff569f 827 */
Anna Bridge 160:5571c4ff569f 828 __STATIC_INLINE void LL_LPTIM_ConfigClock(LPTIM_TypeDef *LPTIMx, uint32_t ClockFilter, uint32_t ClockPolarity)
Anna Bridge 160:5571c4ff569f 829 {
Anna Bridge 160:5571c4ff569f 830 MODIFY_REG(LPTIMx->CFGR, LPTIM_CFGR_CKFLT | LPTIM_CFGR_CKPOL, ClockFilter | ClockPolarity);
Anna Bridge 160:5571c4ff569f 831 }
Anna Bridge 160:5571c4ff569f 832
Anna Bridge 160:5571c4ff569f 833 /**
Anna Bridge 160:5571c4ff569f 834 * @brief Get actual clock polarity
Anna Bridge 160:5571c4ff569f 835 * @rmtoll CFGR CKPOL LL_LPTIM_GetClockPolarity
Anna Bridge 160:5571c4ff569f 836 * @param LPTIMx Low-Power Timer instance
Anna Bridge 160:5571c4ff569f 837 * @retval Returned value can be one of the following values:
Anna Bridge 160:5571c4ff569f 838 * @arg @ref LL_LPTIM_CLK_POLARITY_RISING
Anna Bridge 160:5571c4ff569f 839 * @arg @ref LL_LPTIM_CLK_POLARITY_FALLING
Anna Bridge 160:5571c4ff569f 840 * @arg @ref LL_LPTIM_CLK_POLARITY_RISING_FALLING
Anna Bridge 160:5571c4ff569f 841 */
Anna Bridge 160:5571c4ff569f 842 __STATIC_INLINE uint32_t LL_LPTIM_GetClockPolarity(LPTIM_TypeDef *LPTIMx)
Anna Bridge 160:5571c4ff569f 843 {
Anna Bridge 160:5571c4ff569f 844 return (uint32_t)(READ_BIT(LPTIMx->CFGR, LPTIM_CFGR_CKPOL));
Anna Bridge 160:5571c4ff569f 845 }
Anna Bridge 160:5571c4ff569f 846
Anna Bridge 160:5571c4ff569f 847 /**
Anna Bridge 160:5571c4ff569f 848 * @brief Get actual clock digital filter
Anna Bridge 160:5571c4ff569f 849 * @rmtoll CFGR CKFLT LL_LPTIM_GetClockFilter
Anna Bridge 160:5571c4ff569f 850 * @param LPTIMx Low-Power Timer instance
Anna Bridge 160:5571c4ff569f 851 * @retval Returned value can be one of the following values:
Anna Bridge 160:5571c4ff569f 852 * @arg @ref LL_LPTIM_CLK_FILTER_NONE
Anna Bridge 160:5571c4ff569f 853 * @arg @ref LL_LPTIM_CLK_FILTER_2
Anna Bridge 160:5571c4ff569f 854 * @arg @ref LL_LPTIM_CLK_FILTER_4
Anna Bridge 160:5571c4ff569f 855 * @arg @ref LL_LPTIM_CLK_FILTER_8
Anna Bridge 160:5571c4ff569f 856 */
Anna Bridge 160:5571c4ff569f 857 __STATIC_INLINE uint32_t LL_LPTIM_GetClockFilter(LPTIM_TypeDef *LPTIMx)
Anna Bridge 160:5571c4ff569f 858 {
Anna Bridge 160:5571c4ff569f 859 return (uint32_t)(READ_BIT(LPTIMx->CFGR, LPTIM_CFGR_CKFLT));
Anna Bridge 160:5571c4ff569f 860 }
Anna Bridge 160:5571c4ff569f 861
Anna Bridge 160:5571c4ff569f 862 /**
Anna Bridge 160:5571c4ff569f 863 * @}
Anna Bridge 160:5571c4ff569f 864 */
Anna Bridge 160:5571c4ff569f 865
Anna Bridge 160:5571c4ff569f 866 /** @defgroup LPTIM_LL_EF_Encoder_Mode Encoder Mode
Anna Bridge 160:5571c4ff569f 867 * @{
Anna Bridge 160:5571c4ff569f 868 */
Anna Bridge 160:5571c4ff569f 869
Anna Bridge 160:5571c4ff569f 870 /**
Anna Bridge 160:5571c4ff569f 871 * @brief Configure the encoder mode.
Anna Bridge 160:5571c4ff569f 872 * @note This function must be called when the LPTIM instance is disabled.
Anna Bridge 160:5571c4ff569f 873 * @rmtoll CFGR CKPOL LL_LPTIM_SetEncoderMode
Anna Bridge 160:5571c4ff569f 874 * @param LPTIMx Low-Power Timer instance
Anna Bridge 160:5571c4ff569f 875 * @param EncoderMode This parameter can be one of the following values:
Anna Bridge 160:5571c4ff569f 876 * @arg @ref LL_LPTIM_ENCODER_MODE_RISING
Anna Bridge 160:5571c4ff569f 877 * @arg @ref LL_LPTIM_ENCODER_MODE_FALLING
Anna Bridge 160:5571c4ff569f 878 * @arg @ref LL_LPTIM_ENCODER_MODE_RISING_FALLING
Anna Bridge 160:5571c4ff569f 879 * @retval None
Anna Bridge 160:5571c4ff569f 880 */
Anna Bridge 160:5571c4ff569f 881 __STATIC_INLINE void LL_LPTIM_SetEncoderMode(LPTIM_TypeDef *LPTIMx, uint32_t EncoderMode)
Anna Bridge 160:5571c4ff569f 882 {
Anna Bridge 160:5571c4ff569f 883 MODIFY_REG(LPTIMx->CFGR, LPTIM_CFGR_CKPOL, EncoderMode);
Anna Bridge 160:5571c4ff569f 884 }
Anna Bridge 160:5571c4ff569f 885
Anna Bridge 160:5571c4ff569f 886 /**
Anna Bridge 160:5571c4ff569f 887 * @brief Get actual encoder mode.
Anna Bridge 160:5571c4ff569f 888 * @rmtoll CFGR CKPOL LL_LPTIM_GetEncoderMode
Anna Bridge 160:5571c4ff569f 889 * @param LPTIMx Low-Power Timer instance
Anna Bridge 160:5571c4ff569f 890 * @retval Returned value can be one of the following values:
Anna Bridge 160:5571c4ff569f 891 * @arg @ref LL_LPTIM_ENCODER_MODE_RISING
Anna Bridge 160:5571c4ff569f 892 * @arg @ref LL_LPTIM_ENCODER_MODE_FALLING
Anna Bridge 160:5571c4ff569f 893 * @arg @ref LL_LPTIM_ENCODER_MODE_RISING_FALLING
Anna Bridge 160:5571c4ff569f 894 */
Anna Bridge 160:5571c4ff569f 895 __STATIC_INLINE uint32_t LL_LPTIM_GetEncoderMode(LPTIM_TypeDef *LPTIMx)
Anna Bridge 160:5571c4ff569f 896 {
Anna Bridge 160:5571c4ff569f 897 return (uint32_t)(READ_BIT(LPTIMx->CFGR, LPTIM_CFGR_CKPOL));
Anna Bridge 160:5571c4ff569f 898 }
Anna Bridge 160:5571c4ff569f 899
Anna Bridge 160:5571c4ff569f 900 /**
Anna Bridge 160:5571c4ff569f 901 * @brief Enable the encoder mode
Anna Bridge 160:5571c4ff569f 902 * @note This function must be called when the LPTIM instance is disabled.
Anna Bridge 160:5571c4ff569f 903 * @note In this mode the LPTIM instance must be clocked by an internal clock
Anna Bridge 160:5571c4ff569f 904 * source. Also, the prescaler division ratio must be equal to 1.
Anna Bridge 160:5571c4ff569f 905 * @note LPTIM instance must be configured in continuous mode prior enabling
Anna Bridge 160:5571c4ff569f 906 * the encoder mode.
Anna Bridge 160:5571c4ff569f 907 * @rmtoll CFGR ENC LL_LPTIM_EnableEncoderMode
Anna Bridge 160:5571c4ff569f 908 * @param LPTIMx Low-Power Timer instance
Anna Bridge 160:5571c4ff569f 909 * @retval None
Anna Bridge 160:5571c4ff569f 910 */
Anna Bridge 160:5571c4ff569f 911 __STATIC_INLINE void LL_LPTIM_EnableEncoderMode(LPTIM_TypeDef *LPTIMx)
Anna Bridge 160:5571c4ff569f 912 {
Anna Bridge 160:5571c4ff569f 913 SET_BIT(LPTIMx->CFGR, LPTIM_CFGR_ENC);
Anna Bridge 160:5571c4ff569f 914 }
Anna Bridge 160:5571c4ff569f 915
Anna Bridge 160:5571c4ff569f 916 /**
Anna Bridge 160:5571c4ff569f 917 * @brief Disable the encoder mode
Anna Bridge 160:5571c4ff569f 918 * @note This function must be called when the LPTIM instance is disabled.
Anna Bridge 160:5571c4ff569f 919 * @rmtoll CFGR ENC LL_LPTIM_DisableEncoderMode
Anna Bridge 160:5571c4ff569f 920 * @param LPTIMx Low-Power Timer instance
Anna Bridge 160:5571c4ff569f 921 * @retval None
Anna Bridge 160:5571c4ff569f 922 */
Anna Bridge 160:5571c4ff569f 923 __STATIC_INLINE void LL_LPTIM_DisableEncoderMode(LPTIM_TypeDef *LPTIMx)
Anna Bridge 160:5571c4ff569f 924 {
Anna Bridge 160:5571c4ff569f 925 CLEAR_BIT(LPTIMx->CFGR, LPTIM_CFGR_ENC);
Anna Bridge 160:5571c4ff569f 926 }
Anna Bridge 160:5571c4ff569f 927
Anna Bridge 160:5571c4ff569f 928 /**
Anna Bridge 160:5571c4ff569f 929 * @brief Indicates whether the LPTIM operates in encoder mode.
Anna Bridge 160:5571c4ff569f 930 * @rmtoll CFGR ENC LL_LPTIM_IsEnabledEncoderMode
Anna Bridge 160:5571c4ff569f 931 * @param LPTIMx Low-Power Timer instance
Anna Bridge 160:5571c4ff569f 932 * @retval State of bit (1 or 0).
Anna Bridge 160:5571c4ff569f 933 */
Anna Bridge 160:5571c4ff569f 934 __STATIC_INLINE uint32_t LL_LPTIM_IsEnabledEncoderMode(LPTIM_TypeDef *LPTIMx)
Anna Bridge 160:5571c4ff569f 935 {
Anna Bridge 160:5571c4ff569f 936 return (READ_BIT(LPTIMx->CFGR, LPTIM_CFGR_ENC) == (LPTIM_CFGR_ENC));
Anna Bridge 160:5571c4ff569f 937 }
Anna Bridge 160:5571c4ff569f 938
Anna Bridge 160:5571c4ff569f 939 /**
Anna Bridge 160:5571c4ff569f 940 * @}
Anna Bridge 160:5571c4ff569f 941 */
Anna Bridge 160:5571c4ff569f 942
Anna Bridge 160:5571c4ff569f 943 /** @defgroup LPTIM_LL_EF_FLAG_Management FLAG Management
Anna Bridge 160:5571c4ff569f 944 * @{
Anna Bridge 160:5571c4ff569f 945 */
Anna Bridge 160:5571c4ff569f 946
Anna Bridge 160:5571c4ff569f 947 /**
Anna Bridge 160:5571c4ff569f 948 * @brief Clear the compare match flag (CMPMCF)
Anna Bridge 160:5571c4ff569f 949 * @rmtoll ICR CMPMCF LL_LPTIM_ClearFLAG_CMPM
Anna Bridge 160:5571c4ff569f 950 * @param LPTIMx Low-Power Timer instance
Anna Bridge 160:5571c4ff569f 951 * @retval None
Anna Bridge 160:5571c4ff569f 952 */
Anna Bridge 160:5571c4ff569f 953 __STATIC_INLINE void LL_LPTIM_ClearFLAG_CMPM(LPTIM_TypeDef *LPTIMx)
Anna Bridge 160:5571c4ff569f 954 {
Anna Bridge 160:5571c4ff569f 955 SET_BIT(LPTIMx->ICR, LPTIM_ICR_CMPMCF);
Anna Bridge 160:5571c4ff569f 956 }
Anna Bridge 160:5571c4ff569f 957
Anna Bridge 160:5571c4ff569f 958 /**
Anna Bridge 160:5571c4ff569f 959 * @brief Inform application whether a compare match interrupt has occurred.
Anna Bridge 160:5571c4ff569f 960 * @rmtoll ISR CMPM LL_LPTIM_IsActiveFlag_CMPM
Anna Bridge 160:5571c4ff569f 961 * @param LPTIMx Low-Power Timer instance
Anna Bridge 160:5571c4ff569f 962 * @retval State of bit (1 or 0).
Anna Bridge 160:5571c4ff569f 963 */
Anna Bridge 160:5571c4ff569f 964 __STATIC_INLINE uint32_t LL_LPTIM_IsActiveFlag_CMPM(LPTIM_TypeDef *LPTIMx)
Anna Bridge 160:5571c4ff569f 965 {
Anna Bridge 160:5571c4ff569f 966 return (READ_BIT(LPTIMx->ISR, LPTIM_ISR_CMPM) == (LPTIM_ISR_CMPM));
Anna Bridge 160:5571c4ff569f 967 }
Anna Bridge 160:5571c4ff569f 968
Anna Bridge 160:5571c4ff569f 969 /**
Anna Bridge 160:5571c4ff569f 970 * @brief Clear the autoreload match flag (ARRMCF)
Anna Bridge 160:5571c4ff569f 971 * @rmtoll ICR ARRMCF LL_LPTIM_ClearFLAG_ARRM
Anna Bridge 160:5571c4ff569f 972 * @param LPTIMx Low-Power Timer instance
Anna Bridge 160:5571c4ff569f 973 * @retval None
Anna Bridge 160:5571c4ff569f 974 */
Anna Bridge 160:5571c4ff569f 975 __STATIC_INLINE void LL_LPTIM_ClearFLAG_ARRM(LPTIM_TypeDef *LPTIMx)
Anna Bridge 160:5571c4ff569f 976 {
Anna Bridge 160:5571c4ff569f 977 SET_BIT(LPTIMx->ICR, LPTIM_ICR_ARRMCF);
Anna Bridge 160:5571c4ff569f 978 }
Anna Bridge 160:5571c4ff569f 979
Anna Bridge 160:5571c4ff569f 980 /**
Anna Bridge 160:5571c4ff569f 981 * @brief Inform application whether a autoreload match interrupt has occured.
Anna Bridge 160:5571c4ff569f 982 * @rmtoll ISR ARRM LL_LPTIM_IsActiveFlag_ARRM
Anna Bridge 160:5571c4ff569f 983 * @param LPTIMx Low-Power Timer instance
Anna Bridge 160:5571c4ff569f 984 * @retval State of bit (1 or 0).
Anna Bridge 160:5571c4ff569f 985 */
Anna Bridge 160:5571c4ff569f 986 __STATIC_INLINE uint32_t LL_LPTIM_IsActiveFlag_ARRM(LPTIM_TypeDef *LPTIMx)
Anna Bridge 160:5571c4ff569f 987 {
Anna Bridge 160:5571c4ff569f 988 return (READ_BIT(LPTIMx->ISR, LPTIM_ISR_ARRM) == (LPTIM_ISR_ARRM));
Anna Bridge 160:5571c4ff569f 989 }
Anna Bridge 160:5571c4ff569f 990
Anna Bridge 160:5571c4ff569f 991 /**
Anna Bridge 160:5571c4ff569f 992 * @brief Clear the external trigger valid edge flag(EXTTRIGCF).
Anna Bridge 160:5571c4ff569f 993 * @rmtoll ICR EXTTRIGCF LL_LPTIM_ClearFlag_EXTTRIG
Anna Bridge 160:5571c4ff569f 994 * @param LPTIMx Low-Power Timer instance
Anna Bridge 160:5571c4ff569f 995 * @retval None
Anna Bridge 160:5571c4ff569f 996 */
Anna Bridge 160:5571c4ff569f 997 __STATIC_INLINE void LL_LPTIM_ClearFlag_EXTTRIG(LPTIM_TypeDef *LPTIMx)
Anna Bridge 160:5571c4ff569f 998 {
Anna Bridge 160:5571c4ff569f 999 SET_BIT(LPTIMx->ICR, LPTIM_ICR_EXTTRIGCF);
Anna Bridge 160:5571c4ff569f 1000 }
Anna Bridge 160:5571c4ff569f 1001
Anna Bridge 160:5571c4ff569f 1002 /**
Anna Bridge 160:5571c4ff569f 1003 * @brief Inform application whether a valid edge on the selected external trigger input has occurred.
Anna Bridge 160:5571c4ff569f 1004 * @rmtoll ISR EXTTRIG LL_LPTIM_IsActiveFlag_EXTTRIG
Anna Bridge 160:5571c4ff569f 1005 * @param LPTIMx Low-Power Timer instance
Anna Bridge 160:5571c4ff569f 1006 * @retval State of bit (1 or 0).
Anna Bridge 160:5571c4ff569f 1007 */
Anna Bridge 160:5571c4ff569f 1008 __STATIC_INLINE uint32_t LL_LPTIM_IsActiveFlag_EXTTRIG(LPTIM_TypeDef *LPTIMx)
Anna Bridge 160:5571c4ff569f 1009 {
Anna Bridge 160:5571c4ff569f 1010 return (READ_BIT(LPTIMx->ISR, LPTIM_ISR_EXTTRIG) == (LPTIM_ISR_EXTTRIG));
Anna Bridge 160:5571c4ff569f 1011 }
Anna Bridge 160:5571c4ff569f 1012
Anna Bridge 160:5571c4ff569f 1013 /**
Anna Bridge 160:5571c4ff569f 1014 * @brief Clear the compare register update interrupt flag (CMPOKCF).
Anna Bridge 160:5571c4ff569f 1015 * @rmtoll ICR CMPOKCF LL_LPTIM_ClearFlag_CMPOK
Anna Bridge 160:5571c4ff569f 1016 * @param LPTIMx Low-Power Timer instance
Anna Bridge 160:5571c4ff569f 1017 * @retval None
Anna Bridge 160:5571c4ff569f 1018 */
Anna Bridge 160:5571c4ff569f 1019 __STATIC_INLINE void LL_LPTIM_ClearFlag_CMPOK(LPTIM_TypeDef *LPTIMx)
Anna Bridge 160:5571c4ff569f 1020 {
Anna Bridge 160:5571c4ff569f 1021 SET_BIT(LPTIMx->ICR, LPTIM_ICR_CMPOKCF);
Anna Bridge 160:5571c4ff569f 1022 }
Anna Bridge 160:5571c4ff569f 1023
Anna Bridge 160:5571c4ff569f 1024 /**
Anna Bridge 160:5571c4ff569f 1025 * @brief Informs application whether the APB bus write operation to the LPTIMx_CMP register has been successfully completed; If so, a new one can be initiated.
Anna Bridge 160:5571c4ff569f 1026 * @rmtoll ISR CMPOK LL_LPTIM_IsActiveFlag_CMPOK
Anna Bridge 160:5571c4ff569f 1027 * @param LPTIMx Low-Power Timer instance
Anna Bridge 160:5571c4ff569f 1028 * @retval State of bit (1 or 0).
Anna Bridge 160:5571c4ff569f 1029 */
Anna Bridge 160:5571c4ff569f 1030 __STATIC_INLINE uint32_t LL_LPTIM_IsActiveFlag_CMPOK(LPTIM_TypeDef *LPTIMx)
Anna Bridge 160:5571c4ff569f 1031 {
Anna Bridge 160:5571c4ff569f 1032 return (READ_BIT(LPTIMx->ISR, LPTIM_ISR_CMPOK) == (LPTIM_ISR_CMPOK));
Anna Bridge 160:5571c4ff569f 1033 }
Anna Bridge 160:5571c4ff569f 1034
Anna Bridge 160:5571c4ff569f 1035 /**
Anna Bridge 160:5571c4ff569f 1036 * @brief Clear the autoreload register update interrupt flag (ARROKCF).
Anna Bridge 160:5571c4ff569f 1037 * @rmtoll ICR ARROKCF LL_LPTIM_ClearFlag_ARROK
Anna Bridge 160:5571c4ff569f 1038 * @param LPTIMx Low-Power Timer instance
Anna Bridge 160:5571c4ff569f 1039 * @retval None
Anna Bridge 160:5571c4ff569f 1040 */
Anna Bridge 160:5571c4ff569f 1041 __STATIC_INLINE void LL_LPTIM_ClearFlag_ARROK(LPTIM_TypeDef *LPTIMx)
Anna Bridge 160:5571c4ff569f 1042 {
Anna Bridge 160:5571c4ff569f 1043 SET_BIT(LPTIMx->ICR, LPTIM_ICR_ARROKCF);
Anna Bridge 160:5571c4ff569f 1044 }
Anna Bridge 160:5571c4ff569f 1045
Anna Bridge 160:5571c4ff569f 1046 /**
Anna Bridge 160:5571c4ff569f 1047 * @brief Informs application whether the APB bus write operation to the LPTIMx_ARR register has been successfully completed; If so, a new one can be initiated.
Anna Bridge 160:5571c4ff569f 1048 * @rmtoll ISR ARROK LL_LPTIM_IsActiveFlag_ARROK
Anna Bridge 160:5571c4ff569f 1049 * @param LPTIMx Low-Power Timer instance
Anna Bridge 160:5571c4ff569f 1050 * @retval State of bit (1 or 0).
Anna Bridge 160:5571c4ff569f 1051 */
Anna Bridge 160:5571c4ff569f 1052 __STATIC_INLINE uint32_t LL_LPTIM_IsActiveFlag_ARROK(LPTIM_TypeDef *LPTIMx)
Anna Bridge 160:5571c4ff569f 1053 {
Anna Bridge 160:5571c4ff569f 1054 return (READ_BIT(LPTIMx->ISR, LPTIM_ISR_ARROK) == (LPTIM_ISR_ARROK));
Anna Bridge 160:5571c4ff569f 1055 }
Anna Bridge 160:5571c4ff569f 1056
Anna Bridge 160:5571c4ff569f 1057 /**
Anna Bridge 160:5571c4ff569f 1058 * @brief Clear the counter direction change to up interrupt flag (UPCF).
Anna Bridge 160:5571c4ff569f 1059 * @rmtoll ICR UPCF LL_LPTIM_ClearFlag_UP
Anna Bridge 160:5571c4ff569f 1060 * @param LPTIMx Low-Power Timer instance
Anna Bridge 160:5571c4ff569f 1061 * @retval None
Anna Bridge 160:5571c4ff569f 1062 */
Anna Bridge 160:5571c4ff569f 1063 __STATIC_INLINE void LL_LPTIM_ClearFlag_UP(LPTIM_TypeDef *LPTIMx)
Anna Bridge 160:5571c4ff569f 1064 {
Anna Bridge 160:5571c4ff569f 1065 SET_BIT(LPTIMx->ICR, LPTIM_ICR_UPCF);
Anna Bridge 160:5571c4ff569f 1066 }
Anna Bridge 160:5571c4ff569f 1067
Anna Bridge 160:5571c4ff569f 1068 /**
Anna Bridge 160:5571c4ff569f 1069 * @brief Informs the application whether the counter direction has changed from down to up (when the LPTIM instance operates in encoder mode).
Anna Bridge 160:5571c4ff569f 1070 * @rmtoll ISR UP LL_LPTIM_IsActiveFlag_UP
Anna Bridge 160:5571c4ff569f 1071 * @param LPTIMx Low-Power Timer instance
Anna Bridge 160:5571c4ff569f 1072 * @retval State of bit (1 or 0).
Anna Bridge 160:5571c4ff569f 1073 */
Anna Bridge 160:5571c4ff569f 1074 __STATIC_INLINE uint32_t LL_LPTIM_IsActiveFlag_UP(LPTIM_TypeDef *LPTIMx)
Anna Bridge 160:5571c4ff569f 1075 {
Anna Bridge 160:5571c4ff569f 1076 return (READ_BIT(LPTIMx->ISR, LPTIM_ISR_UP) == (LPTIM_ISR_UP));
Anna Bridge 160:5571c4ff569f 1077 }
Anna Bridge 160:5571c4ff569f 1078
Anna Bridge 160:5571c4ff569f 1079 /**
Anna Bridge 160:5571c4ff569f 1080 * @brief Clear the counter direction change to down interrupt flag (DOWNCF).
Anna Bridge 160:5571c4ff569f 1081 * @rmtoll ICR DOWNCF LL_LPTIM_ClearFlag_DOWN
Anna Bridge 160:5571c4ff569f 1082 * @param LPTIMx Low-Power Timer instance
Anna Bridge 160:5571c4ff569f 1083 * @retval None
Anna Bridge 160:5571c4ff569f 1084 */
Anna Bridge 160:5571c4ff569f 1085 __STATIC_INLINE void LL_LPTIM_ClearFlag_DOWN(LPTIM_TypeDef *LPTIMx)
Anna Bridge 160:5571c4ff569f 1086 {
Anna Bridge 160:5571c4ff569f 1087 SET_BIT(LPTIMx->ICR, LPTIM_ICR_DOWNCF);
Anna Bridge 160:5571c4ff569f 1088 }
Anna Bridge 160:5571c4ff569f 1089
Anna Bridge 160:5571c4ff569f 1090 /**
Anna Bridge 160:5571c4ff569f 1091 * @brief Informs the application whether the counter direction has changed from up to down (when the LPTIM instance operates in encoder mode).
Anna Bridge 160:5571c4ff569f 1092 * @rmtoll ISR DOWN LL_LPTIM_IsActiveFlag_DOWN
Anna Bridge 160:5571c4ff569f 1093 * @param LPTIMx Low-Power Timer instance
Anna Bridge 160:5571c4ff569f 1094 * @retval State of bit (1 or 0).
Anna Bridge 160:5571c4ff569f 1095 */
Anna Bridge 160:5571c4ff569f 1096 __STATIC_INLINE uint32_t LL_LPTIM_IsActiveFlag_DOWN(LPTIM_TypeDef *LPTIMx)
Anna Bridge 160:5571c4ff569f 1097 {
Anna Bridge 160:5571c4ff569f 1098 return (READ_BIT(LPTIMx->ISR, LPTIM_ISR_DOWN) == (LPTIM_ISR_DOWN));
Anna Bridge 160:5571c4ff569f 1099 }
Anna Bridge 160:5571c4ff569f 1100
Anna Bridge 160:5571c4ff569f 1101 /**
Anna Bridge 160:5571c4ff569f 1102 * @}
Anna Bridge 160:5571c4ff569f 1103 */
Anna Bridge 160:5571c4ff569f 1104
Anna Bridge 160:5571c4ff569f 1105 /** @defgroup LPTIM_LL_EF_IT_Management Interrupt Management
Anna Bridge 160:5571c4ff569f 1106 * @{
Anna Bridge 160:5571c4ff569f 1107 */
Anna Bridge 160:5571c4ff569f 1108
Anna Bridge 160:5571c4ff569f 1109 /**
Anna Bridge 160:5571c4ff569f 1110 * @brief Enable compare match interrupt (CMPMIE).
Anna Bridge 160:5571c4ff569f 1111 * @rmtoll IER CMPMIE LL_LPTIM_EnableIT_CMPM
Anna Bridge 160:5571c4ff569f 1112 * @param LPTIMx Low-Power Timer instance
Anna Bridge 160:5571c4ff569f 1113 * @retval None
Anna Bridge 160:5571c4ff569f 1114 */
Anna Bridge 160:5571c4ff569f 1115 __STATIC_INLINE void LL_LPTIM_EnableIT_CMPM(LPTIM_TypeDef *LPTIMx)
Anna Bridge 160:5571c4ff569f 1116 {
Anna Bridge 160:5571c4ff569f 1117 SET_BIT(LPTIMx->IER, LPTIM_IER_CMPMIE);
Anna Bridge 160:5571c4ff569f 1118 }
Anna Bridge 160:5571c4ff569f 1119
Anna Bridge 160:5571c4ff569f 1120 /**
Anna Bridge 160:5571c4ff569f 1121 * @brief Disable compare match interrupt (CMPMIE).
Anna Bridge 160:5571c4ff569f 1122 * @rmtoll IER CMPMIE LL_LPTIM_DisableIT_CMPM
Anna Bridge 160:5571c4ff569f 1123 * @param LPTIMx Low-Power Timer instance
Anna Bridge 160:5571c4ff569f 1124 * @retval None
Anna Bridge 160:5571c4ff569f 1125 */
Anna Bridge 160:5571c4ff569f 1126 __STATIC_INLINE void LL_LPTIM_DisableIT_CMPM(LPTIM_TypeDef *LPTIMx)
Anna Bridge 160:5571c4ff569f 1127 {
Anna Bridge 160:5571c4ff569f 1128 CLEAR_BIT(LPTIMx->IER, LPTIM_IER_CMPMIE);
Anna Bridge 160:5571c4ff569f 1129 }
Anna Bridge 160:5571c4ff569f 1130
Anna Bridge 160:5571c4ff569f 1131 /**
Anna Bridge 160:5571c4ff569f 1132 * @brief Indicates whether the compare match interrupt (CMPMIE) is enabled.
Anna Bridge 160:5571c4ff569f 1133 * @rmtoll IER CMPMIE LL_LPTIM_IsEnabledIT_CMPM
Anna Bridge 160:5571c4ff569f 1134 * @param LPTIMx Low-Power Timer instance
Anna Bridge 160:5571c4ff569f 1135 * @retval State of bit (1 or 0).
Anna Bridge 160:5571c4ff569f 1136 */
Anna Bridge 160:5571c4ff569f 1137 __STATIC_INLINE uint32_t LL_LPTIM_IsEnabledIT_CMPM(LPTIM_TypeDef *LPTIMx)
Anna Bridge 160:5571c4ff569f 1138 {
Anna Bridge 160:5571c4ff569f 1139 return (READ_BIT(LPTIMx->IER, LPTIM_IER_CMPMIE) == (LPTIM_IER_CMPMIE));
Anna Bridge 160:5571c4ff569f 1140 }
Anna Bridge 160:5571c4ff569f 1141
Anna Bridge 160:5571c4ff569f 1142 /**
Anna Bridge 160:5571c4ff569f 1143 * @brief Enable autoreload match interrupt (ARRMIE).
Anna Bridge 160:5571c4ff569f 1144 * @rmtoll IER ARRMIE LL_LPTIM_EnableIT_ARRM
Anna Bridge 160:5571c4ff569f 1145 * @param LPTIMx Low-Power Timer instance
Anna Bridge 160:5571c4ff569f 1146 * @retval None
Anna Bridge 160:5571c4ff569f 1147 */
Anna Bridge 160:5571c4ff569f 1148 __STATIC_INLINE void LL_LPTIM_EnableIT_ARRM(LPTIM_TypeDef *LPTIMx)
Anna Bridge 160:5571c4ff569f 1149 {
Anna Bridge 160:5571c4ff569f 1150 SET_BIT(LPTIMx->IER, LPTIM_IER_ARRMIE);
Anna Bridge 160:5571c4ff569f 1151 }
Anna Bridge 160:5571c4ff569f 1152
Anna Bridge 160:5571c4ff569f 1153 /**
Anna Bridge 160:5571c4ff569f 1154 * @brief Disable autoreload match interrupt (ARRMIE).
Anna Bridge 160:5571c4ff569f 1155 * @rmtoll IER ARRMIE LL_LPTIM_DisableIT_ARRM
Anna Bridge 160:5571c4ff569f 1156 * @param LPTIMx Low-Power Timer instance
Anna Bridge 160:5571c4ff569f 1157 * @retval None
Anna Bridge 160:5571c4ff569f 1158 */
Anna Bridge 160:5571c4ff569f 1159 __STATIC_INLINE void LL_LPTIM_DisableIT_ARRM(LPTIM_TypeDef *LPTIMx)
Anna Bridge 160:5571c4ff569f 1160 {
Anna Bridge 160:5571c4ff569f 1161 CLEAR_BIT(LPTIMx->IER, LPTIM_IER_ARRMIE);
Anna Bridge 160:5571c4ff569f 1162 }
Anna Bridge 160:5571c4ff569f 1163
Anna Bridge 160:5571c4ff569f 1164 /**
Anna Bridge 160:5571c4ff569f 1165 * @brief Indicates whether the autoreload match interrupt (ARRMIE) is enabled.
Anna Bridge 160:5571c4ff569f 1166 * @rmtoll IER ARRMIE LL_LPTIM_IsEnabledIT_ARRM
Anna Bridge 160:5571c4ff569f 1167 * @param LPTIMx Low-Power Timer instance
Anna Bridge 160:5571c4ff569f 1168 * @retval State of bit (1 or 0).
Anna Bridge 160:5571c4ff569f 1169 */
Anna Bridge 160:5571c4ff569f 1170 __STATIC_INLINE uint32_t LL_LPTIM_IsEnabledIT_ARRM(LPTIM_TypeDef *LPTIMx)
Anna Bridge 160:5571c4ff569f 1171 {
Anna Bridge 160:5571c4ff569f 1172 return (READ_BIT(LPTIMx->IER, LPTIM_IER_ARRMIE) == (LPTIM_IER_ARRMIE));
Anna Bridge 160:5571c4ff569f 1173 }
Anna Bridge 160:5571c4ff569f 1174
Anna Bridge 160:5571c4ff569f 1175 /**
Anna Bridge 160:5571c4ff569f 1176 * @brief Enable external trigger valid edge interrupt (EXTTRIGIE).
Anna Bridge 160:5571c4ff569f 1177 * @rmtoll IER EXTTRIGIE LL_LPTIM_EnableIT_EXTTRIG
Anna Bridge 160:5571c4ff569f 1178 * @param LPTIMx Low-Power Timer instance
Anna Bridge 160:5571c4ff569f 1179 * @retval None
Anna Bridge 160:5571c4ff569f 1180 */
Anna Bridge 160:5571c4ff569f 1181 __STATIC_INLINE void LL_LPTIM_EnableIT_EXTTRIG(LPTIM_TypeDef *LPTIMx)
Anna Bridge 160:5571c4ff569f 1182 {
Anna Bridge 160:5571c4ff569f 1183 SET_BIT(LPTIMx->IER, LPTIM_IER_EXTTRIGIE);
Anna Bridge 160:5571c4ff569f 1184 }
Anna Bridge 160:5571c4ff569f 1185
Anna Bridge 160:5571c4ff569f 1186 /**
Anna Bridge 160:5571c4ff569f 1187 * @brief Disable external trigger valid edge interrupt (EXTTRIGIE).
Anna Bridge 160:5571c4ff569f 1188 * @rmtoll IER EXTTRIGIE LL_LPTIM_DisableIT_EXTTRIG
Anna Bridge 160:5571c4ff569f 1189 * @param LPTIMx Low-Power Timer instance
Anna Bridge 160:5571c4ff569f 1190 * @retval None
Anna Bridge 160:5571c4ff569f 1191 */
Anna Bridge 160:5571c4ff569f 1192 __STATIC_INLINE void LL_LPTIM_DisableIT_EXTTRIG(LPTIM_TypeDef *LPTIMx)
Anna Bridge 160:5571c4ff569f 1193 {
Anna Bridge 160:5571c4ff569f 1194 CLEAR_BIT(LPTIMx->IER, LPTIM_IER_EXTTRIGIE);
Anna Bridge 160:5571c4ff569f 1195 }
Anna Bridge 160:5571c4ff569f 1196
Anna Bridge 160:5571c4ff569f 1197 /**
Anna Bridge 160:5571c4ff569f 1198 * @brief Indicates external trigger valid edge interrupt (EXTTRIGIE) is enabled.
Anna Bridge 160:5571c4ff569f 1199 * @rmtoll IER EXTTRIGIE LL_LPTIM_IsEnabledIT_EXTTRIG
Anna Bridge 160:5571c4ff569f 1200 * @param LPTIMx Low-Power Timer instance
Anna Bridge 160:5571c4ff569f 1201 * @retval State of bit (1 or 0).
Anna Bridge 160:5571c4ff569f 1202 */
Anna Bridge 160:5571c4ff569f 1203 __STATIC_INLINE uint32_t LL_LPTIM_IsEnabledIT_EXTTRIG(LPTIM_TypeDef *LPTIMx)
Anna Bridge 160:5571c4ff569f 1204 {
Anna Bridge 160:5571c4ff569f 1205 return (READ_BIT(LPTIMx->IER, LPTIM_IER_EXTTRIGIE) == (LPTIM_IER_EXTTRIGIE));
Anna Bridge 160:5571c4ff569f 1206 }
Anna Bridge 160:5571c4ff569f 1207
Anna Bridge 160:5571c4ff569f 1208 /**
Anna Bridge 160:5571c4ff569f 1209 * @brief Enable compare register write completed interrupt (CMPOKIE).
Anna Bridge 160:5571c4ff569f 1210 * @rmtoll IER CMPOKIE LL_LPTIM_EnableIT_CMPOK
Anna Bridge 160:5571c4ff569f 1211 * @param LPTIMx Low-Power Timer instance
Anna Bridge 160:5571c4ff569f 1212 * @retval None
Anna Bridge 160:5571c4ff569f 1213 */
Anna Bridge 160:5571c4ff569f 1214 __STATIC_INLINE void LL_LPTIM_EnableIT_CMPOK(LPTIM_TypeDef *LPTIMx)
Anna Bridge 160:5571c4ff569f 1215 {
Anna Bridge 160:5571c4ff569f 1216 SET_BIT(LPTIMx->IER, LPTIM_IER_CMPOKIE);
Anna Bridge 160:5571c4ff569f 1217 }
Anna Bridge 160:5571c4ff569f 1218
Anna Bridge 160:5571c4ff569f 1219 /**
Anna Bridge 160:5571c4ff569f 1220 * @brief Disable compare register write completed interrupt (CMPOKIE).
Anna Bridge 160:5571c4ff569f 1221 * @rmtoll IER CMPOKIE LL_LPTIM_DisableIT_CMPOK
Anna Bridge 160:5571c4ff569f 1222 * @param LPTIMx Low-Power Timer instance
Anna Bridge 160:5571c4ff569f 1223 * @retval None
Anna Bridge 160:5571c4ff569f 1224 */
Anna Bridge 160:5571c4ff569f 1225 __STATIC_INLINE void LL_LPTIM_DisableIT_CMPOK(LPTIM_TypeDef *LPTIMx)
Anna Bridge 160:5571c4ff569f 1226 {
Anna Bridge 160:5571c4ff569f 1227 CLEAR_BIT(LPTIMx->IER, LPTIM_IER_CMPOKIE);
Anna Bridge 160:5571c4ff569f 1228 }
Anna Bridge 160:5571c4ff569f 1229
Anna Bridge 160:5571c4ff569f 1230 /**
Anna Bridge 160:5571c4ff569f 1231 * @brief Indicates whether the compare register write completed interrupt (CMPOKIE) is enabled.
Anna Bridge 160:5571c4ff569f 1232 * @rmtoll IER CMPOKIE LL_LPTIM_IsEnabledIT_CMPOK
Anna Bridge 160:5571c4ff569f 1233 * @param LPTIMx Low-Power Timer instance
Anna Bridge 160:5571c4ff569f 1234 * @retval State of bit (1 or 0).
Anna Bridge 160:5571c4ff569f 1235 */
Anna Bridge 160:5571c4ff569f 1236 __STATIC_INLINE uint32_t LL_LPTIM_IsEnabledIT_CMPOK(LPTIM_TypeDef *LPTIMx)
Anna Bridge 160:5571c4ff569f 1237 {
Anna Bridge 160:5571c4ff569f 1238 return (READ_BIT(LPTIMx->IER, LPTIM_IER_CMPOKIE) == (LPTIM_IER_CMPOKIE));
Anna Bridge 160:5571c4ff569f 1239 }
Anna Bridge 160:5571c4ff569f 1240
Anna Bridge 160:5571c4ff569f 1241 /**
Anna Bridge 160:5571c4ff569f 1242 * @brief Enable autoreload register write completed interrupt (ARROKIE).
Anna Bridge 160:5571c4ff569f 1243 * @rmtoll IER ARROKIE LL_LPTIM_EnableIT_ARROK
Anna Bridge 160:5571c4ff569f 1244 * @param LPTIMx Low-Power Timer instance
Anna Bridge 160:5571c4ff569f 1245 * @retval None
Anna Bridge 160:5571c4ff569f 1246 */
Anna Bridge 160:5571c4ff569f 1247 __STATIC_INLINE void LL_LPTIM_EnableIT_ARROK(LPTIM_TypeDef *LPTIMx)
Anna Bridge 160:5571c4ff569f 1248 {
Anna Bridge 160:5571c4ff569f 1249 SET_BIT(LPTIMx->IER, LPTIM_IER_ARROKIE);
Anna Bridge 160:5571c4ff569f 1250 }
Anna Bridge 160:5571c4ff569f 1251
Anna Bridge 160:5571c4ff569f 1252 /**
Anna Bridge 160:5571c4ff569f 1253 * @brief Disable autoreload register write completed interrupt (ARROKIE).
Anna Bridge 160:5571c4ff569f 1254 * @rmtoll IER ARROKIE LL_LPTIM_DisableIT_ARROK
Anna Bridge 160:5571c4ff569f 1255 * @param LPTIMx Low-Power Timer instance
Anna Bridge 160:5571c4ff569f 1256 * @retval None
Anna Bridge 160:5571c4ff569f 1257 */
Anna Bridge 160:5571c4ff569f 1258 __STATIC_INLINE void LL_LPTIM_DisableIT_ARROK(LPTIM_TypeDef *LPTIMx)
Anna Bridge 160:5571c4ff569f 1259 {
Anna Bridge 160:5571c4ff569f 1260 CLEAR_BIT(LPTIMx->IER, LPTIM_IER_ARROKIE);
Anna Bridge 160:5571c4ff569f 1261 }
Anna Bridge 160:5571c4ff569f 1262
Anna Bridge 160:5571c4ff569f 1263 /**
Anna Bridge 160:5571c4ff569f 1264 * @brief Indicates whether the autoreload register write completed interrupt (ARROKIE) is enabled.
Anna Bridge 160:5571c4ff569f 1265 * @rmtoll IER ARROKIE LL_LPTIM_IsEnabledIT_ARROK
Anna Bridge 160:5571c4ff569f 1266 * @param LPTIMx Low-Power Timer instance
Anna Bridge 160:5571c4ff569f 1267 * @retval State of bit (1 or 0).
Anna Bridge 160:5571c4ff569f 1268 */
Anna Bridge 160:5571c4ff569f 1269 __STATIC_INLINE uint32_t LL_LPTIM_IsEnabledIT_ARROK(LPTIM_TypeDef *LPTIMx)
Anna Bridge 160:5571c4ff569f 1270 {
Anna Bridge 160:5571c4ff569f 1271 return (READ_BIT(LPTIMx->IER, LPTIM_IER_ARROKIE) == (LPTIM_IER_ARROKIE));
Anna Bridge 160:5571c4ff569f 1272 }
Anna Bridge 160:5571c4ff569f 1273
Anna Bridge 160:5571c4ff569f 1274 /**
Anna Bridge 160:5571c4ff569f 1275 * @brief Enable direction change to up interrupt (UPIE).
Anna Bridge 160:5571c4ff569f 1276 * @rmtoll IER UPIE LL_LPTIM_EnableIT_UP
Anna Bridge 160:5571c4ff569f 1277 * @param LPTIMx Low-Power Timer instance
Anna Bridge 160:5571c4ff569f 1278 * @retval None
Anna Bridge 160:5571c4ff569f 1279 */
Anna Bridge 160:5571c4ff569f 1280 __STATIC_INLINE void LL_LPTIM_EnableIT_UP(LPTIM_TypeDef *LPTIMx)
Anna Bridge 160:5571c4ff569f 1281 {
Anna Bridge 160:5571c4ff569f 1282 SET_BIT(LPTIMx->IER, LPTIM_IER_UPIE);
Anna Bridge 160:5571c4ff569f 1283 }
Anna Bridge 160:5571c4ff569f 1284
Anna Bridge 160:5571c4ff569f 1285 /**
Anna Bridge 160:5571c4ff569f 1286 * @brief Disable direction change to up interrupt (UPIE).
Anna Bridge 160:5571c4ff569f 1287 * @rmtoll IER UPIE LL_LPTIM_DisableIT_UP
Anna Bridge 160:5571c4ff569f 1288 * @param LPTIMx Low-Power Timer instance
Anna Bridge 160:5571c4ff569f 1289 * @retval None
Anna Bridge 160:5571c4ff569f 1290 */
Anna Bridge 160:5571c4ff569f 1291 __STATIC_INLINE void LL_LPTIM_DisableIT_UP(LPTIM_TypeDef *LPTIMx)
Anna Bridge 160:5571c4ff569f 1292 {
Anna Bridge 160:5571c4ff569f 1293 CLEAR_BIT(LPTIMx->IER, LPTIM_IER_UPIE);
Anna Bridge 160:5571c4ff569f 1294 }
Anna Bridge 160:5571c4ff569f 1295
Anna Bridge 160:5571c4ff569f 1296 /**
Anna Bridge 160:5571c4ff569f 1297 * @brief Indicates whether the direction change to up interrupt (UPIE) is enabled.
Anna Bridge 160:5571c4ff569f 1298 * @rmtoll IER UPIE LL_LPTIM_IsEnabledIT_UP
Anna Bridge 160:5571c4ff569f 1299 * @param LPTIMx Low-Power Timer instance
Anna Bridge 160:5571c4ff569f 1300 * @retval State of bit (1 or 0).
Anna Bridge 160:5571c4ff569f 1301 */
Anna Bridge 160:5571c4ff569f 1302 __STATIC_INLINE uint32_t LL_LPTIM_IsEnabledIT_UP(LPTIM_TypeDef *LPTIMx)
Anna Bridge 160:5571c4ff569f 1303 {
Anna Bridge 160:5571c4ff569f 1304 return (READ_BIT(LPTIMx->IER, LPTIM_IER_UPIE) == (LPTIM_IER_UPIE));
Anna Bridge 160:5571c4ff569f 1305 }
Anna Bridge 160:5571c4ff569f 1306
Anna Bridge 160:5571c4ff569f 1307 /**
Anna Bridge 160:5571c4ff569f 1308 * @brief Enable direction change to down interrupt (DOWNIE).
Anna Bridge 160:5571c4ff569f 1309 * @rmtoll IER DOWNIE LL_LPTIM_EnableIT_DOWN
Anna Bridge 160:5571c4ff569f 1310 * @param LPTIMx Low-Power Timer instance
Anna Bridge 160:5571c4ff569f 1311 * @retval None
Anna Bridge 160:5571c4ff569f 1312 */
Anna Bridge 160:5571c4ff569f 1313 __STATIC_INLINE void LL_LPTIM_EnableIT_DOWN(LPTIM_TypeDef *LPTIMx)
Anna Bridge 160:5571c4ff569f 1314 {
Anna Bridge 160:5571c4ff569f 1315 SET_BIT(LPTIMx->IER, LPTIM_IER_DOWNIE);
Anna Bridge 160:5571c4ff569f 1316 }
Anna Bridge 160:5571c4ff569f 1317
Anna Bridge 160:5571c4ff569f 1318 /**
Anna Bridge 160:5571c4ff569f 1319 * @brief Disable direction change to down interrupt (DOWNIE).
Anna Bridge 160:5571c4ff569f 1320 * @rmtoll IER DOWNIE LL_LPTIM_DisableIT_DOWN
Anna Bridge 160:5571c4ff569f 1321 * @param LPTIMx Low-Power Timer instance
Anna Bridge 160:5571c4ff569f 1322 * @retval None
Anna Bridge 160:5571c4ff569f 1323 */
Anna Bridge 160:5571c4ff569f 1324 __STATIC_INLINE void LL_LPTIM_DisableIT_DOWN(LPTIM_TypeDef *LPTIMx)
Anna Bridge 160:5571c4ff569f 1325 {
Anna Bridge 160:5571c4ff569f 1326 CLEAR_BIT(LPTIMx->IER, LPTIM_IER_DOWNIE);
Anna Bridge 160:5571c4ff569f 1327 }
Anna Bridge 160:5571c4ff569f 1328
Anna Bridge 160:5571c4ff569f 1329 /**
Anna Bridge 160:5571c4ff569f 1330 * @brief Indicates whether the direction change to down interrupt (DOWNIE) is enabled.
Anna Bridge 160:5571c4ff569f 1331 * @rmtoll IER DOWNIE LL_LPTIM_IsEnabledIT_DOWN
Anna Bridge 160:5571c4ff569f 1332 * @param LPTIMx Low-Power Timer instance
Anna Bridge 160:5571c4ff569f 1333 * @retval State of bit (1 or 0).
Anna Bridge 160:5571c4ff569f 1334 */
Anna Bridge 160:5571c4ff569f 1335 __STATIC_INLINE uint32_t LL_LPTIM_IsEnabledIT_DOWN(LPTIM_TypeDef *LPTIMx)
Anna Bridge 160:5571c4ff569f 1336 {
Anna Bridge 160:5571c4ff569f 1337 return (READ_BIT(LPTIMx->IER, LPTIM_IER_DOWNIE) == (LPTIM_IER_DOWNIE));
Anna Bridge 160:5571c4ff569f 1338 }
Anna Bridge 160:5571c4ff569f 1339
Anna Bridge 160:5571c4ff569f 1340 /**
Anna Bridge 160:5571c4ff569f 1341 * @}
Anna Bridge 160:5571c4ff569f 1342 */
Anna Bridge 160:5571c4ff569f 1343
Anna Bridge 160:5571c4ff569f 1344 #if defined(USE_FULL_LL_DRIVER)
Anna Bridge 160:5571c4ff569f 1345 /** @defgroup LPTIM_LL_EF_Init Initialisation and deinitialisation functions
Anna Bridge 160:5571c4ff569f 1346 * @{
Anna Bridge 160:5571c4ff569f 1347 */
Anna Bridge 160:5571c4ff569f 1348
Anna Bridge 160:5571c4ff569f 1349 ErrorStatus LL_LPTIM_DeInit(LPTIM_TypeDef *LPTIMx);
Anna Bridge 160:5571c4ff569f 1350 void LL_LPTIM_StructInit(LL_LPTIM_InitTypeDef *LPTIM_InitStruct);
Anna Bridge 160:5571c4ff569f 1351 ErrorStatus LL_LPTIM_Init(LPTIM_TypeDef *LPTIMx, LL_LPTIM_InitTypeDef *LPTIM_InitStruct);
Anna Bridge 160:5571c4ff569f 1352 /**
Anna Bridge 160:5571c4ff569f 1353 * @}
Anna Bridge 160:5571c4ff569f 1354 */
Anna Bridge 160:5571c4ff569f 1355 #endif /* USE_FULL_LL_DRIVER */
Anna Bridge 160:5571c4ff569f 1356
Anna Bridge 160:5571c4ff569f 1357 /**
Anna Bridge 160:5571c4ff569f 1358 * @}
Anna Bridge 160:5571c4ff569f 1359 */
Anna Bridge 160:5571c4ff569f 1360
Anna Bridge 160:5571c4ff569f 1361 /**
Anna Bridge 160:5571c4ff569f 1362 * @}
Anna Bridge 160:5571c4ff569f 1363 */
Anna Bridge 160:5571c4ff569f 1364
Anna Bridge 160:5571c4ff569f 1365 #endif /* LPTIM1 */
Anna Bridge 160:5571c4ff569f 1366
Anna Bridge 160:5571c4ff569f 1367 /**
Anna Bridge 160:5571c4ff569f 1368 * @}
Anna Bridge 160:5571c4ff569f 1369 */
Anna Bridge 160:5571c4ff569f 1370
Anna Bridge 160:5571c4ff569f 1371 #ifdef __cplusplus
Anna Bridge 160:5571c4ff569f 1372 }
Anna Bridge 160:5571c4ff569f 1373 #endif
Anna Bridge 160:5571c4ff569f 1374
Anna Bridge 160:5571c4ff569f 1375 #endif /* __STM32F4xx_LL_LPTIM_H */
Anna Bridge 160:5571c4ff569f 1376
Anna Bridge 160:5571c4ff569f 1377 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/