39 #ifndef __STM32F4xx_HAL_LPTIM_H 40 #define __STM32F4xx_HAL_LPTIM_H 46 #if defined(STM32F410Tx) || defined(STM32F410Cx) || defined(STM32F410Rx) 67 #define LPTIM_EXTI_LINE_WAKEUPTIMER_EVENT ((uint32_t)EXTI_IMR_MR23) 83 }LPTIM_ClockConfigTypeDef;
101 }LPTIM_ULPClockConfigTypeDef;
118 }LPTIM_TriggerConfigTypeDef;
125 LPTIM_ClockConfigTypeDef Clock;
127 LPTIM_ULPClockConfigTypeDef UltraLowPowerClock;
129 LPTIM_TriggerConfigTypeDef Trigger;
131 uint32_t OutputPolarity;
138 uint32_t CounterSource;
147 typedef enum __HAL_LPTIM_StateTypeDef
149 HAL_LPTIM_STATE_RESET = 0x00U,
150 HAL_LPTIM_STATE_READY = 0x01U,
151 HAL_LPTIM_STATE_BUSY = 0x02U,
152 HAL_LPTIM_STATE_TIMEOUT = 0x03U,
153 HAL_LPTIM_STATE_ERROR = 0x04U
154 }HAL_LPTIM_StateTypeDef;
163 LPTIM_InitTypeDef Init;
169 __IO HAL_LPTIM_StateTypeDef State;
171 }LPTIM_HandleTypeDef;
185 #define LPTIM_CLOCKSOURCE_APBCLOCK_LPOSC ((uint32_t)0x00U) 186 #define LPTIM_CLOCKSOURCE_ULPTIM LPTIM_CFGR_CKSEL 194 #define LPTIM_PRESCALER_DIV1 ((uint32_t)0x00000000U) 195 #define LPTIM_PRESCALER_DIV2 LPTIM_CFGR_PRESC_0 196 #define LPTIM_PRESCALER_DIV4 LPTIM_CFGR_PRESC_1 197 #define LPTIM_PRESCALER_DIV8 ((uint32_t)(LPTIM_CFGR_PRESC_0 | LPTIM_CFGR_PRESC_1)) 198 #define LPTIM_PRESCALER_DIV16 LPTIM_CFGR_PRESC_2 199 #define LPTIM_PRESCALER_DIV32 ((uint32_t)(LPTIM_CFGR_PRESC_0 | LPTIM_CFGR_PRESC_2)) 200 #define LPTIM_PRESCALER_DIV64 ((uint32_t)(LPTIM_CFGR_PRESC_1 | LPTIM_CFGR_PRESC_2)) 201 #define LPTIM_PRESCALER_DIV128 ((uint32_t)LPTIM_CFGR_PRESC) 210 #define LPTIM_OUTPUTPOLARITY_HIGH ((uint32_t)0x00000000U) 211 #define LPTIM_OUTPUTPOLARITY_LOW (LPTIM_CFGR_WAVPOL) 219 #define LPTIM_CLOCKSAMPLETIME_DIRECTTRANSITION ((uint32_t)0x00000000U) 220 #define LPTIM_CLOCKSAMPLETIME_2TRANSITIONS LPTIM_CFGR_CKFLT_0 221 #define LPTIM_CLOCKSAMPLETIME_4TRANSITIONS LPTIM_CFGR_CKFLT_1 222 #define LPTIM_CLOCKSAMPLETIME_8TRANSITIONS LPTIM_CFGR_CKFLT 231 #define LPTIM_CLOCKPOLARITY_RISING ((uint32_t)0x00000000U) 232 #define LPTIM_CLOCKPOLARITY_FALLING LPTIM_CFGR_CKPOL_0 233 #define LPTIM_CLOCKPOLARITY_RISING_FALLING LPTIM_CFGR_CKPOL_1 241 #define LPTIM_TRIGSOURCE_SOFTWARE ((uint32_t)0x0000FFFFU) 242 #define LPTIM_TRIGSOURCE_0 ((uint32_t)0x00000000U) 243 #define LPTIM_TRIGSOURCE_1 ((uint32_t)LPTIM_CFGR_TRIGSEL_0) 244 #define LPTIM_TRIGSOURCE_2 LPTIM_CFGR_TRIGSEL_1 245 #define LPTIM_TRIGSOURCE_3 ((uint32_t)LPTIM_CFGR_TRIGSEL_0 | LPTIM_CFGR_TRIGSEL_1) 246 #define LPTIM_TRIGSOURCE_4 LPTIM_CFGR_TRIGSEL_2 247 #define LPTIM_TRIGSOURCE_5 ((uint32_t)LPTIM_CFGR_TRIGSEL_0 | LPTIM_CFGR_TRIGSEL_2) 255 #define LPTIM_ACTIVEEDGE_RISING LPTIM_CFGR_TRIGEN_0 256 #define LPTIM_ACTIVEEDGE_FALLING LPTIM_CFGR_TRIGEN_1 257 #define LPTIM_ACTIVEEDGE_RISING_FALLING LPTIM_CFGR_TRIGEN 265 #define LPTIM_TRIGSAMPLETIME_DIRECTTRANSITION ((uint32_t)0x00000000U) 266 #define LPTIM_TRIGSAMPLETIME_2TRANSITIONS LPTIM_CFGR_TRGFLT_0 267 #define LPTIM_TRIGSAMPLETIME_4TRANSITIONS LPTIM_CFGR_TRGFLT_1 268 #define LPTIM_TRIGSAMPLETIME_8TRANSITIONS LPTIM_CFGR_TRGFLT 277 #define LPTIM_UPDATE_IMMEDIATE ((uint32_t)0x00000000U) 278 #define LPTIM_UPDATE_ENDOFPERIOD LPTIM_CFGR_PRELOAD 287 #define LPTIM_COUNTERSOURCE_INTERNAL ((uint32_t)0x00000000U) 288 #define LPTIM_COUNTERSOURCE_EXTERNAL LPTIM_CFGR_COUNTMODE 297 #define LPTIM_FLAG_DOWN LPTIM_ISR_DOWN 298 #define LPTIM_FLAG_UP LPTIM_ISR_UP 299 #define LPTIM_FLAG_ARROK LPTIM_ISR_ARROK 300 #define LPTIM_FLAG_CMPOK LPTIM_ISR_CMPOK 301 #define LPTIM_FLAG_EXTTRIG LPTIM_ISR_EXTTRIG 302 #define LPTIM_FLAG_ARRM LPTIM_ISR_ARRM 303 #define LPTIM_FLAG_CMPM LPTIM_ISR_CMPM 312 #define LPTIM_IT_DOWN LPTIM_IER_DOWNIE 313 #define LPTIM_IT_UP LPTIM_IER_UPIE 314 #define LPTIM_IT_ARROK LPTIM_IER_ARROKIE 315 #define LPTIM_IT_CMPOK LPTIM_IER_CMPOKIE 316 #define LPTIM_IT_EXTTRIG LPTIM_IER_EXTTRIGIE 317 #define LPTIM_IT_ARRM LPTIM_IER_ARRMIE 318 #define LPTIM_IT_CMPM LPTIM_IER_CMPMIE 326 #define LPTIM_OP_PAD_AF ((uint32_t)0x00000000U) 327 #define LPTIM_OP_PAD_PA4 LPTIM_OR_OR_0 328 #define LPTIM_OP_PAD_PB9 LPTIM_OR_OR_1 329 #define LPTIM_OP_TIM_DAC LPTIM_OR_OR 348 #define __HAL_LPTIM_RESET_HANDLE_STATE(__HANDLE__) ((__HANDLE__)->State = HAL_LPTIM_STATE_RESET) 355 #define __HAL_LPTIM_ENABLE(__HANDLE__) ((__HANDLE__)->Instance->CR |= (LPTIM_CR_ENABLE)) 356 #define __HAL_LPTIM_DISABLE(__HANDLE__) ((__HANDLE__)->Instance->CR &= ~(LPTIM_CR_ENABLE)) 363 #define __HAL_LPTIM_START_CONTINUOUS(__HANDLE__) ((__HANDLE__)->Instance->CR |= LPTIM_CR_CNTSTRT) 364 #define __HAL_LPTIM_START_SINGLE(__HANDLE__) ((__HANDLE__)->Instance->CR |= LPTIM_CR_SNGSTRT) 373 #define __HAL_LPTIM_AUTORELOAD_SET(__HANDLE__ , __VALUE__) ((__HANDLE__)->Instance->ARR = (__VALUE__)) 381 #define __HAL_LPTIM_COMPARE_SET(__HANDLE__ , __VALUE__) ((__HANDLE__)->Instance->CMP = (__VALUE__)) 397 #define __HAL_LPTIM_GET_FLAG(__HANDLE__, __FLAG__) (((__HANDLE__)->Instance->ISR &(__FLAG__)) == (__FLAG__)) 413 #define __HAL_LPTIM_CLEAR_FLAG(__HANDLE__, __FLAG__) ((__HANDLE__)->Instance->ICR = (__FLAG__)) 429 #define __HAL_LPTIM_ENABLE_IT(__HANDLE__, __INTERRUPT__) ((__HANDLE__)->Instance->IER |= (__INTERRUPT__)) 445 #define __HAL_LPTIM_DISABLE_IT(__HANDLE__, __INTERRUPT__) ((__HANDLE__)->Instance->IER &= (~(__INTERRUPT__))) 462 #define __HAL_LPTIM_GET_IT_SOURCE(__HANDLE__, __INTERRUPT__) ((((__HANDLE__)->Instance->IER & (__INTERRUPT__)) == (__INTERRUPT__)) ? SET : RESET) 473 #define __HAL_LPTIM_OPTR_CONFIG(__HANDLE__ , __VALUE__) ((__HANDLE__)->Instance->OR = (__VALUE__)) 479 #define __HAL_LPTIM_WAKEUPTIMER_EXTI_ENABLE_IT() (EXTI->IMR |= LPTIM_EXTI_LINE_WAKEUPTIMER_EVENT) 485 #define __HAL_LPTIM_WAKEUPTIMER_EXTI_DISABLE_IT() (EXTI->IMR &= ~(LPTIM_EXTI_LINE_WAKEUPTIMER_EVENT)) 491 #define __HAL_LPTIM_WAKEUPTIMER_EXTI_ENABLE_EVENT() (EXTI->EMR |= LPTIM_EXTI_LINE_WAKEUPTIMER_EVENT) 497 #define __HAL_LPTIM_WAKEUPTIMER_EXTI_DISABLE_EVENT() (EXTI->EMR &= ~(LPTIM_EXTI_LINE_WAKEUPTIMER_EVENT)) 503 #define __HAL_LPTIM_WAKEUPTIMER_EXTI_ENABLE_FALLING_EDGE() (EXTI->FTSR |= LPTIM_EXTI_LINE_WAKEUPTIMER_EVENT) 509 #define __HAL_LPTIM_WAKEUPTIMER_EXTI_DISABLE_FALLING_EDGE() (EXTI->FTSR &= ~(LPTIM_EXTI_LINE_WAKEUPTIMER_EVENT)) 515 #define __HAL_LPTIM_WAKEUPTIMER_EXTI_ENABLE_RISING_EDGE() (EXTI->RTSR |= LPTIM_EXTI_LINE_WAKEUPTIMER_EVENT) 521 #define __HAL_LPTIM_WAKEUPTIMER_EXTI_DISABLE_RISING_EDGE() (EXTI->RTSR &= ~(LPTIM_EXTI_LINE_WAKEUPTIMER_EVENT)) 527 #define __HAL_LPTIM_WAKEUPTIMER_EXTI_ENABLE_RISING_FALLING_EDGE() do{__HAL_LPTIM_WAKEUPTIMER_EXTI_ENABLE_RISING_EDGE();\ 528 __HAL_LPTIM_WAKEUPTIMER_EXTI_ENABLE_FALLING_EDGE();\ 536 #define __HAL_LPTIM_WAKEUPTIMER_EXTI_DISABLE_RISING_FALLING_EDGE() do{__HAL_LPTIM_WAKEUPTIMER_EXTI_DISABLE_RISING_EDGE();\ 537 __HAL_LPTIM_WAKEUPTIMER_EXTI_DISABLE_FALLING_EDGE();\ 544 #define __HAL_LPTIM_WAKEUPTIMER_EXTI_GET_FLAG() (EXTI->PR & LPTIM_EXTI_LINE_WAKEUPTIMER_EVENT) 550 #define __HAL_LPTIM_WAKEUPTIMER_EXTI_CLEAR_FLAG() (EXTI->PR = LPTIM_EXTI_LINE_WAKEUPTIMER_EVENT) 556 #define __HAL_LPTIM_WAKEUPTIMER_EXTI_GENERATE_SWIT() (EXTI->SWIER |= LPTIM_EXTI_LINE_WAKEUPTIMER_EVENT) 571 void HAL_LPTIM_MspInit(LPTIM_HandleTypeDef *hlptim);
572 void HAL_LPTIM_MspDeInit(LPTIM_HandleTypeDef *hlptim);
577 HAL_StatusTypeDef HAL_LPTIM_PWM_Start(LPTIM_HandleTypeDef *hlptim, uint32_t Period, uint32_t Pulse);
580 HAL_StatusTypeDef HAL_LPTIM_PWM_Start_IT(LPTIM_HandleTypeDef *hlptim, uint32_t Period, uint32_t Pulse);
585 HAL_StatusTypeDef HAL_LPTIM_OnePulse_Start(LPTIM_HandleTypeDef *hlptim, uint32_t Period, uint32_t Pulse);
588 HAL_StatusTypeDef HAL_LPTIM_OnePulse_Start_IT(LPTIM_HandleTypeDef *hlptim, uint32_t Period, uint32_t Pulse);
593 HAL_StatusTypeDef HAL_LPTIM_SetOnce_Start(LPTIM_HandleTypeDef *hlptim, uint32_t Period, uint32_t Pulse);
596 HAL_StatusTypeDef HAL_LPTIM_SetOnce_Start_IT(LPTIM_HandleTypeDef *hlptim, uint32_t Period, uint32_t Pulse);
601 HAL_StatusTypeDef HAL_LPTIM_Encoder_Start(LPTIM_HandleTypeDef *hlptim, uint32_t Period);
604 HAL_StatusTypeDef HAL_LPTIM_Encoder_Start_IT(LPTIM_HandleTypeDef *hlptim, uint32_t Period);
609 HAL_StatusTypeDef HAL_LPTIM_TimeOut_Start(LPTIM_HandleTypeDef *hlptim, uint32_t Period, uint32_t Timeout);
612 HAL_StatusTypeDef HAL_LPTIM_TimeOut_Start_IT(LPTIM_HandleTypeDef *hlptim, uint32_t Period, uint32_t Timeout);
617 HAL_StatusTypeDef HAL_LPTIM_Counter_Start(LPTIM_HandleTypeDef *hlptim, uint32_t Period);
620 HAL_StatusTypeDef HAL_LPTIM_Counter_Start_IT(LPTIM_HandleTypeDef *hlptim, uint32_t Period);
624 uint32_t HAL_LPTIM_ReadCounter(LPTIM_HandleTypeDef *hlptim);
625 uint32_t HAL_LPTIM_ReadAutoReload(LPTIM_HandleTypeDef *hlptim);
626 uint32_t HAL_LPTIM_ReadCompare(LPTIM_HandleTypeDef *hlptim);
629 void HAL_LPTIM_IRQHandler(LPTIM_HandleTypeDef *hlptim);
632 void HAL_LPTIM_CompareMatchCallback(LPTIM_HandleTypeDef *hlptim);
633 void HAL_LPTIM_AutoReloadMatchCallback(LPTIM_HandleTypeDef *hlptim);
634 void HAL_LPTIM_TriggerCallback(LPTIM_HandleTypeDef *hlptim);
635 void HAL_LPTIM_CompareWriteCallback(LPTIM_HandleTypeDef *hlptim);
636 void HAL_LPTIM_AutoReloadWriteCallback(LPTIM_HandleTypeDef *hlptim);
637 void HAL_LPTIM_DirectionUpCallback(LPTIM_HandleTypeDef *hlptim);
638 void HAL_LPTIM_DirectionDownCallback(LPTIM_HandleTypeDef *hlptim);
641 HAL_LPTIM_StateTypeDef HAL_LPTIM_GetState(LPTIM_HandleTypeDef *hlptim);
679 #define IS_LPTIM_CLOCK_SOURCE(__SOURCE__) (((__SOURCE__) == LPTIM_CLOCKSOURCE_ULPTIM) || \ 680 ((__SOURCE__) == LPTIM_CLOCKSOURCE_APBCLOCK_LPOSC)) 682 #define IS_LPTIM_CLOCK_PRESCALER(__PRESCALER__) (((__PRESCALER__) == LPTIM_PRESCALER_DIV1 ) || \ 683 ((__PRESCALER__) == LPTIM_PRESCALER_DIV2 ) || \ 684 ((__PRESCALER__) == LPTIM_PRESCALER_DIV4 ) || \ 685 ((__PRESCALER__) == LPTIM_PRESCALER_DIV8 ) || \ 686 ((__PRESCALER__) == LPTIM_PRESCALER_DIV16 ) || \ 687 ((__PRESCALER__) == LPTIM_PRESCALER_DIV32 ) || \ 688 ((__PRESCALER__) == LPTIM_PRESCALER_DIV64 ) || \ 689 ((__PRESCALER__) == LPTIM_PRESCALER_DIV128)) 690 #define IS_LPTIM_CLOCK_PRESCALERDIV1(__PRESCALER__) ((__PRESCALER__) == LPTIM_PRESCALER_DIV1) 692 #define IS_LPTIM_OUTPUT_POLARITY(__POLARITY__) (((__POLARITY__) == LPTIM_OUTPUTPOLARITY_LOW ) || \ 693 ((__POLARITY__) == LPTIM_OUTPUTPOLARITY_HIGH)) 695 #define IS_LPTIM_CLOCK_SAMPLE_TIME(__SAMPLETIME__) (((__SAMPLETIME__) == LPTIM_CLOCKSAMPLETIME_DIRECTTRANSITION) || \ 696 ((__SAMPLETIME__) == LPTIM_CLOCKSAMPLETIME_2TRANSITIONS) || \ 697 ((__SAMPLETIME__) == LPTIM_CLOCKSAMPLETIME_4TRANSITIONS) || \ 698 ((__SAMPLETIME__) == LPTIM_CLOCKSAMPLETIME_8TRANSITIONS)) 700 #define IS_LPTIM_CLOCK_POLARITY(__POLARITY__) (((__POLARITY__) == LPTIM_CLOCKPOLARITY_RISING) || \ 701 ((__POLARITY__) == LPTIM_CLOCKPOLARITY_FALLING) || \ 702 ((__POLARITY__) == LPTIM_CLOCKPOLARITY_RISING_FALLING)) 704 #define IS_LPTIM_TRG_SOURCE(__TRIG__) (((__TRIG__) == LPTIM_TRIGSOURCE_SOFTWARE) || \ 705 ((__TRIG__) == LPTIM_TRIGSOURCE_0) || \ 706 ((__TRIG__) == LPTIM_TRIGSOURCE_1) || \ 707 ((__TRIG__) == LPTIM_TRIGSOURCE_2) || \ 708 ((__TRIG__) == LPTIM_TRIGSOURCE_3) || \ 709 ((__TRIG__) == LPTIM_TRIGSOURCE_4) || \ 710 ((__TRIG__) == LPTIM_TRIGSOURCE_5)) 712 #define IS_LPTIM_EXT_TRG_POLARITY(__POLAR__) (((__POLAR__) == LPTIM_ACTIVEEDGE_RISING ) || \ 713 ((__POLAR__) == LPTIM_ACTIVEEDGE_FALLING ) || \ 714 ((__POLAR__) == LPTIM_ACTIVEEDGE_RISING_FALLING )) 716 #define IS_LPTIM_TRIG_SAMPLE_TIME(__SAMPLETIME__) (((__SAMPLETIME__) == LPTIM_TRIGSAMPLETIME_DIRECTTRANSITION) || \ 717 ((__SAMPLETIME__) == LPTIM_TRIGSAMPLETIME_2TRANSITIONS ) || \ 718 ((__SAMPLETIME__) == LPTIM_TRIGSAMPLETIME_4TRANSITIONS ) || \ 719 ((__SAMPLETIME__) == LPTIM_TRIGSAMPLETIME_8TRANSITIONS )) 721 #define IS_LPTIM_UPDATE_MODE(__MODE__) (((__MODE__) == LPTIM_UPDATE_IMMEDIATE) || \ 722 ((__MODE__) == LPTIM_UPDATE_ENDOFPERIOD)) 724 #define IS_LPTIM_COUNTER_SOURCE(__SOURCE__) (((__SOURCE__) == LPTIM_COUNTERSOURCE_INTERNAL) || \ 725 ((__SOURCE__) == LPTIM_COUNTERSOURCE_EXTERNAL)) 727 #define IS_LPTIM_AUTORELOAD(__AUTORELOAD__) ((__AUTORELOAD__) <= 0x0000FFFFU) 729 #define IS_LPTIM_COMPARE(__COMPARE__) ((__COMPARE__) <= 0x0000FFFFU) 731 #define IS_LPTIM_PERIOD(PERIOD) ((PERIOD) <= 0x0000FFFFU) 733 #define IS_LPTIM_PULSE(PULSE) ((PULSE) <= 0x0000FFFFU) This file contains HAL common defines, enumeration, macros and structures definitions.
HAL_StatusTypeDef
HAL Status structures definition.
Definition: stm32f4xx_hal_def.h:57
LPTIMER.
Definition: stm32f410cx.h:563
#define __IO
Definition: core_cm0.h:213
HAL_LockTypeDef
HAL Lock structures definition.
Definition: stm32f4xx_hal_def.h:68