STM32F4xx HAL Driver master
STM32CubeF4 HAL / LL Drivers API Reference
Loading...
Searching...
No Matches
stm32f4xx_hal_lptim.h
Go to the documentation of this file.
1
18
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
33
34#if defined (LPTIM1)
35
39
40/* Exported types ------------------------------------------------------------*/
44#define LPTIM_EXTI_LINE_WAKEUPTIMER_EVENT EXTI_IMR_MR23
45
49typedef struct
50{
51 uint32_t Source;
53
54 uint32_t Prescaler;
56
57} LPTIM_ClockConfigTypeDef;
58
62typedef struct
63{
64 uint32_t Polarity;
70
71 uint32_t SampleTime;
74
75} LPTIM_ULPClockConfigTypeDef;
76
80typedef struct
81{
82 uint32_t Source;
84
85 uint32_t ActiveEdge;
88
89 uint32_t SampleTime;
92} LPTIM_TriggerConfigTypeDef;
93
97typedef struct
98{
99 LPTIM_ClockConfigTypeDef Clock;
100
101 LPTIM_ULPClockConfigTypeDef UltraLowPowerClock;
102
103 LPTIM_TriggerConfigTypeDef Trigger;
104
105 uint32_t OutputPolarity;
107
108 uint32_t UpdateMode;
111
112 uint32_t CounterSource;
115} LPTIM_InitTypeDef;
116
120typedef enum
121{
122 HAL_LPTIM_STATE_RESET = 0x00U,
123 HAL_LPTIM_STATE_READY = 0x01U,
124 HAL_LPTIM_STATE_BUSY = 0x02U,
125 HAL_LPTIM_STATE_TIMEOUT = 0x03U,
126 HAL_LPTIM_STATE_ERROR = 0x04U
127} HAL_LPTIM_StateTypeDef;
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;
139
140 LPTIM_InitTypeDef Init;
141
142 HAL_StatusTypeDef Status;
143
144 HAL_LockTypeDef Lock;
145
146 __IO HAL_LPTIM_StateTypeDef State;
147
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 */
159} LPTIM_HandleTypeDef;
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);
182
183#endif /* USE_HAL_LPTIM_REGISTER_CALLBACKS */
187
188/* Exported constants --------------------------------------------------------*/
192
196#define LPTIM_CLOCKSOURCE_APBCLOCK_LPOSC 0x00000000U
197#define LPTIM_CLOCKSOURCE_ULPTIM LPTIM_CFGR_CKSEL
201
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
216
220
221#define LPTIM_OUTPUTPOLARITY_HIGH 0x00000000U
222#define LPTIM_OUTPUTPOLARITY_LOW LPTIM_CFGR_WAVPOL
226
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
237
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
247
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)
261
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
271
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
282
286
287#define LPTIM_UPDATE_IMMEDIATE 0x00000000U
288#define LPTIM_UPDATE_ENDOFPERIOD LPTIM_CFGR_PRELOAD
292
296
297#define LPTIM_COUNTERSOURCE_INTERNAL 0x00000000U
298#define LPTIM_COUNTERSOURCE_EXTERNAL LPTIM_CFGR_COUNTMODE
302
306
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
317
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
331
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
342
346
347/* Exported macros -----------------------------------------------------------*/
351
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
497
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
611
612/* Exported functions --------------------------------------------------------*/
616
621/* Initialization/de-initialization functions ********************************/
622HAL_StatusTypeDef HAL_LPTIM_Init(LPTIM_HandleTypeDef *hlptim);
623HAL_StatusTypeDef HAL_LPTIM_DeInit(LPTIM_HandleTypeDef *hlptim);
624
625/* MSP functions *************************************************************/
626void HAL_LPTIM_MspInit(LPTIM_HandleTypeDef *hlptim);
627void HAL_LPTIM_MspDeInit(LPTIM_HandleTypeDef *hlptim);
631
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);
640HAL_StatusTypeDef HAL_LPTIM_PWM_Stop(LPTIM_HandleTypeDef *hlptim);
641/* Non-Blocking mode: Interrupt */
642HAL_StatusTypeDef HAL_LPTIM_PWM_Start_IT(LPTIM_HandleTypeDef *hlptim, uint32_t Period, uint32_t Pulse);
643HAL_StatusTypeDef HAL_LPTIM_PWM_Stop_IT(LPTIM_HandleTypeDef *hlptim);
644
645/* ############################# One Pulse Mode ##############################*/
646/* Blocking mode: Polling */
647HAL_StatusTypeDef HAL_LPTIM_OnePulse_Start(LPTIM_HandleTypeDef *hlptim, uint32_t Period, uint32_t Pulse);
648HAL_StatusTypeDef HAL_LPTIM_OnePulse_Stop(LPTIM_HandleTypeDef *hlptim);
649/* Non-Blocking mode: Interrupt */
650HAL_StatusTypeDef HAL_LPTIM_OnePulse_Start_IT(LPTIM_HandleTypeDef *hlptim, uint32_t Period, uint32_t Pulse);
651HAL_StatusTypeDef HAL_LPTIM_OnePulse_Stop_IT(LPTIM_HandleTypeDef *hlptim);
652
653/* ############################## Set once Mode ##############################*/
654/* Blocking mode: Polling */
655HAL_StatusTypeDef HAL_LPTIM_SetOnce_Start(LPTIM_HandleTypeDef *hlptim, uint32_t Period, uint32_t Pulse);
656HAL_StatusTypeDef HAL_LPTIM_SetOnce_Stop(LPTIM_HandleTypeDef *hlptim);
657/* Non-Blocking mode: Interrupt */
658HAL_StatusTypeDef HAL_LPTIM_SetOnce_Start_IT(LPTIM_HandleTypeDef *hlptim, uint32_t Period, uint32_t Pulse);
659HAL_StatusTypeDef HAL_LPTIM_SetOnce_Stop_IT(LPTIM_HandleTypeDef *hlptim);
660
661/* ############################### Encoder Mode ##############################*/
662/* Blocking mode: Polling */
663HAL_StatusTypeDef HAL_LPTIM_Encoder_Start(LPTIM_HandleTypeDef *hlptim, uint32_t Period);
664HAL_StatusTypeDef HAL_LPTIM_Encoder_Stop(LPTIM_HandleTypeDef *hlptim);
665/* Non-Blocking mode: Interrupt */
666HAL_StatusTypeDef HAL_LPTIM_Encoder_Start_IT(LPTIM_HandleTypeDef *hlptim, uint32_t Period);
667HAL_StatusTypeDef HAL_LPTIM_Encoder_Stop_IT(LPTIM_HandleTypeDef *hlptim);
668
669/* ############################# Time out Mode ##############################*/
670/* Blocking mode: Polling */
671HAL_StatusTypeDef HAL_LPTIM_TimeOut_Start(LPTIM_HandleTypeDef *hlptim, uint32_t Period, uint32_t Timeout);
672HAL_StatusTypeDef HAL_LPTIM_TimeOut_Stop(LPTIM_HandleTypeDef *hlptim);
673/* Non-Blocking mode: Interrupt */
674HAL_StatusTypeDef HAL_LPTIM_TimeOut_Start_IT(LPTIM_HandleTypeDef *hlptim, uint32_t Period, uint32_t Timeout);
675HAL_StatusTypeDef HAL_LPTIM_TimeOut_Stop_IT(LPTIM_HandleTypeDef *hlptim);
676
677/* ############################## Counter Mode ###############################*/
678/* Blocking mode: Polling */
679HAL_StatusTypeDef HAL_LPTIM_Counter_Start(LPTIM_HandleTypeDef *hlptim, uint32_t Period);
680HAL_StatusTypeDef HAL_LPTIM_Counter_Stop(LPTIM_HandleTypeDef *hlptim);
681/* Non-Blocking mode: Interrupt */
682HAL_StatusTypeDef HAL_LPTIM_Counter_Start_IT(LPTIM_HandleTypeDef *hlptim, uint32_t Period);
683HAL_StatusTypeDef HAL_LPTIM_Counter_Stop_IT(LPTIM_HandleTypeDef *hlptim);
687
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);
699
704/* LPTIM IRQ functions *******************************************************/
705void HAL_LPTIM_IRQHandler(LPTIM_HandleTypeDef *hlptim);
706
707/* CallBack functions ********************************************************/
708void HAL_LPTIM_CompareMatchCallback(LPTIM_HandleTypeDef *hlptim);
709void HAL_LPTIM_AutoReloadMatchCallback(LPTIM_HandleTypeDef *hlptim);
710void HAL_LPTIM_TriggerCallback(LPTIM_HandleTypeDef *hlptim);
711void HAL_LPTIM_CompareWriteCallback(LPTIM_HandleTypeDef *hlptim);
712void HAL_LPTIM_AutoReloadWriteCallback(LPTIM_HandleTypeDef *hlptim);
713void HAL_LPTIM_DirectionUpCallback(LPTIM_HandleTypeDef *hlptim);
714void HAL_LPTIM_DirectionDownCallback(LPTIM_HandleTypeDef *hlptim);
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 */
725
730/* Peripheral State functions ************************************************/
731HAL_LPTIM_StateTypeDef HAL_LPTIM_GetState(const LPTIM_HandleTypeDef *hlptim);
735
739
740/* Private types -------------------------------------------------------------*/
744
748
749/* Private variables ---------------------------------------------------------*/
753
757
758/* Private constants ---------------------------------------------------------*/
762
766
767/* Private macros ------------------------------------------------------------*/
771
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
832
833/* Private functions ---------------------------------------------------------*/
837void LPTIM_Disable(LPTIM_HandleTypeDef *hlptim);
841
845
846#endif /* LPTIM1 */
850
851#ifdef __cplusplus
852}
853#endif
854
855#endif /* STM32F4xx_HAL_LPTIM_H */
This file contains HAL common defines, enumeration, macros and structures definitions.
HAL_StatusTypeDef
HAL Status structures definition.
HAL_LockTypeDef
HAL Lock structures definition.