STM32F4xx HAL Documentation
Hardware Abstraction Layer for STM32F4 familiy
Loading...
Searching...
No Matches
stm32f4xx_hal_lptim.h
Go to the documentation of this file.
1
19/* Define to prevent recursive inclusion -------------------------------------*/
20#ifndef STM32F4xx_HAL_LPTIM_H
21#define STM32F4xx_HAL_LPTIM_H
22
23#ifdef __cplusplus
24extern "C" {
25#endif
26
27/* Includes ------------------------------------------------------------------*/
28#include "stm32f4xx_hal_def.h"
29
34#if defined (LPTIM1)
35
40/* Exported types ------------------------------------------------------------*/
44#define LPTIM_EXTI_LINE_WAKEUPTIMER_EVENT EXTI_IMR_MR23
49typedef struct
50{
51 uint32_t Source;
54 uint32_t Prescaler;
58
62typedef struct
63{
64 uint32_t Polarity;
71 uint32_t SampleTime;
76
80typedef struct
81{
82 uint32_t Source;
85 uint32_t ActiveEdge;
89 uint32_t SampleTime;
93
116
128
132#if (USE_HAL_LPTIM_REGISTER_CALLBACKS == 1)
133typedef struct __LPTIM_HandleTypeDef
134#else
135typedef struct
136#endif /* USE_HAL_LPTIM_REGISTER_CALLBACKS */
137{
138 LPTIM_TypeDef *Instance;
148#if (USE_HAL_LPTIM_REGISTER_CALLBACKS == 1)
149 void (* MspInitCallback)(struct __LPTIM_HandleTypeDef *hlptim);
150 void (* MspDeInitCallback)(struct __LPTIM_HandleTypeDef *hlptim);
151 void (* CompareMatchCallback)(struct __LPTIM_HandleTypeDef *hlptim);
152 void (* AutoReloadMatchCallback)(struct __LPTIM_HandleTypeDef *hlptim);
153 void (* TriggerCallback)(struct __LPTIM_HandleTypeDef *hlptim);
154 void (* CompareWriteCallback)(struct __LPTIM_HandleTypeDef *hlptim);
155 void (* AutoReloadWriteCallback)(struct __LPTIM_HandleTypeDef *hlptim);
156 void (* DirectionUpCallback)(struct __LPTIM_HandleTypeDef *hlptim);
157 void (* DirectionDownCallback)(struct __LPTIM_HandleTypeDef *hlptim);
158#endif /* USE_HAL_LPTIM_REGISTER_CALLBACKS */
160
161#if (USE_HAL_LPTIM_REGISTER_CALLBACKS == 1)
165typedef enum
166{
167 HAL_LPTIM_MSPINIT_CB_ID = 0x00U,
168 HAL_LPTIM_MSPDEINIT_CB_ID = 0x01U,
169 HAL_LPTIM_COMPARE_MATCH_CB_ID = 0x02U,
170 HAL_LPTIM_AUTORELOAD_MATCH_CB_ID = 0x03U,
171 HAL_LPTIM_TRIGGER_CB_ID = 0x04U,
172 HAL_LPTIM_COMPARE_WRITE_CB_ID = 0x05U,
173 HAL_LPTIM_AUTORELOAD_WRITE_CB_ID = 0x06U,
174 HAL_LPTIM_DIRECTION_UP_CB_ID = 0x07U,
175 HAL_LPTIM_DIRECTION_DOWN_CB_ID = 0x08U,
176} HAL_LPTIM_CallbackIDTypeDef;
177
181typedef void (*pLPTIM_CallbackTypeDef)(LPTIM_HandleTypeDef *hlptim);
183#endif /* USE_HAL_LPTIM_REGISTER_CALLBACKS */
188/* Exported constants --------------------------------------------------------*/
196#define LPTIM_CLOCKSOURCE_APBCLOCK_LPOSC 0x00000000U
197#define LPTIM_CLOCKSOURCE_ULPTIM LPTIM_CFGR_CKSEL
205#define LPTIM_PRESCALER_DIV1 0x00000000U
206#define LPTIM_PRESCALER_DIV2 LPTIM_CFGR_PRESC_0
207#define LPTIM_PRESCALER_DIV4 LPTIM_CFGR_PRESC_1
208#define LPTIM_PRESCALER_DIV8 (LPTIM_CFGR_PRESC_0 | LPTIM_CFGR_PRESC_1)
209#define LPTIM_PRESCALER_DIV16 LPTIM_CFGR_PRESC_2
210#define LPTIM_PRESCALER_DIV32 (LPTIM_CFGR_PRESC_0 | LPTIM_CFGR_PRESC_2)
211#define LPTIM_PRESCALER_DIV64 (LPTIM_CFGR_PRESC_1 | LPTIM_CFGR_PRESC_2)
212#define LPTIM_PRESCALER_DIV128 LPTIM_CFGR_PRESC
221#define LPTIM_OUTPUTPOLARITY_HIGH 0x00000000U
222#define LPTIM_OUTPUTPOLARITY_LOW LPTIM_CFGR_WAVPOL
230#define LPTIM_CLOCKSAMPLETIME_DIRECTTRANSITION 0x00000000U
231#define LPTIM_CLOCKSAMPLETIME_2TRANSITIONS LPTIM_CFGR_CKFLT_0
232#define LPTIM_CLOCKSAMPLETIME_4TRANSITIONS LPTIM_CFGR_CKFLT_1
233#define LPTIM_CLOCKSAMPLETIME_8TRANSITIONS LPTIM_CFGR_CKFLT
241#define LPTIM_CLOCKPOLARITY_RISING 0x00000000U
242#define LPTIM_CLOCKPOLARITY_FALLING LPTIM_CFGR_CKPOL_0
243#define LPTIM_CLOCKPOLARITY_RISING_FALLING LPTIM_CFGR_CKPOL_1
251#define LPTIM_TRIGSOURCE_SOFTWARE 0x0000FFFFU
252#define LPTIM_TRIGSOURCE_0 0x00000000U
253#define LPTIM_TRIGSOURCE_1 LPTIM_CFGR_TRIGSEL_0
254#define LPTIM_TRIGSOURCE_2 LPTIM_CFGR_TRIGSEL_1
255#define LPTIM_TRIGSOURCE_3 (LPTIM_CFGR_TRIGSEL_0 | LPTIM_CFGR_TRIGSEL_1)
256#define LPTIM_TRIGSOURCE_4 LPTIM_CFGR_TRIGSEL_2
257#define LPTIM_TRIGSOURCE_5 (LPTIM_CFGR_TRIGSEL_0 | LPTIM_CFGR_TRIGSEL_2)
265#define LPTIM_ACTIVEEDGE_RISING LPTIM_CFGR_TRIGEN_0
266#define LPTIM_ACTIVEEDGE_FALLING LPTIM_CFGR_TRIGEN_1
267#define LPTIM_ACTIVEEDGE_RISING_FALLING LPTIM_CFGR_TRIGEN
275#define LPTIM_TRIGSAMPLETIME_DIRECTTRANSITION 0x00000000U
276#define LPTIM_TRIGSAMPLETIME_2TRANSITIONS LPTIM_CFGR_TRGFLT_0
277#define LPTIM_TRIGSAMPLETIME_4TRANSITIONS LPTIM_CFGR_TRGFLT_1
278#define LPTIM_TRIGSAMPLETIME_8TRANSITIONS LPTIM_CFGR_TRGFLT
287#define LPTIM_UPDATE_IMMEDIATE 0x00000000U
288#define LPTIM_UPDATE_ENDOFPERIOD LPTIM_CFGR_PRELOAD
297#define LPTIM_COUNTERSOURCE_INTERNAL 0x00000000U
298#define LPTIM_COUNTERSOURCE_EXTERNAL LPTIM_CFGR_COUNTMODE
307#define LPTIM_FLAG_DOWN LPTIM_ISR_DOWN
308#define LPTIM_FLAG_UP LPTIM_ISR_UP
309#define LPTIM_FLAG_ARROK LPTIM_ISR_ARROK
310#define LPTIM_FLAG_CMPOK LPTIM_ISR_CMPOK
311#define LPTIM_FLAG_EXTTRIG LPTIM_ISR_EXTTRIG
312#define LPTIM_FLAG_ARRM LPTIM_ISR_ARRM
313#define LPTIM_FLAG_CMPM LPTIM_ISR_CMPM
321#define LPTIM_IT_DOWN LPTIM_IER_DOWNIE
322#define LPTIM_IT_UP LPTIM_IER_UPIE
323#define LPTIM_IT_ARROK LPTIM_IER_ARROKIE
324#define LPTIM_IT_CMPOK LPTIM_IER_CMPOKIE
325#define LPTIM_IT_EXTTRIG LPTIM_IER_EXTTRIGIE
326#define LPTIM_IT_ARRM LPTIM_IER_ARRMIE
327#define LPTIM_IT_CMPM LPTIM_IER_CMPMIE
335#define LPTIM_OP_PAD_AF 0x00000000U
336#define LPTIM_OP_PAD_PA4 LPTIM_OR_LPT_IN1_RMP_0
337#define LPTIM_OP_PAD_PB9 LPTIM_OR_LPT_IN1_RMP_1
338#define LPTIM_OP_TIM_DAC LPTIM_OR_LPT_IN1_RMP
347/* Exported macros -----------------------------------------------------------*/
356#if (USE_HAL_LPTIM_REGISTER_CALLBACKS == 1)
357#define __HAL_LPTIM_RESET_HANDLE_STATE(__HANDLE__) do { \
358 (__HANDLE__)->State = HAL_LPTIM_STATE_RESET; \
359 (__HANDLE__)->MspInitCallback = NULL; \
360 (__HANDLE__)->MspDeInitCallback = NULL; \
361 } while(0)
362#else
363#define __HAL_LPTIM_RESET_HANDLE_STATE(__HANDLE__) ((__HANDLE__)->State = HAL_LPTIM_STATE_RESET)
364#endif /* USE_HAL_LPTIM_REGISTER_CALLBACKS */
365
371#define __HAL_LPTIM_ENABLE(__HANDLE__) ((__HANDLE__)->Instance->CR |= (LPTIM_CR_ENABLE))
372
383#define __HAL_LPTIM_DISABLE(__HANDLE__) LPTIM_Disable(__HANDLE__)
384
390#define __HAL_LPTIM_START_CONTINUOUS(__HANDLE__) ((__HANDLE__)->Instance->CR |= LPTIM_CR_CNTSTRT)
396#define __HAL_LPTIM_START_SINGLE(__HANDLE__) ((__HANDLE__)->Instance->CR |= LPTIM_CR_SNGSTRT)
397
406#define __HAL_LPTIM_AUTORELOAD_SET(__HANDLE__ , __VALUE__) ((__HANDLE__)->Instance->ARR = (__VALUE__))
407
415#define __HAL_LPTIM_COMPARE_SET(__HANDLE__ , __VALUE__) ((__HANDLE__)->Instance->CMP = (__VALUE__))
416
431#define __HAL_LPTIM_GET_FLAG(__HANDLE__, __FLAG__) (((__HANDLE__)->Instance->ISR &(__FLAG__)) == (__FLAG__))
432
447#define __HAL_LPTIM_CLEAR_FLAG(__HANDLE__, __FLAG__) ((__HANDLE__)->Instance->ICR = (__FLAG__))
448
464#define __HAL_LPTIM_ENABLE_IT(__HANDLE__, __INTERRUPT__) ((__HANDLE__)->Instance->IER |= (__INTERRUPT__))
465
481#define __HAL_LPTIM_DISABLE_IT(__HANDLE__, __INTERRUPT__) ((__HANDLE__)->Instance->IER &= (~(__INTERRUPT__)))
482
498#define __HAL_LPTIM_GET_IT_SOURCE(__HANDLE__, __INTERRUPT__) ((((__HANDLE__)->Instance->IER\
499 & (__INTERRUPT__)) == (__INTERRUPT__)) ? SET : RESET)
500
510#define __HAL_LPTIM_OPTR_CONFIG(__HANDLE__ , __VALUE__) ((__HANDLE__)->Instance->OR = (__VALUE__))
511
512
517#define __HAL_LPTIM_WAKEUPTIMER_EXTI_ENABLE_IT() (EXTI->IMR\
518 |= LPTIM_EXTI_LINE_WAKEUPTIMER_EVENT)
519
524#define __HAL_LPTIM_WAKEUPTIMER_EXTI_DISABLE_IT() (EXTI->IMR\
525 &= ~(LPTIM_EXTI_LINE_WAKEUPTIMER_EVENT))
526
531#define __HAL_LPTIM_WAKEUPTIMER_EXTI_ENABLE_EVENT() (EXTI->EMR\
532 |= LPTIM_EXTI_LINE_WAKEUPTIMER_EVENT)
533
538#define __HAL_LPTIM_WAKEUPTIMER_EXTI_DISABLE_EVENT() (EXTI->EMR\
539 &= ~(LPTIM_EXTI_LINE_WAKEUPTIMER_EVENT))
540#if defined(EXTI_IMR_MR23)
541
546#define __HAL_LPTIM_WAKEUPTIMER_EXTI_ENABLE_FALLING_EDGE() (EXTI->FTSR\
547 |= LPTIM_EXTI_LINE_WAKEUPTIMER_EVENT)
548
553#define __HAL_LPTIM_WAKEUPTIMER_EXTI_DISABLE_FALLING_EDGE() (EXTI->FTSR\
554 &= ~(LPTIM_EXTI_LINE_WAKEUPTIMER_EVENT))
555
560#define __HAL_LPTIM_WAKEUPTIMER_EXTI_ENABLE_RISING_EDGE() (EXTI->RTSR\
561 |= LPTIM_EXTI_LINE_WAKEUPTIMER_EVENT)
562
567#define __HAL_LPTIM_WAKEUPTIMER_EXTI_DISABLE_RISING_EDGE() (EXTI->RTSR\
568 &= ~(LPTIM_EXTI_LINE_WAKEUPTIMER_EVENT))
569
574#define __HAL_LPTIM_WAKEUPTIMER_EXTI_ENABLE_RISING_FALLING_EDGE() do{__HAL_LPTIM_WAKEUPTIMER_EXTI_ENABLE_RISING_EDGE();\
575 __HAL_LPTIM_WAKEUPTIMER_EXTI_ENABLE_FALLING_EDGE();\
576 }while(0)
577
582#define __HAL_LPTIM_WAKEUPTIMER_EXTI_DISABLE_RISING_FALLING_EDGE() do{__HAL_LPTIM_WAKEUPTIMER_EXTI_DISABLE_RISING_EDGE();\
583 __HAL_LPTIM_WAKEUPTIMER_EXTI_DISABLE_FALLING_EDGE();\
584 }while(0)
585
590#define __HAL_LPTIM_WAKEUPTIMER_EXTI_GET_FLAG() (EXTI->PR\
591 & LPTIM_EXTI_LINE_WAKEUPTIMER_EVENT)
592
597#define __HAL_LPTIM_WAKEUPTIMER_EXTI_CLEAR_FLAG() (EXTI->PR\
598 = LPTIM_EXTI_LINE_WAKEUPTIMER_EVENT)
599
604#define __HAL_LPTIM_WAKEUPTIMER_EXTI_GENERATE_SWIT() (EXTI->SWIER\
605 |= LPTIM_EXTI_LINE_WAKEUPTIMER_EVENT)
606#endif /* EXTI_IMR_MR23 */
607
612/* Exported functions --------------------------------------------------------*/
621/* Initialization/de-initialization functions ********************************/
624
625/* MSP functions *************************************************************/
636/* Start/Stop operation functions *********************************************/
637/* ################################# PWM Mode ################################*/
638/* Blocking mode: Polling */
639HAL_StatusTypeDef HAL_LPTIM_PWM_Start(LPTIM_HandleTypeDef *hlptim, uint32_t Period, uint32_t Pulse);
641/* Non-Blocking mode: Interrupt */
642HAL_StatusTypeDef HAL_LPTIM_PWM_Start_IT(LPTIM_HandleTypeDef *hlptim, uint32_t Period, uint32_t Pulse);
644
645/* ############################# One Pulse Mode ##############################*/
646/* Blocking mode: Polling */
647HAL_StatusTypeDef HAL_LPTIM_OnePulse_Start(LPTIM_HandleTypeDef *hlptim, uint32_t Period, uint32_t Pulse);
649/* Non-Blocking mode: Interrupt */
650HAL_StatusTypeDef HAL_LPTIM_OnePulse_Start_IT(LPTIM_HandleTypeDef *hlptim, uint32_t Period, uint32_t Pulse);
652
653/* ############################## Set once Mode ##############################*/
654/* Blocking mode: Polling */
655HAL_StatusTypeDef HAL_LPTIM_SetOnce_Start(LPTIM_HandleTypeDef *hlptim, uint32_t Period, uint32_t Pulse);
657/* Non-Blocking mode: Interrupt */
658HAL_StatusTypeDef HAL_LPTIM_SetOnce_Start_IT(LPTIM_HandleTypeDef *hlptim, uint32_t Period, uint32_t Pulse);
660
661/* ############################### Encoder Mode ##############################*/
662/* Blocking mode: Polling */
665/* Non-Blocking mode: Interrupt */
668
669/* ############################# Time out Mode ##############################*/
670/* Blocking mode: Polling */
671HAL_StatusTypeDef HAL_LPTIM_TimeOut_Start(LPTIM_HandleTypeDef *hlptim, uint32_t Period, uint32_t Timeout);
673/* Non-Blocking mode: Interrupt */
674HAL_StatusTypeDef HAL_LPTIM_TimeOut_Start_IT(LPTIM_HandleTypeDef *hlptim, uint32_t Period, uint32_t Timeout);
676
677/* ############################## Counter Mode ###############################*/
678/* Blocking mode: Polling */
681/* Non-Blocking mode: Interrupt */
692/* Reading operation functions ************************************************/
693uint32_t HAL_LPTIM_ReadCounter(const LPTIM_HandleTypeDef *hlptim);
694uint32_t HAL_LPTIM_ReadAutoReload(const LPTIM_HandleTypeDef *hlptim);
695uint32_t HAL_LPTIM_ReadCompare(const LPTIM_HandleTypeDef *hlptim);
704/* LPTIM IRQ functions *******************************************************/
706
707/* CallBack functions ********************************************************/
715
716/* Callbacks Register/UnRegister functions ***********************************/
717#if (USE_HAL_LPTIM_REGISTER_CALLBACKS == 1)
718HAL_StatusTypeDef HAL_LPTIM_RegisterCallback(LPTIM_HandleTypeDef *lphtim, HAL_LPTIM_CallbackIDTypeDef CallbackID,
719 pLPTIM_CallbackTypeDef pCallback);
720HAL_StatusTypeDef HAL_LPTIM_UnRegisterCallback(LPTIM_HandleTypeDef *lphtim, HAL_LPTIM_CallbackIDTypeDef CallbackID);
721#endif /* USE_HAL_LPTIM_REGISTER_CALLBACKS */
730/* Peripheral State functions ************************************************/
740/* Private types -------------------------------------------------------------*/
749/* Private variables ---------------------------------------------------------*/
758/* Private constants ---------------------------------------------------------*/
767/* Private macros ------------------------------------------------------------*/
772#define IS_LPTIM_CLOCK_SOURCE(__SOURCE__) (((__SOURCE__) == LPTIM_CLOCKSOURCE_ULPTIM) || \
773 ((__SOURCE__) == LPTIM_CLOCKSOURCE_APBCLOCK_LPOSC))
774
775
776#define IS_LPTIM_CLOCK_PRESCALER(__PRESCALER__) (((__PRESCALER__) == LPTIM_PRESCALER_DIV1 ) || \
777 ((__PRESCALER__) == LPTIM_PRESCALER_DIV2 ) || \
778 ((__PRESCALER__) == LPTIM_PRESCALER_DIV4 ) || \
779 ((__PRESCALER__) == LPTIM_PRESCALER_DIV8 ) || \
780 ((__PRESCALER__) == LPTIM_PRESCALER_DIV16 ) || \
781 ((__PRESCALER__) == LPTIM_PRESCALER_DIV32 ) || \
782 ((__PRESCALER__) == LPTIM_PRESCALER_DIV64 ) || \
783 ((__PRESCALER__) == LPTIM_PRESCALER_DIV128))
784
785#define IS_LPTIM_CLOCK_PRESCALERDIV1(__PRESCALER__) ((__PRESCALER__) == LPTIM_PRESCALER_DIV1)
786
787#define IS_LPTIM_OUTPUT_POLARITY(__POLARITY__) (((__POLARITY__) == LPTIM_OUTPUTPOLARITY_LOW ) || \
788 ((__POLARITY__) == LPTIM_OUTPUTPOLARITY_HIGH))
789
790#define IS_LPTIM_CLOCK_SAMPLE_TIME(__SAMPLETIME__) (((__SAMPLETIME__) == LPTIM_CLOCKSAMPLETIME_DIRECTTRANSITION) || \
791 ((__SAMPLETIME__) == LPTIM_CLOCKSAMPLETIME_2TRANSITIONS) || \
792 ((__SAMPLETIME__) == LPTIM_CLOCKSAMPLETIME_4TRANSITIONS) || \
793 ((__SAMPLETIME__) == LPTIM_CLOCKSAMPLETIME_8TRANSITIONS))
794
795#define IS_LPTIM_CLOCK_POLARITY(__POLARITY__) (((__POLARITY__) == LPTIM_CLOCKPOLARITY_RISING) || \
796 ((__POLARITY__) == LPTIM_CLOCKPOLARITY_FALLING) || \
797 ((__POLARITY__) == LPTIM_CLOCKPOLARITY_RISING_FALLING))
798
799#define IS_LPTIM_TRG_SOURCE(__TRIG__) (((__TRIG__) == LPTIM_TRIGSOURCE_SOFTWARE) || \
800 ((__TRIG__) == LPTIM_TRIGSOURCE_0) || \
801 ((__TRIG__) == LPTIM_TRIGSOURCE_1) || \
802 ((__TRIG__) == LPTIM_TRIGSOURCE_2) || \
803 ((__TRIG__) == LPTIM_TRIGSOURCE_3) || \
804 ((__TRIG__) == LPTIM_TRIGSOURCE_4) || \
805 ((__TRIG__) == LPTIM_TRIGSOURCE_5))
806
807#define IS_LPTIM_EXT_TRG_POLARITY(__POLARITY__) (((__POLARITY__) == LPTIM_ACTIVEEDGE_RISING ) || \
808 ((__POLARITY__) == LPTIM_ACTIVEEDGE_FALLING ) || \
809 ((__POLARITY__) == LPTIM_ACTIVEEDGE_RISING_FALLING ))
810
811#define IS_LPTIM_TRIG_SAMPLE_TIME(__SAMPLETIME__) (((__SAMPLETIME__) == LPTIM_TRIGSAMPLETIME_DIRECTTRANSITION) || \
812 ((__SAMPLETIME__) == LPTIM_TRIGSAMPLETIME_2TRANSITIONS ) || \
813 ((__SAMPLETIME__) == LPTIM_TRIGSAMPLETIME_4TRANSITIONS ) || \
814 ((__SAMPLETIME__) == LPTIM_TRIGSAMPLETIME_8TRANSITIONS ))
815
816#define IS_LPTIM_UPDATE_MODE(__MODE__) (((__MODE__) == LPTIM_UPDATE_IMMEDIATE) || \
817 ((__MODE__) == LPTIM_UPDATE_ENDOFPERIOD))
818
819#define IS_LPTIM_COUNTER_SOURCE(__SOURCE__) (((__SOURCE__) == LPTIM_COUNTERSOURCE_INTERNAL) || \
820 ((__SOURCE__) == LPTIM_COUNTERSOURCE_EXTERNAL))
821
822#define IS_LPTIM_COMPARE(__COMPARE__) ((__COMPARE__) <= 0x0000FFFFUL)
823
824#define IS_LPTIM_PERIOD(__PERIOD__) ((0x00000001UL <= (__PERIOD__)) &&\
825 ((__PERIOD__) <= 0x0000FFFFUL))
826
827#define IS_LPTIM_PULSE(__PULSE__) ((__PULSE__) <= 0x0000FFFFUL)
828
833/* Private functions ---------------------------------------------------------*/
846#endif /* LPTIM1 */
851#ifdef __cplusplus
852}
853#endif
854
855#endif /* STM32F4xx_HAL_LPTIM_H */
#define HAL_LPTIM_ReadCompare
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.
HAL_LPTIM_StateTypeDef
HAL LPTIM State structure definition.
@ HAL_LPTIM_STATE_READY
@ HAL_LPTIM_STATE_ERROR
@ HAL_LPTIM_STATE_RESET
@ HAL_LPTIM_STATE_TIMEOUT
@ HAL_LPTIM_STATE_BUSY
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.
This file contains HAL common defines, enumeration, macros and structures definitions.
HAL_StatusTypeDef
HAL Status structures definition
HAL_LockTypeDef
HAL Lock structures definition
LPTIM Clock configuration definition.
LPTIM handle Structure definition.
HAL_StatusTypeDef Status
__IO HAL_LPTIM_StateTypeDef State
LPTIM Initialization Structure definition.
LPTIM_TriggerConfigTypeDef Trigger
LPTIM_ULPClockConfigTypeDef UltraLowPowerClock
LPTIM_ClockConfigTypeDef Clock
LPTIM Trigger configuration definition.
LPTIM Clock configuration definition.