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:
AnnaBridge
Date:
Wed Jun 21 17:31:38 2017 +0100
Revision:
145:64910690c574
Child:
161:aa5281ff4a02
Release 145 of the mbed library.

Who changed what in which revision?

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