21 #ifndef STM32L4xx_HAL_COMP_H 22 #define STM32L4xx_HAL_COMP_H 35 #if defined (COMP1) || defined (COMP2) 87 #define COMP_STATE_BITFIELD_LOCK (0x10U) 101 #if (USE_HAL_COMP_REGISTER_CALLBACKS == 1) 102 typedef struct __COMP_HandleTypeDef
111 __IO uint32_t ErrorCode;
112 #if (USE_HAL_COMP_REGISTER_CALLBACKS == 1) 113 void (* TriggerCallback)(
struct __COMP_HandleTypeDef *hcomp);
114 void (* MspInitCallback)(
struct __COMP_HandleTypeDef *hcomp);
115 void (* MspDeInitCallback)(
struct __COMP_HandleTypeDef *hcomp);
119 #if (USE_HAL_COMP_REGISTER_CALLBACKS == 1) 149 #define HAL_COMP_ERROR_NONE (0x00UL) 150 #if (USE_HAL_COMP_REGISTER_CALLBACKS == 1) 151 #define HAL_COMP_ERROR_INVALID_CALLBACK (0x01UL) 161 #define COMP_WINDOWMODE_DISABLE (0x00000000UL) 162 #define COMP_WINDOWMODE_COMP1_INPUT_PLUS_COMMON (COMP_CSR_WINMODE) 174 #define COMP_POWERMODE_HIGHSPEED (0x00000000UL) 175 #define COMP_POWERMODE_MEDIUMSPEED (COMP_CSR_PWRMODE_0) 176 #define COMP_POWERMODE_ULTRALOWPOWER (COMP_CSR_PWRMODE) 184 #define COMP_INPUT_PLUS_IO1 (0x00000000UL) 185 #define COMP_INPUT_PLUS_IO2 (COMP_CSR_INPSEL_0) 186 #if defined(COMP_CSR_INPSEL_1) 187 #define COMP_INPUT_PLUS_IO3 (COMP_CSR_INPSEL_1) 196 #define COMP_INPUT_MINUS_1_4VREFINT ( COMP_CSR_SCALEN | COMP_CSR_BRGEN) 197 #define COMP_INPUT_MINUS_1_2VREFINT ( COMP_CSR_INMSEL_0 | COMP_CSR_SCALEN | COMP_CSR_BRGEN) 198 #define COMP_INPUT_MINUS_3_4VREFINT ( COMP_CSR_INMSEL_1 | COMP_CSR_SCALEN | COMP_CSR_BRGEN) 199 #define COMP_INPUT_MINUS_VREFINT ( COMP_CSR_INMSEL_1 | COMP_CSR_INMSEL_0 | COMP_CSR_SCALEN ) 200 #define COMP_INPUT_MINUS_DAC1_CH1 (COMP_CSR_INMSEL_2 ) 201 #if defined(DAC_CHANNEL2_SUPPORT) 202 #define COMP_INPUT_MINUS_DAC1_CH2 (COMP_CSR_INMSEL_2 | COMP_CSR_INMSEL_0) 204 #define COMP_INPUT_MINUS_IO1 (COMP_CSR_INMSEL_2 | COMP_CSR_INMSEL_1 ) 205 #define COMP_INPUT_MINUS_IO2 (COMP_CSR_INMSEL_2 | COMP_CSR_INMSEL_1 | COMP_CSR_INMSEL_0) 206 #if defined(COMP_CSR_INMESEL_1) 207 #define COMP_INPUT_MINUS_IO3 ( COMP_CSR_INMESEL_0 | COMP_CSR_INMSEL_2 | COMP_CSR_INMSEL_1 | COMP_CSR_INMSEL_0) 208 #define COMP_INPUT_MINUS_IO4 (COMP_CSR_INMESEL_1 | COMP_CSR_INMSEL_2 | COMP_CSR_INMSEL_1 | COMP_CSR_INMSEL_0) 209 #define COMP_INPUT_MINUS_IO5 (COMP_CSR_INMESEL_1 | COMP_CSR_INMESEL_0 | COMP_CSR_INMSEL_2 | COMP_CSR_INMSEL_1 | COMP_CSR_INMSEL_0) 218 #define COMP_HYSTERESIS_NONE (0x00000000UL) 219 #define COMP_HYSTERESIS_LOW ( COMP_CSR_HYST_0) 220 #define COMP_HYSTERESIS_MEDIUM (COMP_CSR_HYST_1 ) 221 #define COMP_HYSTERESIS_HIGH (COMP_CSR_HYST_1 | COMP_CSR_HYST_0) 229 #define COMP_OUTPUTPOL_NONINVERTED (0x00000000UL) 230 #define COMP_OUTPUTPOL_INVERTED (COMP_CSR_POLARITY) 238 #define COMP_BLANKINGSRC_NONE (0x00000000UL) 239 #define COMP_BLANKINGSRC_TIM1_OC5_COMP1 (COMP_CSR_BLANKING_0) 240 #define COMP_BLANKINGSRC_TIM2_OC3_COMP1 (COMP_CSR_BLANKING_1) 241 #define COMP_BLANKINGSRC_TIM3_OC3_COMP1 (COMP_CSR_BLANKING_2) 242 #define COMP_BLANKINGSRC_TIM3_OC4_COMP2 (COMP_CSR_BLANKING_0) 243 #define COMP_BLANKINGSRC_TIM8_OC5_COMP2 (COMP_CSR_BLANKING_1) 244 #define COMP_BLANKINGSRC_TIM15_OC1_COMP2 (COMP_CSR_BLANKING_2) 258 #define COMP_OUTPUT_LEVEL_LOW (0x00000000UL) 261 #define COMP_OUTPUT_LEVEL_HIGH (0x00000001UL) 269 #define COMP_TRIGGERMODE_NONE (0x00000000UL) 270 #define COMP_TRIGGERMODE_IT_RISING (COMP_EXTI_IT | COMP_EXTI_RISING) 271 #define COMP_TRIGGERMODE_IT_FALLING (COMP_EXTI_IT | COMP_EXTI_FALLING) 272 #define COMP_TRIGGERMODE_IT_RISING_FALLING (COMP_EXTI_IT | COMP_EXTI_RISING | COMP_EXTI_FALLING) 273 #define COMP_TRIGGERMODE_EVENT_RISING (COMP_EXTI_EVENT | COMP_EXTI_RISING) 274 #define COMP_TRIGGERMODE_EVENT_FALLING (COMP_EXTI_EVENT | COMP_EXTI_FALLING) 275 #define COMP_TRIGGERMODE_EVENT_RISING_FALLING (COMP_EXTI_EVENT | COMP_EXTI_RISING | COMP_EXTI_FALLING) 297 #if (USE_HAL_COMP_REGISTER_CALLBACKS == 1) 298 #define __HAL_COMP_RESET_HANDLE_STATE(__HANDLE__) do{ \ 299 (__HANDLE__)->State = HAL_COMP_STATE_RESET; \ 300 (__HANDLE__)->MspInitCallback = NULL; \ 301 (__HANDLE__)->MspDeInitCallback = NULL; \ 304 #define __HAL_COMP_RESET_HANDLE_STATE(__HANDLE__) ((__HANDLE__)->State = HAL_COMP_STATE_RESET) 312 #define COMP_CLEAR_ERRORCODE(__HANDLE__) ((__HANDLE__)->ErrorCode = HAL_COMP_ERROR_NONE) 319 #define __HAL_COMP_ENABLE(__HANDLE__) SET_BIT((__HANDLE__)->Instance->CSR, COMP_CSR_EN) 326 #define __HAL_COMP_DISABLE(__HANDLE__) CLEAR_BIT((__HANDLE__)->Instance->CSR, COMP_CSR_EN) 337 #define __HAL_COMP_LOCK(__HANDLE__) SET_BIT((__HANDLE__)->Instance->CSR, COMP_CSR_LOCK) 344 #define __HAL_COMP_IS_LOCKED(__HANDLE__) (READ_BIT((__HANDLE__)->Instance->CSR, COMP_CSR_LOCK) == COMP_CSR_LOCK) 358 #define __HAL_COMP_COMP1_EXTI_ENABLE_RISING_EDGE() LL_EXTI_EnableRisingTrig_0_31(COMP_EXTI_LINE_COMP1) 364 #define __HAL_COMP_COMP1_EXTI_DISABLE_RISING_EDGE() LL_EXTI_DisableRisingTrig_0_31(COMP_EXTI_LINE_COMP1) 370 #define __HAL_COMP_COMP1_EXTI_ENABLE_FALLING_EDGE() LL_EXTI_EnableFallingTrig_0_31(COMP_EXTI_LINE_COMP1) 376 #define __HAL_COMP_COMP1_EXTI_DISABLE_FALLING_EDGE() LL_EXTI_DisableFallingTrig_0_31(COMP_EXTI_LINE_COMP1) 382 #define __HAL_COMP_COMP1_EXTI_ENABLE_RISING_FALLING_EDGE() do { \ 383 LL_EXTI_EnableRisingTrig_0_31(COMP_EXTI_LINE_COMP1); \ 384 LL_EXTI_EnableFallingTrig_0_31(COMP_EXTI_LINE_COMP1); \ 391 #define __HAL_COMP_COMP1_EXTI_DISABLE_RISING_FALLING_EDGE() do { \ 392 LL_EXTI_DisableRisingTrig_0_31(COMP_EXTI_LINE_COMP1); \ 393 LL_EXTI_DisableFallingTrig_0_31(COMP_EXTI_LINE_COMP1); \ 400 #define __HAL_COMP_COMP1_EXTI_ENABLE_IT() LL_EXTI_EnableIT_0_31(COMP_EXTI_LINE_COMP1) 406 #define __HAL_COMP_COMP1_EXTI_DISABLE_IT() LL_EXTI_DisableIT_0_31(COMP_EXTI_LINE_COMP1) 412 #define __HAL_COMP_COMP1_EXTI_GENERATE_SWIT() LL_EXTI_GenerateSWI_0_31(COMP_EXTI_LINE_COMP1) 418 #define __HAL_COMP_COMP1_EXTI_ENABLE_EVENT() LL_EXTI_EnableEvent_0_31(COMP_EXTI_LINE_COMP1) 424 #define __HAL_COMP_COMP1_EXTI_DISABLE_EVENT() LL_EXTI_DisableEvent_0_31(COMP_EXTI_LINE_COMP1) 430 #define __HAL_COMP_COMP1_EXTI_GET_FLAG() LL_EXTI_IsActiveFlag_0_31(COMP_EXTI_LINE_COMP1) 436 #define __HAL_COMP_COMP1_EXTI_CLEAR_FLAG() LL_EXTI_ClearFlag_0_31(COMP_EXTI_LINE_COMP1) 443 #define __HAL_COMP_COMP2_EXTI_ENABLE_RISING_EDGE() LL_EXTI_EnableRisingTrig_0_31(COMP_EXTI_LINE_COMP2) 449 #define __HAL_COMP_COMP2_EXTI_DISABLE_RISING_EDGE() LL_EXTI_DisableRisingTrig_0_31(COMP_EXTI_LINE_COMP2) 455 #define __HAL_COMP_COMP2_EXTI_ENABLE_FALLING_EDGE() LL_EXTI_EnableFallingTrig_0_31(COMP_EXTI_LINE_COMP2) 461 #define __HAL_COMP_COMP2_EXTI_DISABLE_FALLING_EDGE() LL_EXTI_DisableFallingTrig_0_31(COMP_EXTI_LINE_COMP2) 467 #define __HAL_COMP_COMP2_EXTI_ENABLE_RISING_FALLING_EDGE() do { \ 468 LL_EXTI_EnableRisingTrig_0_31(COMP_EXTI_LINE_COMP2); \ 469 LL_EXTI_EnableFallingTrig_0_31(COMP_EXTI_LINE_COMP2); \ 476 #define __HAL_COMP_COMP2_EXTI_DISABLE_RISING_FALLING_EDGE() do { \ 477 LL_EXTI_DisableRisingTrig_0_31(COMP_EXTI_LINE_COMP2); \ 478 LL_EXTI_DisableFallingTrig_0_31(COMP_EXTI_LINE_COMP2); \ 485 #define __HAL_COMP_COMP2_EXTI_ENABLE_IT() LL_EXTI_EnableIT_0_31(COMP_EXTI_LINE_COMP2) 491 #define __HAL_COMP_COMP2_EXTI_DISABLE_IT() LL_EXTI_DisableIT_0_31(COMP_EXTI_LINE_COMP2) 497 #define __HAL_COMP_COMP2_EXTI_GENERATE_SWIT() LL_EXTI_GenerateSWI_0_31(COMP_EXTI_LINE_COMP2) 503 #define __HAL_COMP_COMP2_EXTI_ENABLE_EVENT() LL_EXTI_EnableEvent_0_31(COMP_EXTI_LINE_COMP2) 509 #define __HAL_COMP_COMP2_EXTI_DISABLE_EVENT() LL_EXTI_DisableEvent_0_31(COMP_EXTI_LINE_COMP2) 515 #define __HAL_COMP_COMP2_EXTI_GET_FLAG() LL_EXTI_IsActiveFlag_0_31(COMP_EXTI_LINE_COMP2) 521 #define __HAL_COMP_COMP2_EXTI_CLEAR_FLAG() LL_EXTI_ClearFlag_0_31(COMP_EXTI_LINE_COMP2) 542 #define COMP_EXTI_LINE_COMP1 (LL_EXTI_LINE_21) 544 #define COMP_EXTI_LINE_COMP2 (LL_EXTI_LINE_22) 553 #define COMP_EXTI_IT (0x00000001UL) 554 #define COMP_EXTI_EVENT (0x00000002UL) 555 #define COMP_EXTI_RISING (0x00000010UL) 556 #define COMP_EXTI_FALLING (0x00000020UL) 579 #define COMP_GET_EXTI_LINE(__INSTANCE__) (((__INSTANCE__) == COMP1) ? COMP_EXTI_LINE_COMP1 \ 580 : COMP_EXTI_LINE_COMP2) 582 #define COMP_GET_EXTI_LINE(__INSTANCE__) COMP_EXTI_LINE_COMP1 592 #define IS_COMP_WINDOWMODE(__WINDOWMODE__) (((__WINDOWMODE__) == COMP_WINDOWMODE_DISABLE) || \ 593 ((__WINDOWMODE__) == COMP_WINDOWMODE_COMP1_INPUT_PLUS_COMMON) ) 596 #define IS_COMP_POWERMODE(__POWERMODE__) (((__POWERMODE__) == COMP_POWERMODE_HIGHSPEED) || \ 597 ((__POWERMODE__) == COMP_POWERMODE_MEDIUMSPEED) || \ 598 ((__POWERMODE__) == COMP_POWERMODE_ULTRALOWPOWER) ) 600 #if defined(COMP_CSR_INPSEL_1) 601 #define IS_COMP_INPUT_PLUS(__COMP_INSTANCE__, __INPUT_PLUS__) (((__INPUT_PLUS__) == COMP_INPUT_PLUS_IO1) || \ 602 ((__INPUT_PLUS__) == COMP_INPUT_PLUS_IO2) || \ 603 ((__INPUT_PLUS__) == COMP_INPUT_PLUS_IO3)) 605 #define IS_COMP_INPUT_PLUS(__COMP_INSTANCE__, __INPUT_PLUS__) (((__INPUT_PLUS__) == COMP_INPUT_PLUS_IO1) || \ 606 ((__INPUT_PLUS__) == COMP_INPUT_PLUS_IO2)) 613 #if defined(COMP_CSR_INMESEL_1) && defined(DAC_CHANNEL2_SUPPORT) 614 #define IS_COMP_INPUT_MINUS(__COMP_INSTANCE__, __INPUT_MINUS__) (((__INPUT_MINUS__) == COMP_INPUT_MINUS_1_4VREFINT) || \ 615 ((__INPUT_MINUS__) == COMP_INPUT_MINUS_1_2VREFINT) || \ 616 ((__INPUT_MINUS__) == COMP_INPUT_MINUS_3_4VREFINT) || \ 617 ((__INPUT_MINUS__) == COMP_INPUT_MINUS_VREFINT) || \ 618 ((__INPUT_MINUS__) == COMP_INPUT_MINUS_DAC1_CH1) || \ 619 ((__INPUT_MINUS__) == COMP_INPUT_MINUS_DAC1_CH2) || \ 620 ((__INPUT_MINUS__) == COMP_INPUT_MINUS_IO1) || \ 621 ((__INPUT_MINUS__) == COMP_INPUT_MINUS_IO2) || \ 622 ((__INPUT_MINUS__) == COMP_INPUT_MINUS_IO3) || \ 623 ((__INPUT_MINUS__) == COMP_INPUT_MINUS_IO4) || \ 624 ((__INPUT_MINUS__) == COMP_INPUT_MINUS_IO5)) 625 #elif defined(COMP_CSR_INMESEL_1) 626 #define IS_COMP_INPUT_MINUS(__COMP_INSTANCE__, __INPUT_MINUS__) (((__INPUT_MINUS__) == COMP_INPUT_MINUS_1_4VREFINT) || \ 627 ((__INPUT_MINUS__) == COMP_INPUT_MINUS_1_2VREFINT) || \ 628 ((__INPUT_MINUS__) == COMP_INPUT_MINUS_3_4VREFINT) || \ 629 ((__INPUT_MINUS__) == COMP_INPUT_MINUS_VREFINT) || \ 630 ((__INPUT_MINUS__) == COMP_INPUT_MINUS_DAC1_CH1) || \ 631 ((__INPUT_MINUS__) == COMP_INPUT_MINUS_IO1) || \ 632 ((__INPUT_MINUS__) == COMP_INPUT_MINUS_IO2) || \ 633 ((__INPUT_MINUS__) == COMP_INPUT_MINUS_IO3) || \ 634 ((__INPUT_MINUS__) == COMP_INPUT_MINUS_IO4) || \ 635 ((__INPUT_MINUS__) == COMP_INPUT_MINUS_IO5)) 636 #elif defined(DAC_CHANNEL2_SUPPORT) 637 #define IS_COMP_INPUT_MINUS(__COMP_INSTANCE__, __INPUT_MINUS__) (((__INPUT_MINUS__) == COMP_INPUT_MINUS_1_4VREFINT) || \ 638 ((__INPUT_MINUS__) == COMP_INPUT_MINUS_1_2VREFINT) || \ 639 ((__INPUT_MINUS__) == COMP_INPUT_MINUS_3_4VREFINT) || \ 640 ((__INPUT_MINUS__) == COMP_INPUT_MINUS_VREFINT) || \ 641 ((__INPUT_MINUS__) == COMP_INPUT_MINUS_DAC1_CH1) || \ 642 ((__INPUT_MINUS__) == COMP_INPUT_MINUS_DAC1_CH2) || \ 643 ((__INPUT_MINUS__) == COMP_INPUT_MINUS_IO1) || \ 644 ((__INPUT_MINUS__) == COMP_INPUT_MINUS_IO2)) 646 #define IS_COMP_INPUT_MINUS(__COMP_INSTANCE__, __INPUT_MINUS__) (((__INPUT_MINUS__) == COMP_INPUT_MINUS_1_4VREFINT) || \ 647 ((__INPUT_MINUS__) == COMP_INPUT_MINUS_1_2VREFINT) || \ 648 ((__INPUT_MINUS__) == COMP_INPUT_MINUS_3_4VREFINT) || \ 649 ((__INPUT_MINUS__) == COMP_INPUT_MINUS_VREFINT) || \ 650 ((__INPUT_MINUS__) == COMP_INPUT_MINUS_DAC1_CH1) || \ 651 ((__INPUT_MINUS__) == COMP_INPUT_MINUS_IO1) || \ 652 ((__INPUT_MINUS__) == COMP_INPUT_MINUS_IO2)) 655 #define IS_COMP_HYSTERESIS(__HYSTERESIS__) (((__HYSTERESIS__) == COMP_HYSTERESIS_NONE) || \ 656 ((__HYSTERESIS__) == COMP_HYSTERESIS_LOW) || \ 657 ((__HYSTERESIS__) == COMP_HYSTERESIS_MEDIUM) || \ 658 ((__HYSTERESIS__) == COMP_HYSTERESIS_HIGH)) 660 #define IS_COMP_OUTPUTPOL(__POL__) (((__POL__) == COMP_OUTPUTPOL_NONINVERTED) || \ 661 ((__POL__) == COMP_OUTPUTPOL_INVERTED)) 664 #define IS_COMP_BLANKINGSRCE(__OUTPUT_BLANKING_SOURCE__) \ 665 ( ((__OUTPUT_BLANKING_SOURCE__) == COMP_BLANKINGSRC_NONE) \ 666 || ((__OUTPUT_BLANKING_SOURCE__) == COMP_BLANKINGSRC_TIM1_OC5_COMP1) \ 667 || ((__OUTPUT_BLANKING_SOURCE__) == COMP_BLANKINGSRC_TIM2_OC3_COMP1) \ 668 || ((__OUTPUT_BLANKING_SOURCE__) == COMP_BLANKINGSRC_TIM3_OC3_COMP1) \ 669 || ((__OUTPUT_BLANKING_SOURCE__) == COMP_BLANKINGSRC_TIM3_OC4_COMP2) \ 670 || ((__OUTPUT_BLANKING_SOURCE__) == COMP_BLANKINGSRC_TIM8_OC5_COMP2) \ 671 || ((__OUTPUT_BLANKING_SOURCE__) == COMP_BLANKINGSRC_TIM15_OC1_COMP2) \ 675 #define IS_COMP_BLANKINGSRCE(__OUTPUT_BLANKING_SOURCE__) \ 676 ( ((__OUTPUT_BLANKING_SOURCE__) == COMP_BLANKINGSRC_NONE) \ 677 || ((__OUTPUT_BLANKING_SOURCE__) == COMP_BLANKINGSRC_TIM1_OC5_COMP1) \ 678 || ((__OUTPUT_BLANKING_SOURCE__) == COMP_BLANKINGSRC_TIM2_OC3_COMP1) \ 679 || ((__OUTPUT_BLANKING_SOURCE__) == COMP_BLANKINGSRC_TIM3_OC3_COMP1) \ 682 #define IS_COMP_BLANKINGSRCE(__OUTPUT_BLANKING_SOURCE__) \ 683 ( ((__OUTPUT_BLANKING_SOURCE__) == COMP_BLANKINGSRC_NONE) \ 684 || ((__OUTPUT_BLANKING_SOURCE__) == COMP_BLANKINGSRC_TIM1_OC5_COMP1) \ 685 || ((__OUTPUT_BLANKING_SOURCE__) == COMP_BLANKINGSRC_TIM2_OC3_COMP1) \ 691 #define IS_COMP_BLANKINGSRC_INSTANCE(__INSTANCE__, __OUTPUT_BLANKING_SOURCE__) \ 692 ((((__INSTANCE__) == COMP1) && \ 693 (((__OUTPUT_BLANKING_SOURCE__) == COMP_BLANKINGSRC_NONE) || \ 694 ((__OUTPUT_BLANKING_SOURCE__) == COMP_BLANKINGSRC_TIM1_OC5_COMP1) || \ 695 ((__OUTPUT_BLANKING_SOURCE__) == COMP_BLANKINGSRC_TIM2_OC3_COMP1) || \ 696 ((__OUTPUT_BLANKING_SOURCE__) == COMP_BLANKINGSRC_TIM3_OC3_COMP1))) \ 698 (((__INSTANCE__) == COMP2) && \ 699 (((__OUTPUT_BLANKING_SOURCE__) == COMP_BLANKINGSRC_NONE) || \ 700 ((__OUTPUT_BLANKING_SOURCE__) == COMP_BLANKINGSRC_TIM3_OC4_COMP2) || \ 701 ((__OUTPUT_BLANKING_SOURCE__) == COMP_BLANKINGSRC_TIM8_OC5_COMP2) || \ 702 ((__OUTPUT_BLANKING_SOURCE__) == COMP_BLANKINGSRC_TIM15_OC1_COMP2)))) 705 #define IS_COMP_BLANKINGSRC_INSTANCE(__INSTANCE__, __OUTPUT_BLANKING_SOURCE__) \ 706 (((__INSTANCE__) == COMP1) && \ 707 (((__OUTPUT_BLANKING_SOURCE__) == COMP_BLANKINGSRC_NONE) || \ 708 ((__OUTPUT_BLANKING_SOURCE__) == COMP_BLANKINGSRC_TIM1_OC5_COMP1) || \ 709 ((__OUTPUT_BLANKING_SOURCE__) == COMP_BLANKINGSRC_TIM2_OC3_COMP1) || \ 710 ((__OUTPUT_BLANKING_SOURCE__) == COMP_BLANKINGSRC_TIM3_OC3_COMP1))) 712 #define IS_COMP_BLANKINGSRC_INSTANCE(__INSTANCE__, __OUTPUT_BLANKING_SOURCE__) \ 713 (((__INSTANCE__) == COMP1) && \ 714 (((__OUTPUT_BLANKING_SOURCE__) == COMP_BLANKINGSRC_NONE) || \ 715 ((__OUTPUT_BLANKING_SOURCE__) == COMP_BLANKINGSRC_TIM1_OC5_COMP1) || \ 716 ((__OUTPUT_BLANKING_SOURCE__) == COMP_BLANKINGSRC_TIM2_OC3_COMP1) )) 720 #define IS_COMP_TRIGGERMODE(__MODE__) (((__MODE__) == COMP_TRIGGERMODE_NONE) || \ 721 ((__MODE__) == COMP_TRIGGERMODE_IT_RISING) || \ 722 ((__MODE__) == COMP_TRIGGERMODE_IT_FALLING) || \ 723 ((__MODE__) == COMP_TRIGGERMODE_IT_RISING_FALLING) || \ 724 ((__MODE__) == COMP_TRIGGERMODE_EVENT_RISING) || \ 725 ((__MODE__) == COMP_TRIGGERMODE_EVENT_FALLING) || \ 726 ((__MODE__) == COMP_TRIGGERMODE_EVENT_RISING_FALLING)) 728 #define IS_COMP_OUTPUT_LEVEL(__OUTPUT_LEVEL__) (((__OUTPUT_LEVEL__) == COMP_OUTPUT_LEVEL_LOW) || \ 729 ((__OUTPUT_LEVEL__) == COMP_OUTPUT_LEVEL_HIGH)) 755 #if (USE_HAL_COMP_REGISTER_CALLBACKS == 1) HAL_StatusTypeDef HAL_COMP_Init(COMP_HandleTypeDef *hcomp)
Initialize the COMP according to the specified parameters in the COMP_InitTypeDef and initialize the ...
__IO HAL_COMP_StateTypeDef State
HAL_StatusTypeDef HAL_COMP_DeInit(COMP_HandleTypeDef *hcomp)
DeInitialize the COMP peripheral.
HAL_StatusTypeDef HAL_COMP_RegisterCallback(COMP_HandleTypeDef *hcomp, HAL_COMP_CallbackIDTypeDef CallbackID, pCOMP_CallbackTypeDef pCallback)
Register a User COMP Callback To be used instead of the weak predefined callback. ...
HAL_COMP_StateTypeDef HAL_COMP_GetState(COMP_HandleTypeDef *hcomp)
Return the COMP handle state.
HAL_StatusTypeDef HAL_COMP_Start(COMP_HandleTypeDef *hcomp)
Start the comparator.
COMP Init structure definition.
This file contains HAL common defines, enumeration, macros and structures definitions.
void HAL_COMP_MspDeInit(COMP_HandleTypeDef *hcomp)
DeInitialize the COMP MSP.
HAL_StatusTypeDef HAL_COMP_UnRegisterCallback(COMP_HandleTypeDef *hcomp, HAL_COMP_CallbackIDTypeDef CallbackID)
Unregister a COMP Callback COMP callback is redirected to the weak predefined callback.
void(* pCOMP_CallbackTypeDef)(COMP_HandleTypeDef *hcomp)
HAL COMP Callback pointer definition.
struct __COMP_HandleTypeDef else typedef struct endif COMP_HandleTypeDef
COMP Handle Structure definition.
void HAL_COMP_MspInit(COMP_HandleTypeDef *hcomp)
Initialize the COMP MSP.
uint32_t HAL_COMP_GetError(COMP_HandleTypeDef *hcomp)
Return the COMP error code.
HAL_LockTypeDef
HAL Lock structures definition.
void HAL_COMP_TriggerCallback(COMP_HandleTypeDef *hcomp)
Comparator trigger callback.
HAL_StatusTypeDef HAL_COMP_Lock(COMP_HandleTypeDef *hcomp)
Lock the selected comparator configuration.
HAL_StatusTypeDef HAL_COMP_Stop(COMP_HandleTypeDef *hcomp)
Stop the comparator.
uint32_t NonInvertingInput
ADC handle Structure definition.
Header file of EXTI LL module.
HAL_COMP_CallbackIDTypeDef
HAL COMP Callback ID enumeration definition.
void HAL_COMP_IRQHandler(COMP_HandleTypeDef *hcomp)
Comparator IRQ handler.
uint32_t HAL_COMP_GetOutputLevel(COMP_HandleTypeDef *hcomp)
Return the output level (high or low) of the selected comparator. The output level depends on the sel...