168#ifdef HAL_LPTIM_MODULE_ENABLED
177#define TIMEOUT 1000UL
185#if (USE_HAL_LPTIM_REGISTER_CALLBACKS == 1)
256#if (USE_HAL_LPTIM_REGISTER_CALLBACKS == 1)
258 LPTIM_ResetCallback(hlptim);
260 if (hlptim->MspInitCallback == NULL)
266 hlptim->MspInitCallback(hlptim);
282 tmpcfgr &= (uint32_t)(~(LPTIM_CFGR_CKPOL | LPTIM_CFGR_CKFLT));
286 tmpcfgr &= (uint32_t)(~(LPTIM_CFGR_TRGFLT | LPTIM_CFGR_TRIGSEL));
290 tmpcfgr &= (uint32_t)(~(LPTIM_CFGR_CKSEL | LPTIM_CFGR_TRIGEN | LPTIM_CFGR_PRELOAD |
291 LPTIM_CFGR_WAVPOL | LPTIM_CFGR_PRESC | LPTIM_CFGR_COUNTMODE));
360#if (USE_HAL_LPTIM_REGISTER_CALLBACKS == 1)
361 if (hlptim->MspDeInitCallback == NULL)
367 hlptim->MspDeInitCallback(hlptim);
463 hlptim->
Instance->CFGR &= ~LPTIM_CFGR_WAVE;
550 hlptim->
Instance->CFGR &= ~LPTIM_CFGR_WAVE;
686 hlptim->
Instance->CFGR &= ~LPTIM_CFGR_WAVE;
773 hlptim->
Instance->CFGR &= ~LPTIM_CFGR_WAVE;
910 hlptim->
Instance->CFGR |= LPTIM_CFGR_WAVE;
997 hlptim->
Instance->CFGR |= LPTIM_CFGR_WAVE;
1138 tmpcfgr &= (uint32_t)(~LPTIM_CFGR_CKPOL);
1147 hlptim->
Instance->CFGR |= LPTIM_CFGR_ENC;
1196 hlptim->
Instance->CFGR &= ~LPTIM_CFGR_ENC;
1231 tmpcfgr &= (uint32_t)(~LPTIM_CFGR_CKPOL);
1240 hlptim->
Instance->CFGR |= LPTIM_CFGR_ENC;
1306 hlptim->
Instance->CFGR &= ~LPTIM_CFGR_ENC;
1343 hlptim->
Instance->CFGR |= LPTIM_CFGR_TIMOUT;
1404 hlptim->
Instance->CFGR &= ~LPTIM_CFGR_TIMOUT;
1436#if defined(EXTI_IMR_MR23)
1438 __HAL_LPTIM_WAKEUPTIMER_EXTI_ENABLE_RISING_EDGE();
1442 hlptim->
Instance->CFGR |= LPTIM_CFGR_TIMOUT;
1505#if defined(EXTI_IMR_MR23)
1507 __HAL_LPTIM_WAKEUPTIMER_EXTI_DISABLE_RISING_EDGE();
1525 hlptim->
Instance->CFGR &= ~LPTIM_CFGR_TIMOUT;
1560 hlptim->
Instance->CFGR &= ~LPTIM_CFGR_PRESC;
1634#if defined(EXTI_IMR_MR23)
1636 __HAL_LPTIM_WAKEUPTIMER_EXTI_ENABLE_RISING_EDGE();
1646 hlptim->
Instance->CFGR &= ~LPTIM_CFGR_PRESC;
1701#if defined(EXTI_IMR_MR23)
1703 __HAL_LPTIM_WAKEUPTIMER_EXTI_DISABLE_RISING_EDGE();
1832#if (USE_HAL_LPTIM_REGISTER_CALLBACKS == 1)
1833 hlptim->CompareMatchCallback(hlptim);
1849#if (USE_HAL_LPTIM_REGISTER_CALLBACKS == 1)
1850 hlptim->AutoReloadMatchCallback(hlptim);
1866#if (USE_HAL_LPTIM_REGISTER_CALLBACKS == 1)
1867 hlptim->TriggerCallback(hlptim);
1883#if (USE_HAL_LPTIM_REGISTER_CALLBACKS == 1)
1884 hlptim->CompareWriteCallback(hlptim);
1900#if (USE_HAL_LPTIM_REGISTER_CALLBACKS == 1)
1901 hlptim->AutoReloadWriteCallback(hlptim);
1917#if (USE_HAL_LPTIM_REGISTER_CALLBACKS == 1)
1918 hlptim->DirectionUpCallback(hlptim);
1934#if (USE_HAL_LPTIM_REGISTER_CALLBACKS == 1)
1935 hlptim->DirectionDownCallback(hlptim);
1941#if defined(EXTI_IMR_MR23)
1942 __HAL_LPTIM_WAKEUPTIMER_EXTI_CLEAR_FLAG();
2051#if (USE_HAL_LPTIM_REGISTER_CALLBACKS == 1)
2070 HAL_LPTIM_CallbackIDTypeDef CallbackID,
2071 pLPTIM_CallbackTypeDef pCallback)
2075 if (pCallback == NULL)
2084 case HAL_LPTIM_MSPINIT_CB_ID :
2085 hlptim->MspInitCallback = pCallback;
2088 case HAL_LPTIM_MSPDEINIT_CB_ID :
2089 hlptim->MspDeInitCallback = pCallback;
2092 case HAL_LPTIM_COMPARE_MATCH_CB_ID :
2093 hlptim->CompareMatchCallback = pCallback;
2096 case HAL_LPTIM_AUTORELOAD_MATCH_CB_ID :
2097 hlptim->AutoReloadMatchCallback = pCallback;
2100 case HAL_LPTIM_TRIGGER_CB_ID :
2101 hlptim->TriggerCallback = pCallback;
2104 case HAL_LPTIM_COMPARE_WRITE_CB_ID :
2105 hlptim->CompareWriteCallback = pCallback;
2108 case HAL_LPTIM_AUTORELOAD_WRITE_CB_ID :
2109 hlptim->AutoReloadWriteCallback = pCallback;
2112 case HAL_LPTIM_DIRECTION_UP_CB_ID :
2113 hlptim->DirectionUpCallback = pCallback;
2116 case HAL_LPTIM_DIRECTION_DOWN_CB_ID :
2117 hlptim->DirectionDownCallback = pCallback;
2130 case HAL_LPTIM_MSPINIT_CB_ID :
2131 hlptim->MspInitCallback = pCallback;
2134 case HAL_LPTIM_MSPDEINIT_CB_ID :
2135 hlptim->MspDeInitCallback = pCallback;
2171 HAL_LPTIM_CallbackIDTypeDef CallbackID)
2179 case HAL_LPTIM_MSPINIT_CB_ID :
2184 case HAL_LPTIM_MSPDEINIT_CB_ID :
2189 case HAL_LPTIM_COMPARE_MATCH_CB_ID :
2194 case HAL_LPTIM_AUTORELOAD_MATCH_CB_ID :
2199 case HAL_LPTIM_TRIGGER_CB_ID :
2204 case HAL_LPTIM_COMPARE_WRITE_CB_ID :
2209 case HAL_LPTIM_AUTORELOAD_WRITE_CB_ID :
2214 case HAL_LPTIM_DIRECTION_UP_CB_ID :
2219 case HAL_LPTIM_DIRECTION_DOWN_CB_ID :
2234 case HAL_LPTIM_MSPINIT_CB_ID :
2239 case HAL_LPTIM_MSPDEINIT_CB_ID :
2286 return hlptim->
State;
2303#if (USE_HAL_LPTIM_REGISTER_CALLBACKS == 1)
2333 uint32_t count =
TIMEOUT * (SystemCoreClock / 20UL / 1000UL);
2357 uint32_t tmpclksource = 0;
2362 uint32_t primask_bit;
2366 primask_bit = __get_PRIMASK();
2371 switch ((uint32_t)hlptim->
Instance)
2374 tmpclksource = __HAL_RCC_GET_LPTIM1_SOURCE();
2388 switch ((uint32_t)hlptim->
Instance)
2391 __HAL_RCC_LPTIM1_FORCE_RESET();
2392 __HAL_RCC_LPTIM1_RELEASE_RESET();
2399 if ((tmpCMP != 0UL) || (tmpARR != 0UL))
2402 switch ((uint32_t)hlptim->
Instance)
2405 __HAL_RCC_LPTIM1_CONFIG(RCC_LPTIM1CLKSOURCE_PCLK1);
2414 hlptim->
Instance->CR |= LPTIM_CR_ENABLE;
2428 hlptim->
Instance->CR |= LPTIM_CR_ENABLE;
2441 switch ((uint32_t)hlptim->
Instance)
2444 __HAL_RCC_LPTIM1_CONFIG(tmpclksource);
2452 hlptim->
Instance->CR &= ~(LPTIM_CR_ENABLE);
2458 __set_PRIMASK(primask_bit);
#define HAL_LPTIM_ReadCompare
#define LPTIM_PRESCALER_DIV1
#define LPTIM_CLOCKSOURCE_ULPTIM
#define LPTIM_CLOCKSOURCE_APBCLOCK_LPOSC
#define LPTIM_COUNTERSOURCE_EXTERNAL
void HAL_LPTIM_MspInit(LPTIM_HandleTypeDef *hlptim)
Initialize the LPTIM MSP.
HAL_StatusTypeDef HAL_LPTIM_DeInit(LPTIM_HandleTypeDef *hlptim)
DeInitialize the LPTIM peripheral.
void HAL_LPTIM_MspDeInit(LPTIM_HandleTypeDef *hlptim)
DeInitialize LPTIM MSP.
HAL_StatusTypeDef HAL_LPTIM_Init(LPTIM_HandleTypeDef *hlptim)
Initialize the LPTIM according to the specified parameters in the LPTIM_InitTypeDef and initialize th...
HAL_StatusTypeDef HAL_LPTIM_TimeOut_Start(LPTIM_HandleTypeDef *hlptim, uint32_t Period, uint32_t Timeout)
Start the Timeout function.
HAL_StatusTypeDef HAL_LPTIM_SetOnce_Stop(LPTIM_HandleTypeDef *hlptim)
Stop the LPTIM Set once mode.
HAL_StatusTypeDef HAL_LPTIM_Encoder_Start_IT(LPTIM_HandleTypeDef *hlptim, uint32_t Period)
Start the Encoder interface in interrupt mode.
HAL_StatusTypeDef HAL_LPTIM_Encoder_Start(LPTIM_HandleTypeDef *hlptim, uint32_t Period)
Start the Encoder interface.
HAL_StatusTypeDef HAL_LPTIM_PWM_Stop(LPTIM_HandleTypeDef *hlptim)
Stop the LPTIM PWM generation.
HAL_StatusTypeDef HAL_LPTIM_TimeOut_Stop_IT(LPTIM_HandleTypeDef *hlptim)
Stop the Timeout function in interrupt mode.
HAL_StatusTypeDef HAL_LPTIM_PWM_Start(LPTIM_HandleTypeDef *hlptim, uint32_t Period, uint32_t Pulse)
Start the LPTIM PWM generation.
HAL_StatusTypeDef HAL_LPTIM_SetOnce_Stop_IT(LPTIM_HandleTypeDef *hlptim)
Stop the LPTIM Set once mode in interrupt mode.
HAL_StatusTypeDef HAL_LPTIM_SetOnce_Start_IT(LPTIM_HandleTypeDef *hlptim, uint32_t Period, uint32_t Pulse)
Start the LPTIM Set once mode in interrupt mode.
HAL_StatusTypeDef HAL_LPTIM_TimeOut_Stop(LPTIM_HandleTypeDef *hlptim)
Stop the Timeout function.
HAL_StatusTypeDef HAL_LPTIM_SetOnce_Start(LPTIM_HandleTypeDef *hlptim, uint32_t Period, uint32_t Pulse)
Start the LPTIM in Set once mode.
HAL_StatusTypeDef HAL_LPTIM_Counter_Start_IT(LPTIM_HandleTypeDef *hlptim, uint32_t Period)
Start the Counter mode in interrupt mode.
HAL_StatusTypeDef HAL_LPTIM_OnePulse_Stop_IT(LPTIM_HandleTypeDef *hlptim)
Stop the LPTIM One pulse generation in interrupt mode.
HAL_StatusTypeDef HAL_LPTIM_PWM_Start_IT(LPTIM_HandleTypeDef *hlptim, uint32_t Period, uint32_t Pulse)
Start the LPTIM PWM generation in interrupt mode.
HAL_StatusTypeDef HAL_LPTIM_Counter_Start(LPTIM_HandleTypeDef *hlptim, uint32_t Period)
Start the Counter mode.
HAL_StatusTypeDef HAL_LPTIM_Counter_Stop(LPTIM_HandleTypeDef *hlptim)
Stop the Counter mode.
HAL_StatusTypeDef HAL_LPTIM_OnePulse_Stop(LPTIM_HandleTypeDef *hlptim)
Stop the LPTIM One pulse generation.
HAL_StatusTypeDef HAL_LPTIM_OnePulse_Start_IT(LPTIM_HandleTypeDef *hlptim, uint32_t Period, uint32_t Pulse)
Start the LPTIM One pulse generation in interrupt mode.
HAL_StatusTypeDef HAL_LPTIM_TimeOut_Start_IT(LPTIM_HandleTypeDef *hlptim, uint32_t Period, uint32_t Timeout)
Start the Timeout function in interrupt mode.
HAL_StatusTypeDef HAL_LPTIM_PWM_Stop_IT(LPTIM_HandleTypeDef *hlptim)
Stop the LPTIM PWM generation in interrupt mode.
HAL_StatusTypeDef HAL_LPTIM_Counter_Stop_IT(LPTIM_HandleTypeDef *hlptim)
Stop the Counter mode in interrupt mode.
HAL_StatusTypeDef HAL_LPTIM_Encoder_Stop(LPTIM_HandleTypeDef *hlptim)
Stop the Encoder interface.
HAL_StatusTypeDef HAL_LPTIM_Encoder_Stop_IT(LPTIM_HandleTypeDef *hlptim)
Stop the Encoder interface in interrupt mode.
HAL_StatusTypeDef HAL_LPTIM_OnePulse_Start(LPTIM_HandleTypeDef *hlptim, uint32_t Period, uint32_t Pulse)
Start the LPTIM One pulse generation.
uint32_t HAL_LPTIM_ReadAutoReload(const LPTIM_HandleTypeDef *hlptim)
Return the current Autoreload (Period) value.
uint32_t HAL_LPTIM_ReadCounter(const LPTIM_HandleTypeDef *hlptim)
Return the current counter value.
void HAL_LPTIM_DirectionDownCallback(LPTIM_HandleTypeDef *hlptim)
Direction counter changed from Up to Down callback in non-blocking mode.
void HAL_LPTIM_AutoReloadMatchCallback(LPTIM_HandleTypeDef *hlptim)
Autoreload match callback in non-blocking mode.
void HAL_LPTIM_AutoReloadWriteCallback(LPTIM_HandleTypeDef *hlptim)
Autoreload write callback in non-blocking mode.
void HAL_LPTIM_IRQHandler(LPTIM_HandleTypeDef *hlptim)
Handle LPTIM interrupt request.
void HAL_LPTIM_CompareMatchCallback(LPTIM_HandleTypeDef *hlptim)
Compare match callback in non-blocking mode.
void HAL_LPTIM_CompareWriteCallback(LPTIM_HandleTypeDef *hlptim)
Compare write callback in non-blocking mode.
void HAL_LPTIM_TriggerCallback(LPTIM_HandleTypeDef *hlptim)
Trigger detected callback in non-blocking mode.
void HAL_LPTIM_DirectionUpCallback(LPTIM_HandleTypeDef *hlptim)
Direction counter changed from Down to Up callback in non-blocking mode.
#define __HAL_LPTIM_GET_IT_SOURCE(__HANDLE__, __INTERRUPT__)
Check whether the specified LPTIM interrupt source is enabled or not.
#define __HAL_LPTIM_DISABLE(__HANDLE__)
Disable the LPTIM peripheral.
#define __HAL_LPTIM_AUTORELOAD_SET(__HANDLE__, __VALUE__)
Write the passed parameter in the Autoreload register.
#define __HAL_LPTIM_ENABLE(__HANDLE__)
Enable the LPTIM peripheral.
#define __HAL_LPTIM_CLEAR_FLAG(__HANDLE__, __FLAG__)
Clear the specified LPTIM flag.
#define __HAL_LPTIM_START_SINGLE(__HANDLE__)
Start the LPTIM peripheral in single mode.
#define __HAL_LPTIM_ENABLE_IT(__HANDLE__, __INTERRUPT__)
Enable the specified LPTIM interrupt.
#define __HAL_LPTIM_WAKEUPTIMER_EXTI_DISABLE_IT()
Disable interrupt on the LPTIM Wake-up Timer associated Exti line.
#define __HAL_LPTIM_START_CONTINUOUS(__HANDLE__)
Start the LPTIM peripheral in Continuous mode.
#define __HAL_LPTIM_DISABLE_IT(__HANDLE__, __INTERRUPT__)
Disable the specified LPTIM interrupt.
#define __HAL_LPTIM_GET_FLAG(__HANDLE__, __FLAG__)
Check whether the specified LPTIM flag is set or not.
#define __HAL_LPTIM_WAKEUPTIMER_EXTI_ENABLE_IT()
Enable interrupt on the LPTIM Wake-up Timer associated Exti line.
#define __HAL_LPTIM_COMPARE_SET(__HANDLE__, __VALUE__)
Write the passed parameter in the Compare register.
HAL_LPTIM_StateTypeDef
HAL LPTIM State structure definition.
@ HAL_LPTIM_STATE_TIMEOUT
#define LPTIM_FLAG_EXTTRIG
HAL_LPTIM_StateTypeDef HAL_LPTIM_GetState(const LPTIM_HandleTypeDef *hlptim)
Return the LPTIM handle state.
void LPTIM_Disable(LPTIM_HandleTypeDef *hlptim)
Disable LPTIM HW instance.
#define IS_LPTIM_COUNTER_SOURCE(__SOURCE__)
#define IS_LPTIM_CLOCK_PRESCALERDIV1(__PRESCALER__)
#define IS_LPTIM_UPDATE_MODE(__MODE__)
#define IS_LPTIM_TRG_SOURCE(__TRIG__)
#define IS_LPTIM_PERIOD(__PERIOD__)
#define IS_LPTIM_CLOCK_PRESCALER(__PRESCALER__)
#define IS_LPTIM_PULSE(__PULSE__)
#define IS_LPTIM_EXT_TRG_POLARITY(__POLARITY__)
#define IS_LPTIM_CLOCK_POLARITY(__POLARITY__)
#define IS_LPTIM_TRIG_SAMPLE_TIME(__SAMPLETIME__)
#define IS_LPTIM_CLOCK_SOURCE(__SOURCE__)
#define IS_LPTIM_OUTPUT_POLARITY(__POLARITY__)
#define IS_LPTIM_CLOCK_SAMPLE_TIME(__SAMPLETIME__)
#define LPTIM_TRIGSOURCE_SOFTWARE
static HAL_StatusTypeDef LPTIM_WaitForFlag(const LPTIM_HandleTypeDef *hlptim, uint32_t flag)
LPTimer Wait for flag set.
#define assert_param(expr)
This file contains all the functions prototypes for the HAL module driver.
HAL_StatusTypeDef
HAL Status structures definition
#define __HAL_UNLOCK(__HANDLE__)
LPTIM handle Structure definition.
__IO HAL_LPTIM_StateTypeDef State
LPTIM_TriggerConfigTypeDef Trigger
LPTIM_ULPClockConfigTypeDef UltraLowPowerClock
LPTIM_ClockConfigTypeDef Clock