The official Mbed 2 C/C++ SDK provides the software platform and libraries to build your applications.

Dependents:   hello SerialTestv11 SerialTestv12 Sierpinski ... more

mbed 2

This is the mbed 2 library. If you'd like to learn about Mbed OS please see the mbed-os docs.

Committer:
AnnaBridge
Date:
Wed Feb 20 20:53:29 2019 +0000
Revision:
172:65be27845400
mbed library release version 165

Who changed what in which revision?

UserRevisionLine numberNew contents of line
AnnaBridge 172:65be27845400 1 /**
AnnaBridge 172:65be27845400 2 ******************************************************************************
AnnaBridge 172:65be27845400 3 * @file stm32h7xx_hal_comp.h
AnnaBridge 172:65be27845400 4 * @author MCD Application Team
AnnaBridge 172:65be27845400 5 * @brief Header file of COMP HAL module.
AnnaBridge 172:65be27845400 6 ******************************************************************************
AnnaBridge 172:65be27845400 7 * @attention
AnnaBridge 172:65be27845400 8 *
AnnaBridge 172:65be27845400 9 * <h2><center>&copy; Copyright (c) 2017 STMicroelectronics.
AnnaBridge 172:65be27845400 10 * All rights reserved.</center></h2>
AnnaBridge 172:65be27845400 11 *
AnnaBridge 172:65be27845400 12 * This software component is licensed by ST under BSD 3-Clause license,
AnnaBridge 172:65be27845400 13 * the "License"; You may not use this file except in compliance with the
AnnaBridge 172:65be27845400 14 * License. You may obtain a copy of the License at:
AnnaBridge 172:65be27845400 15 * opensource.org/licenses/BSD-3-Clause
AnnaBridge 172:65be27845400 16 *
AnnaBridge 172:65be27845400 17 ******************************************************************************
AnnaBridge 172:65be27845400 18 */
AnnaBridge 172:65be27845400 19
AnnaBridge 172:65be27845400 20 /* Define to prevent recursive inclusion -------------------------------------*/
AnnaBridge 172:65be27845400 21 #ifndef STM32H7xx_HAL_COMP_H
AnnaBridge 172:65be27845400 22 #define STM32H7xx_HAL_COMP_H
AnnaBridge 172:65be27845400 23
AnnaBridge 172:65be27845400 24 #ifdef __cplusplus
AnnaBridge 172:65be27845400 25 extern "C" {
AnnaBridge 172:65be27845400 26 #endif
AnnaBridge 172:65be27845400 27
AnnaBridge 172:65be27845400 28 /* Includes ------------------------------------------------------------------*/
AnnaBridge 172:65be27845400 29 #include "stm32h7xx_hal_def.h"
AnnaBridge 172:65be27845400 30
AnnaBridge 172:65be27845400 31 /** @addtogroup STM32H7xx_HAL_Driver
AnnaBridge 172:65be27845400 32 * @{
AnnaBridge 172:65be27845400 33 */
AnnaBridge 172:65be27845400 34
AnnaBridge 172:65be27845400 35 /** @addtogroup COMP
AnnaBridge 172:65be27845400 36 * @{
AnnaBridge 172:65be27845400 37 */
AnnaBridge 172:65be27845400 38
AnnaBridge 172:65be27845400 39 /* Exported types ------------------------------------------------------------*/
AnnaBridge 172:65be27845400 40 /** @defgroup COMP_Exported_Types COMP Exported Types
AnnaBridge 172:65be27845400 41 * @{
AnnaBridge 172:65be27845400 42 */
AnnaBridge 172:65be27845400 43
AnnaBridge 172:65be27845400 44 /**
AnnaBridge 172:65be27845400 45 * @brief COMP Init structure definition
AnnaBridge 172:65be27845400 46 */
AnnaBridge 172:65be27845400 47 typedef struct
AnnaBridge 172:65be27845400 48 {
AnnaBridge 172:65be27845400 49
AnnaBridge 172:65be27845400 50 uint32_t WindowMode; /*!< Set window mode of a pair of comparators instances
AnnaBridge 172:65be27845400 51 (2 consecutive instances odd and even COMP<x> and COMP<x+1>).
AnnaBridge 172:65be27845400 52 Note: HAL COMP driver allows to set window mode from any COMP instance of the pair of COMP instances composing window mode.
AnnaBridge 172:65be27845400 53 This parameter can be a value of @ref COMP_WindowMode */
AnnaBridge 172:65be27845400 54
AnnaBridge 172:65be27845400 55 uint32_t Mode; /*!< Set comparator operating mode to adjust power and speed.
AnnaBridge 172:65be27845400 56 Note: For the characteritics of comparator power modes
AnnaBridge 172:65be27845400 57 (propagation delay and power consumption), refer to device datasheet.
AnnaBridge 172:65be27845400 58 This parameter can be a value of @ref COMP_PowerMode */
AnnaBridge 172:65be27845400 59
AnnaBridge 172:65be27845400 60 uint32_t NonInvertingInput; /*!< Set comparator input plus (non-inverting input).
AnnaBridge 172:65be27845400 61 This parameter can be a value of @ref COMP_InputPlus */
AnnaBridge 172:65be27845400 62
AnnaBridge 172:65be27845400 63 uint32_t InvertingInput; /*!< Set comparator input minus (inverting input).
AnnaBridge 172:65be27845400 64 This parameter can be a value of @ref COMP_InputMinus */
AnnaBridge 172:65be27845400 65
AnnaBridge 172:65be27845400 66 uint32_t Hysteresis; /*!< Set comparator hysteresis mode of the input minus.
AnnaBridge 172:65be27845400 67 This parameter can be a value of @ref COMP_Hysteresis */
AnnaBridge 172:65be27845400 68
AnnaBridge 172:65be27845400 69 uint32_t OutputPol; /*!< Set comparator output polarity.
AnnaBridge 172:65be27845400 70 This parameter can be a value of @ref COMP_OutputPolarity */
AnnaBridge 172:65be27845400 71
AnnaBridge 172:65be27845400 72 uint32_t BlankingSrce; /*!< Set comparator blanking source.
AnnaBridge 172:65be27845400 73 This parameter can be a value of @ref COMP_BlankingSrce */
AnnaBridge 172:65be27845400 74
AnnaBridge 172:65be27845400 75 uint32_t TriggerMode; /*!< Set the comparator output triggering External Interrupt Line (EXTI).
AnnaBridge 172:65be27845400 76 This parameter can be a value of @ref COMP_EXTI_TriggerMode */
AnnaBridge 172:65be27845400 77
AnnaBridge 172:65be27845400 78 }COMP_InitTypeDef;
AnnaBridge 172:65be27845400 79
AnnaBridge 172:65be27845400 80 /**
AnnaBridge 172:65be27845400 81 * @brief HAL COMP state machine: HAL COMP states definition
AnnaBridge 172:65be27845400 82 */
AnnaBridge 172:65be27845400 83 #define COMP_STATE_BITFIELD_LOCK ((uint32_t)0x10)
AnnaBridge 172:65be27845400 84 typedef enum
AnnaBridge 172:65be27845400 85 {
AnnaBridge 172:65be27845400 86 HAL_COMP_STATE_RESET = 0x00, /*!< COMP not yet initialized */
AnnaBridge 172:65be27845400 87 HAL_COMP_STATE_RESET_LOCKED = (HAL_COMP_STATE_RESET | COMP_STATE_BITFIELD_LOCK), /*!< COMP not yet initialized and configuration is locked */
AnnaBridge 172:65be27845400 88 HAL_COMP_STATE_READY = 0x01, /*!< COMP initialized and ready for use */
AnnaBridge 172:65be27845400 89 HAL_COMP_STATE_READY_LOCKED = (HAL_COMP_STATE_READY | COMP_STATE_BITFIELD_LOCK), /*!< COMP initialized but configuration is locked */
AnnaBridge 172:65be27845400 90 HAL_COMP_STATE_BUSY = 0x02, /*!< COMP is running */
AnnaBridge 172:65be27845400 91 HAL_COMP_STATE_BUSY_LOCKED = (HAL_COMP_STATE_BUSY | COMP_STATE_BITFIELD_LOCK) /*!< COMP is running and configuration is locked */
AnnaBridge 172:65be27845400 92 }HAL_COMP_StateTypeDef;
AnnaBridge 172:65be27845400 93
AnnaBridge 172:65be27845400 94 /**
AnnaBridge 172:65be27845400 95 * @brief COMP Handle Structure definition
AnnaBridge 172:65be27845400 96 */
AnnaBridge 172:65be27845400 97 #if (USE_HAL_COMP_REGISTER_CALLBACKS == 1)
AnnaBridge 172:65be27845400 98 typedef struct __COMP_HandleTypeDef
AnnaBridge 172:65be27845400 99 #else
AnnaBridge 172:65be27845400 100 typedef struct
AnnaBridge 172:65be27845400 101 #endif /* USE_HAL_COMP_REGISTER_CALLBACKS */
AnnaBridge 172:65be27845400 102 {
AnnaBridge 172:65be27845400 103 COMP_TypeDef *Instance; /*!< Register base address */
AnnaBridge 172:65be27845400 104 COMP_InitTypeDef Init; /*!< COMP required parameters */
AnnaBridge 172:65be27845400 105 HAL_LockTypeDef Lock; /*!< Locking object */
AnnaBridge 172:65be27845400 106 __IO HAL_COMP_StateTypeDef State; /*!< COMP communication state */
AnnaBridge 172:65be27845400 107 __IO uint32_t ErrorCode; /*!< COMP error code */
AnnaBridge 172:65be27845400 108 #if (USE_HAL_COMP_REGISTER_CALLBACKS == 1)
AnnaBridge 172:65be27845400 109 void (* TriggerCallback)(struct __COMP_HandleTypeDef *hcomp); /*!< COMP trigger callback */
AnnaBridge 172:65be27845400 110 void (* MspInitCallback)(struct __COMP_HandleTypeDef *hcomp); /*!< COMP Msp Init callback */
AnnaBridge 172:65be27845400 111 void (* MspDeInitCallback)(struct __COMP_HandleTypeDef *hcomp); /*!< COMP Msp DeInit callback */
AnnaBridge 172:65be27845400 112 #endif /* USE_HAL_COMP_REGISTER_CALLBACKS */
AnnaBridge 172:65be27845400 113
AnnaBridge 172:65be27845400 114 } COMP_HandleTypeDef;
AnnaBridge 172:65be27845400 115
AnnaBridge 172:65be27845400 116 #if (USE_HAL_COMP_REGISTER_CALLBACKS == 1)
AnnaBridge 172:65be27845400 117 /**
AnnaBridge 172:65be27845400 118 * @brief HAL COMP Callback ID enumeration definition
AnnaBridge 172:65be27845400 119 */
AnnaBridge 172:65be27845400 120 typedef enum
AnnaBridge 172:65be27845400 121 {
AnnaBridge 172:65be27845400 122 HAL_COMP_TRIGGER_CB_ID = 0x00U, /*!< COMP trigger callback ID */
AnnaBridge 172:65be27845400 123 HAL_COMP_MSPINIT_CB_ID = 0x01U, /*!< COMP Msp Init callback ID */
AnnaBridge 172:65be27845400 124 HAL_COMP_MSPDEINIT_CB_ID = 0x02U /*!< COMP Msp DeInit callback ID */
AnnaBridge 172:65be27845400 125 } HAL_COMP_CallbackIDTypeDef;
AnnaBridge 172:65be27845400 126
AnnaBridge 172:65be27845400 127 /**
AnnaBridge 172:65be27845400 128 * @brief HAL COMP Callback pointer definition
AnnaBridge 172:65be27845400 129 */
AnnaBridge 172:65be27845400 130 typedef void (*pCOMP_CallbackTypeDef)(COMP_HandleTypeDef *hcomp); /*!< pointer to a COMP callback function */
AnnaBridge 172:65be27845400 131
AnnaBridge 172:65be27845400 132 #endif /* USE_HAL_COMP_REGISTER_CALLBACKS */
AnnaBridge 172:65be27845400 133 /**
AnnaBridge 172:65be27845400 134 * @}
AnnaBridge 172:65be27845400 135 */
AnnaBridge 172:65be27845400 136
AnnaBridge 172:65be27845400 137 /* Exported constants --------------------------------------------------------*/
AnnaBridge 172:65be27845400 138 /** @defgroup COMP_Exported_Constants COMP Exported Constants
AnnaBridge 172:65be27845400 139 * @{
AnnaBridge 172:65be27845400 140 */
AnnaBridge 172:65be27845400 141
AnnaBridge 172:65be27845400 142 /** @defgroup COMP_Error_Code COMP Error Code
AnnaBridge 172:65be27845400 143 * @{
AnnaBridge 172:65be27845400 144 */
AnnaBridge 172:65be27845400 145 #define HAL_COMP_ERROR_NONE (0x00U) /*!< No error */
AnnaBridge 172:65be27845400 146 #if (USE_HAL_COMP_REGISTER_CALLBACKS == 1)
AnnaBridge 172:65be27845400 147 #define HAL_COMP_ERROR_INVALID_CALLBACK (0x01U) /*!< Invalid Callback error */
AnnaBridge 172:65be27845400 148 #endif /* USE_HAL_COMP_REGISTER_CALLBACKS */
AnnaBridge 172:65be27845400 149 /**
AnnaBridge 172:65be27845400 150 * @}
AnnaBridge 172:65be27845400 151 */
AnnaBridge 172:65be27845400 152
AnnaBridge 172:65be27845400 153 /** @defgroup COMP_WindowMode COMP Window Mode
AnnaBridge 172:65be27845400 154 * @{
AnnaBridge 172:65be27845400 155 */
AnnaBridge 172:65be27845400 156 #define COMP_WINDOWMODE_DISABLE ((uint32_t)0x00000000) /*!< Window mode disable: Comparators instances pair COMP1 and COMP2 are independent */
AnnaBridge 172:65be27845400 157 #define COMP_WINDOWMODE_COMP1_INPUT_PLUS_COMMON (COMP_CFGRx_WINMODE) /*!< Window mode enable: Comparators instances pair COMP1 and COMP2 have their input plus connected together. The common input is COMP1 input plus (COMP2 input plus is no more accessible). */
AnnaBridge 172:65be27845400 158
AnnaBridge 172:65be27845400 159 /**
AnnaBridge 172:65be27845400 160 * @}
AnnaBridge 172:65be27845400 161 */
AnnaBridge 172:65be27845400 162
AnnaBridge 172:65be27845400 163 /** @defgroup COMP_PowerMode COMP power mode
AnnaBridge 172:65be27845400 164 * @{
AnnaBridge 172:65be27845400 165 */
AnnaBridge 172:65be27845400 166 /* Note: For the characteritics of comparator power modes */
AnnaBridge 172:65be27845400 167 /* (propagation delay and power consumption), */
AnnaBridge 172:65be27845400 168 /* refer to device datasheet. */
AnnaBridge 172:65be27845400 169 #define COMP_POWERMODE_HIGHSPEED ((uint32_t)0x00000000) /*!< High Speed */
AnnaBridge 172:65be27845400 170 #define COMP_POWERMODE_MEDIUMSPEED (COMP_CFGRx_PWRMODE_0) /*!< Medium Speed */
AnnaBridge 172:65be27845400 171 #define COMP_POWERMODE_ULTRALOWPOWER (COMP_CFGRx_PWRMODE) /*!< Ultra-low power mode */
AnnaBridge 172:65be27845400 172 /**
AnnaBridge 172:65be27845400 173 * @}
AnnaBridge 172:65be27845400 174 */
AnnaBridge 172:65be27845400 175
AnnaBridge 172:65be27845400 176 /** @defgroup COMP_InputPlus COMP input plus (non-inverting input)
AnnaBridge 172:65be27845400 177 * @{
AnnaBridge 172:65be27845400 178 */
AnnaBridge 172:65be27845400 179 #define COMP_INPUT_PLUS_IO1 ((uint32_t)0x00000000) /*!< Comparator input plus connected to IO1 (pin PB0 for COMP1, pin PE9 for COMP2) */
AnnaBridge 172:65be27845400 180 #define COMP_INPUT_PLUS_IO2 (COMP_CFGRx_INPSEL) /*!< Comparator input plus connected to IO2 (pin PB2 for COMP1, pin PE11 for COMP2) */
AnnaBridge 172:65be27845400 181 /**
AnnaBridge 172:65be27845400 182 * @}
AnnaBridge 172:65be27845400 183 */
AnnaBridge 172:65be27845400 184
AnnaBridge 172:65be27845400 185 /** @defgroup COMP_InputMinus COMP input minus (inverting input)
AnnaBridge 172:65be27845400 186 * @{
AnnaBridge 172:65be27845400 187 */
AnnaBridge 172:65be27845400 188 #define COMP_INPUT_MINUS_1_4VREFINT ( COMP_CFGRx_SCALEN | COMP_CFGRx_BRGEN) /*!< Comparator input minus connected to 1/4 VrefInt */
AnnaBridge 172:65be27845400 189 #define COMP_INPUT_MINUS_1_2VREFINT ( COMP_CFGRx_INMSEL_0 | COMP_CFGRx_SCALEN | COMP_CFGRx_BRGEN) /*!< Comparator input minus connected to 1/2 VrefInt */
AnnaBridge 172:65be27845400 190 #define COMP_INPUT_MINUS_3_4VREFINT ( COMP_CFGRx_INMSEL_1 | COMP_CFGRx_SCALEN | COMP_CFGRx_BRGEN) /*!< Comparator input minus connected to 3/4 VrefInt */
AnnaBridge 172:65be27845400 191 #define COMP_INPUT_MINUS_VREFINT ( COMP_CFGRx_INMSEL_1 | COMP_CFGRx_INMSEL_0 | COMP_CFGRx_SCALEN ) /*!< Comparator input minus connected to VrefInt */
AnnaBridge 172:65be27845400 192 #define COMP_INPUT_MINUS_DAC1_CH1 (COMP_CFGRx_INMSEL_2 ) /*!< Comparator input minus connected to DAC1 channel 1 (DAC_OUT1) */
AnnaBridge 172:65be27845400 193 #define COMP_INPUT_MINUS_DAC1_CH2 (COMP_CFGRx_INMSEL_2 | COMP_CFGRx_INMSEL_0) /*!< Comparator input minus connected to DAC1 channel 2 (DAC_OUT2) */
AnnaBridge 172:65be27845400 194 #define COMP_INPUT_MINUS_IO1 (COMP_CFGRx_INMSEL_2 | COMP_CFGRx_INMSEL_1 ) /*!< Comparator input minus connected to IO1 (pin PB1 for COMP1, pin PE10 for COMP2) */
AnnaBridge 172:65be27845400 195 #define COMP_INPUT_MINUS_IO2 (COMP_CFGRx_INMSEL_2 | COMP_CFGRx_INMSEL_1 | COMP_CFGRx_INMSEL_0) /*!< Comparator input minus connected to IO2 (pin PC4 for COMP1, pin PE7 for COMP2) */
AnnaBridge 172:65be27845400 196 /**
AnnaBridge 172:65be27845400 197 * @}
AnnaBridge 172:65be27845400 198 */
AnnaBridge 172:65be27845400 199
AnnaBridge 172:65be27845400 200 /** @defgroup COMP_Hysteresis COMP hysteresis
AnnaBridge 172:65be27845400 201 * @{
AnnaBridge 172:65be27845400 202 */
AnnaBridge 172:65be27845400 203 #define COMP_HYSTERESIS_NONE ((uint32_t)0x00000000) /*!< No hysteresis */
AnnaBridge 172:65be27845400 204 #define COMP_HYSTERESIS_LOW (COMP_CFGRx_HYST_0) /*!< Hysteresis level low */
AnnaBridge 172:65be27845400 205 #define COMP_HYSTERESIS_MEDIUM (COMP_CFGRx_HYST_1) /*!< Hysteresis level medium */
AnnaBridge 172:65be27845400 206 #define COMP_HYSTERESIS_HIGH (COMP_CFGRx_HYST) /*!< Hysteresis level high */
AnnaBridge 172:65be27845400 207 /**
AnnaBridge 172:65be27845400 208 * @}
AnnaBridge 172:65be27845400 209 */
AnnaBridge 172:65be27845400 210
AnnaBridge 172:65be27845400 211 /** @defgroup COMP_OutputPolarity COMP Output Polarity
AnnaBridge 172:65be27845400 212 * @{
AnnaBridge 172:65be27845400 213 */
AnnaBridge 172:65be27845400 214 #define COMP_OUTPUTPOL_NONINVERTED ((uint32_t)0x00000000) /*!< COMP output level is not inverted (comparator output is high when the input plus is at a higher voltage than the input minus) */
AnnaBridge 172:65be27845400 215 #define COMP_OUTPUTPOL_INVERTED (COMP_CFGRx_POLARITY) /*!< COMP output level is inverted (comparator output is low when the input plus is at a higher voltage than the input minus) */
AnnaBridge 172:65be27845400 216 /**
AnnaBridge 172:65be27845400 217 * @}
AnnaBridge 172:65be27845400 218 */
AnnaBridge 172:65be27845400 219
AnnaBridge 172:65be27845400 220
AnnaBridge 172:65be27845400 221 /** @defgroup COMP_BlankingSrce COMP Blanking Source
AnnaBridge 172:65be27845400 222 * @{
AnnaBridge 172:65be27845400 223 */
AnnaBridge 172:65be27845400 224 /* Any blanking source can be selected for all comparators */
AnnaBridge 172:65be27845400 225 #define COMP_BLANKINGSRC_NONE ((uint32_t)0x00000000) /*!< No blanking source */
AnnaBridge 172:65be27845400 226 #define COMP_BLANKINGSRC_TIM1_OC5 (COMP_CFGRx_BLANKING_0) /*!< TIM1 OC5 selected as blanking source for comparator */
AnnaBridge 172:65be27845400 227 #define COMP_BLANKINGSRC_TIM2_OC3 (COMP_CFGRx_BLANKING_1) /*!< TIM2 OC3 selected as blanking source for comparator */
AnnaBridge 172:65be27845400 228 #define COMP_BLANKINGSRC_TIM3_OC3 (COMP_CFGRx_BLANKING_0 |COMP_CFGRx_BLANKING_1) /*!< TIM3 OC3 selected as blanking source for compartor */
AnnaBridge 172:65be27845400 229 #define COMP_BLANKINGSRC_TIM3_OC4 (COMP_CFGRx_BLANKING_2) /*!< TIM3 OC4 selected as blanking source for comparator */
AnnaBridge 172:65be27845400 230 #define COMP_BLANKINGSRC_TIM8_OC5 (COMP_CFGRx_BLANKING_2|COMP_CFGRx_BLANKING_0) /*!< TIM8 OC5 selected as blanking source for comparator */
AnnaBridge 172:65be27845400 231 #define COMP_BLANKINGSRC_TIM15_OC1 (COMP_CFGRx_BLANKING_2|COMP_CFGRx_BLANKING_1) /*!< TIM15 OC1 selected as blanking source for comparator */
AnnaBridge 172:65be27845400 232 /**
AnnaBridge 172:65be27845400 233 * @}
AnnaBridge 172:65be27845400 234 */
AnnaBridge 172:65be27845400 235
AnnaBridge 172:65be27845400 236
AnnaBridge 172:65be27845400 237
AnnaBridge 172:65be27845400 238
AnnaBridge 172:65be27845400 239 /** @defgroup COMP_OutputLevel COMP Output Level
AnnaBridge 172:65be27845400 240 * @{
AnnaBridge 172:65be27845400 241 */
AnnaBridge 172:65be27845400 242
AnnaBridge 172:65be27845400 243 /* Note: Comparator output level values are fixed to "0" and "1", */
AnnaBridge 172:65be27845400 244 /* corresponding COMP register bit is managed by HAL function to match */
AnnaBridge 172:65be27845400 245 /* with these values (independently of bit position in register). */
AnnaBridge 172:65be27845400 246
AnnaBridge 172:65be27845400 247 /* When output polarity is not inverted, comparator output is low when
AnnaBridge 172:65be27845400 248 the input plus is at a lower voltage than the input minus */
AnnaBridge 172:65be27845400 249 #define COMP_OUTPUT_LEVEL_LOW ((uint32_t)0x00000000)
AnnaBridge 172:65be27845400 250 /* When output polarity is not inverted, comparator output is high when
AnnaBridge 172:65be27845400 251 the input plus is at a higher voltage than the input minus */
AnnaBridge 172:65be27845400 252 #define COMP_OUTPUT_LEVEL_HIGH ((uint32_t)0x00000001)
AnnaBridge 172:65be27845400 253
AnnaBridge 172:65be27845400 254 /**
AnnaBridge 172:65be27845400 255 * @}
AnnaBridge 172:65be27845400 256 */
AnnaBridge 172:65be27845400 257
AnnaBridge 172:65be27845400 258 /** @defgroup COMP_EXTI_TriggerMode COMP output to EXTI
AnnaBridge 172:65be27845400 259 * @{
AnnaBridge 172:65be27845400 260 */
AnnaBridge 172:65be27845400 261 #define COMP_TRIGGERMODE_NONE ((uint32_t)0x00000000) /*!< Comparator output triggering no External Interrupt Line */
AnnaBridge 172:65be27845400 262 #define COMP_TRIGGERMODE_IT_RISING (COMP_EXTI_IT | COMP_EXTI_RISING) /*!< Comparator output triggering External Interrupt Line event with interruption, on rising edge */
AnnaBridge 172:65be27845400 263 #define COMP_TRIGGERMODE_IT_FALLING (COMP_EXTI_IT | COMP_EXTI_FALLING) /*!< Comparator output triggering External Interrupt Line event with interruption, on falling edge */
AnnaBridge 172:65be27845400 264 #define COMP_TRIGGERMODE_IT_RISING_FALLING (COMP_EXTI_IT | COMP_EXTI_RISING | COMP_EXTI_FALLING) /*!< Comparator output triggering External Interrupt Line event with interruption, on both rising and falling edges */
AnnaBridge 172:65be27845400 265 #define COMP_TRIGGERMODE_EVENT_RISING (COMP_EXTI_EVENT | COMP_EXTI_RISING) /*!< Comparator output triggering External Interrupt Line event only (without interruption), on rising edge */
AnnaBridge 172:65be27845400 266 #define COMP_TRIGGERMODE_EVENT_FALLING (COMP_EXTI_EVENT | COMP_EXTI_FALLING) /*!< Comparator output triggering External Interrupt Line event only (without interruption), on falling edge */
AnnaBridge 172:65be27845400 267 #define COMP_TRIGGERMODE_EVENT_RISING_FALLING (COMP_EXTI_EVENT | COMP_EXTI_RISING | COMP_EXTI_FALLING) /*!< Comparator output triggering External Interrupt Line event only (without interruption), on both rising and falling edges */
AnnaBridge 172:65be27845400 268
AnnaBridge 172:65be27845400 269 /**
AnnaBridge 172:65be27845400 270 * @}
AnnaBridge 172:65be27845400 271 */
AnnaBridge 172:65be27845400 272
AnnaBridge 172:65be27845400 273 /** @defgroup COMP_Flag COMP Flag
AnnaBridge 172:65be27845400 274 * @{
AnnaBridge 172:65be27845400 275 */
AnnaBridge 172:65be27845400 276 #define COMP_FLAG_C1I COMP_SR_C1IF /*!< Comparator 1 Interrupt Flag */
AnnaBridge 172:65be27845400 277 #define COMP_FLAG_C2I COMP_SR_C2IF /*!< Comparator 2 Interrupt Flag */
AnnaBridge 172:65be27845400 278 #define COMP_FLAG_LOCK COMP_CFGRx_LOCK /*!< Lock flag */
AnnaBridge 172:65be27845400 279 /**
AnnaBridge 172:65be27845400 280 * @}
AnnaBridge 172:65be27845400 281 */
AnnaBridge 172:65be27845400 282 /** @defgroup COMP_IT_CLEAR_Flags COMP Interruption Clear Flags
AnnaBridge 172:65be27845400 283 * @{
AnnaBridge 172:65be27845400 284 */
AnnaBridge 172:65be27845400 285 #define COMP_CLEAR_C1IF COMP_ICFR_C1IF /*!< Clear Comparator 1 Interrupt Flag */
AnnaBridge 172:65be27845400 286 #define COMP_CLEAR_C2IF COMP_ICFR_C2IF /*!< Clear Comparator 2 Interrupt Flag */
AnnaBridge 172:65be27845400 287 /**
AnnaBridge 172:65be27845400 288 * @}
AnnaBridge 172:65be27845400 289 */
AnnaBridge 172:65be27845400 290 /** @defgroup COMP_Interrupts_Definitions COMP Interrupts Definitions
AnnaBridge 172:65be27845400 291 * @{
AnnaBridge 172:65be27845400 292 */
AnnaBridge 172:65be27845400 293 #define COMP_IT_EN COMP_CFGRx_ITEN
AnnaBridge 172:65be27845400 294
AnnaBridge 172:65be27845400 295 /**
AnnaBridge 172:65be27845400 296 * @}
AnnaBridge 172:65be27845400 297 */
AnnaBridge 172:65be27845400 298
AnnaBridge 172:65be27845400 299
AnnaBridge 172:65be27845400 300 /**
AnnaBridge 172:65be27845400 301 * @}
AnnaBridge 172:65be27845400 302 */
AnnaBridge 172:65be27845400 303
AnnaBridge 172:65be27845400 304 /* Exported macros -----------------------------------------------------------*/
AnnaBridge 172:65be27845400 305 /** @defgroup COMP_Exported_Macros COMP Exported Macros
AnnaBridge 172:65be27845400 306 * @{
AnnaBridge 172:65be27845400 307 */
AnnaBridge 172:65be27845400 308 /** @defgroup COMP_Handle_Management COMP Handle Management
AnnaBridge 172:65be27845400 309 * @{
AnnaBridge 172:65be27845400 310 */
AnnaBridge 172:65be27845400 311
AnnaBridge 172:65be27845400 312 /** @brief Reset COMP handle state.
AnnaBridge 172:65be27845400 313 * @param __HANDLE__ COMP handle
AnnaBridge 172:65be27845400 314 * @retval None
AnnaBridge 172:65be27845400 315 */
AnnaBridge 172:65be27845400 316 #if (USE_HAL_COMP_REGISTER_CALLBACKS == 1)
AnnaBridge 172:65be27845400 317 #define __HAL_COMP_RESET_HANDLE_STATE(__HANDLE__) do{ \
AnnaBridge 172:65be27845400 318 (__HANDLE__)->State = HAL_COMP_STATE_RESET; \
AnnaBridge 172:65be27845400 319 (__HANDLE__)->MspInitCallback = NULL; \
AnnaBridge 172:65be27845400 320 (__HANDLE__)->MspDeInitCallback = NULL; \
AnnaBridge 172:65be27845400 321 } while(0)
AnnaBridge 172:65be27845400 322 #else
AnnaBridge 172:65be27845400 323 #define __HAL_COMP_RESET_HANDLE_STATE(__HANDLE__) ((__HANDLE__)->State = HAL_COMP_STATE_RESET)
AnnaBridge 172:65be27845400 324 #endif
AnnaBridge 172:65be27845400 325
AnnaBridge 172:65be27845400 326 /**
AnnaBridge 172:65be27845400 327 * @brief Clear COMP error code (set it to no error code "HAL_COMP_ERROR_NONE").
AnnaBridge 172:65be27845400 328 * @param __HANDLE__ COMP handle
AnnaBridge 172:65be27845400 329 * @retval None
AnnaBridge 172:65be27845400 330 */
AnnaBridge 172:65be27845400 331 #define COMP_CLEAR_ERRORCODE(__HANDLE__) ((__HANDLE__)->ErrorCode = HAL_COMP_ERROR_NONE)
AnnaBridge 172:65be27845400 332
AnnaBridge 172:65be27845400 333 /**
AnnaBridge 172:65be27845400 334 * @brief Enable the specified comparator.
AnnaBridge 172:65be27845400 335 * @param __HANDLE__ COMP handle
AnnaBridge 172:65be27845400 336 * @retval None
AnnaBridge 172:65be27845400 337 */
AnnaBridge 172:65be27845400 338 #define __HAL_COMP_ENABLE(__HANDLE__) SET_BIT((__HANDLE__)->Instance->CFGR, COMP_CFGRx_EN)
AnnaBridge 172:65be27845400 339
AnnaBridge 172:65be27845400 340 /**
AnnaBridge 172:65be27845400 341 * @brief Disable the specified comparator.
AnnaBridge 172:65be27845400 342 * @param __HANDLE__ COMP handle
AnnaBridge 172:65be27845400 343 * @retval None
AnnaBridge 172:65be27845400 344 */
AnnaBridge 172:65be27845400 345 #define __HAL_COMP_DISABLE(__HANDLE__) CLEAR_BIT((__HANDLE__)->Instance->CFGR, COMP_CFGRx_EN)
AnnaBridge 172:65be27845400 346
AnnaBridge 172:65be27845400 347 /**
AnnaBridge 172:65be27845400 348 * @brief Lock the specified comparator configuration.
AnnaBridge 172:65be27845400 349 * @note Using this macro induce HAL COMP handle state machine being no
AnnaBridge 172:65be27845400 350 * more in line with COMP instance state.
AnnaBridge 172:65be27845400 351 * To keep HAL COMP handle state machine updated, it is recommended
AnnaBridge 172:65be27845400 352 * to use function "HAL_COMP_Lock')".
AnnaBridge 172:65be27845400 353 * @param __HANDLE__ COMP handle
AnnaBridge 172:65be27845400 354 * @retval None
AnnaBridge 172:65be27845400 355 */
AnnaBridge 172:65be27845400 356 #define __HAL_COMP_LOCK(__HANDLE__) SET_BIT((__HANDLE__)->Instance->CFGR, COMP_CFGRx_LOCK)
AnnaBridge 172:65be27845400 357
AnnaBridge 172:65be27845400 358 /**
AnnaBridge 172:65be27845400 359 * @brief Check whether the specified comparator is locked.
AnnaBridge 172:65be27845400 360 * @param __HANDLE__ COMP handle
AnnaBridge 172:65be27845400 361 * @retval Value 0 if COMP instance is not locked, value 1 if COMP instance is locked
AnnaBridge 172:65be27845400 362 */
AnnaBridge 172:65be27845400 363 #define __HAL_COMP_IS_LOCKED(__HANDLE__) (READ_BIT((__HANDLE__)->Instance->CFGR, COMP_CFGRx_LOCK) == COMP_CFGRx_LOCK)
AnnaBridge 172:65be27845400 364
AnnaBridge 172:65be27845400 365 /**
AnnaBridge 172:65be27845400 366 * @}
AnnaBridge 172:65be27845400 367 */
AnnaBridge 172:65be27845400 368
AnnaBridge 172:65be27845400 369 /** @defgroup COMP_Exti_Management COMP external interrupt line management
AnnaBridge 172:65be27845400 370 * @{
AnnaBridge 172:65be27845400 371 */
AnnaBridge 172:65be27845400 372
AnnaBridge 172:65be27845400 373 /**
AnnaBridge 172:65be27845400 374 * @brief Enable the COMP1 EXTI line rising edge trigger.
AnnaBridge 172:65be27845400 375 * @retval None
AnnaBridge 172:65be27845400 376 */
AnnaBridge 172:65be27845400 377 #define __HAL_COMP_COMP1_EXTI_ENABLE_RISING_EDGE() SET_BIT(EXTI->RTSR1, COMP_EXTI_LINE_COMP1)
AnnaBridge 172:65be27845400 378
AnnaBridge 172:65be27845400 379
AnnaBridge 172:65be27845400 380 /**
AnnaBridge 172:65be27845400 381 * @brief Disable the COMP1 EXTI line rising edge trigger.
AnnaBridge 172:65be27845400 382 * @retval None
AnnaBridge 172:65be27845400 383 */
AnnaBridge 172:65be27845400 384 #define __HAL_COMP_COMP1_EXTI_DISABLE_RISING_EDGE() CLEAR_BIT(EXTI->RTSR1, COMP_EXTI_LINE_COMP1)
AnnaBridge 172:65be27845400 385
AnnaBridge 172:65be27845400 386 /**
AnnaBridge 172:65be27845400 387 * @brief Enable the COMP1 EXTI line falling edge trigger.
AnnaBridge 172:65be27845400 388 * @retval None
AnnaBridge 172:65be27845400 389 */
AnnaBridge 172:65be27845400 390 #define __HAL_COMP_COMP1_EXTI_ENABLE_FALLING_EDGE() SET_BIT(EXTI->FTSR1, COMP_EXTI_LINE_COMP1)
AnnaBridge 172:65be27845400 391
AnnaBridge 172:65be27845400 392 /**
AnnaBridge 172:65be27845400 393 * @brief Disable the COMP1 EXTI line falling edge trigger.
AnnaBridge 172:65be27845400 394 * @retval None
AnnaBridge 172:65be27845400 395 */
AnnaBridge 172:65be27845400 396 #define __HAL_COMP_COMP1_EXTI_DISABLE_FALLING_EDGE() CLEAR_BIT(EXTI->FTSR1, COMP_EXTI_LINE_COMP1)
AnnaBridge 172:65be27845400 397
AnnaBridge 172:65be27845400 398
AnnaBridge 172:65be27845400 399 /**
AnnaBridge 172:65be27845400 400 * @brief Enable the COMP1 EXTI line rising & falling edge trigger.
AnnaBridge 172:65be27845400 401 * @retval None
AnnaBridge 172:65be27845400 402 */
AnnaBridge 172:65be27845400 403 #define __HAL_COMP_COMP1_EXTI_ENABLE_RISING_FALLING_EDGE() do { \
AnnaBridge 172:65be27845400 404 __HAL_COMP_COMP1_EXTI_ENABLE_RISING_EDGE(); \
AnnaBridge 172:65be27845400 405 __HAL_COMP_COMP1_EXTI_ENABLE_FALLING_EDGE(); \
AnnaBridge 172:65be27845400 406 } while(0)
AnnaBridge 172:65be27845400 407
AnnaBridge 172:65be27845400 408
AnnaBridge 172:65be27845400 409 /**
AnnaBridge 172:65be27845400 410 * @brief Disable the COMP1 EXTI line rising & falling edge trigger.
AnnaBridge 172:65be27845400 411 * @retval None
AnnaBridge 172:65be27845400 412 */
AnnaBridge 172:65be27845400 413 #define __HAL_COMP_COMP1_EXTI_DISABLE_RISING_FALLING_EDGE() do { \
AnnaBridge 172:65be27845400 414 __HAL_COMP_COMP1_EXTI_DISABLE_RISING_EDGE(); \
AnnaBridge 172:65be27845400 415 __HAL_COMP_COMP1_EXTI_DISABLE_FALLING_EDGE(); \
AnnaBridge 172:65be27845400 416 } while(0)
AnnaBridge 172:65be27845400 417
AnnaBridge 172:65be27845400 418
AnnaBridge 172:65be27845400 419 /**
AnnaBridge 172:65be27845400 420 * @brief Enable the COMP1 EXTI line in interrupt mode.
AnnaBridge 172:65be27845400 421 * @retval None
AnnaBridge 172:65be27845400 422 */
AnnaBridge 172:65be27845400 423 #define __HAL_COMP_COMP1_EXTI_ENABLE_IT() SET_BIT(EXTI_D1->IMR1, COMP_EXTI_LINE_COMP1)
AnnaBridge 172:65be27845400 424
AnnaBridge 172:65be27845400 425 /**
AnnaBridge 172:65be27845400 426 * @brief Disable the COMP1 EXTI line in interrupt mode.
AnnaBridge 172:65be27845400 427 * @retval None
AnnaBridge 172:65be27845400 428 */
AnnaBridge 172:65be27845400 429 #define __HAL_COMP_COMP1_EXTI_DISABLE_IT() CLEAR_BIT(EXTI_D1->IMR1, COMP_EXTI_LINE_COMP1)
AnnaBridge 172:65be27845400 430
AnnaBridge 172:65be27845400 431 /**
AnnaBridge 172:65be27845400 432 * @brief Enable the COMP1 EXTI Line in event mode.
AnnaBridge 172:65be27845400 433 * @retval None
AnnaBridge 172:65be27845400 434 */
AnnaBridge 172:65be27845400 435 #define __HAL_COMP_COMP1_EXTI_ENABLE_EVENT() SET_BIT(EXTI_D1->EMR1, COMP_EXTI_LINE_COMP1)
AnnaBridge 172:65be27845400 436
AnnaBridge 172:65be27845400 437 /**
AnnaBridge 172:65be27845400 438 * @brief Disable the COMP1 EXTI Line in event mode.
AnnaBridge 172:65be27845400 439 * @retval None
AnnaBridge 172:65be27845400 440 */
AnnaBridge 172:65be27845400 441 #define __HAL_COMP_COMP1_EXTI_DISABLE_EVENT() CLEAR_BIT(EXTI_D1->EMR1, COMP_EXTI_LINE_COMP1)
AnnaBridge 172:65be27845400 442
AnnaBridge 172:65be27845400 443 /**
AnnaBridge 172:65be27845400 444 * @brief Check whether the COMP1 EXTI line flag is set or not.
AnnaBridge 172:65be27845400 445 * @retval RESET or SET
AnnaBridge 172:65be27845400 446 */
AnnaBridge 172:65be27845400 447 #define __HAL_COMP_COMP1_EXTI_GET_FLAG() READ_BIT(EXTI_D1->PR1, COMP_EXTI_LINE_COMP1)
AnnaBridge 172:65be27845400 448 /**
AnnaBridge 172:65be27845400 449 * @brief Clear the COMP1 EXTI flag.
AnnaBridge 172:65be27845400 450 * @retval None
AnnaBridge 172:65be27845400 451 */
AnnaBridge 172:65be27845400 452 #define __HAL_COMP_COMP1_EXTI_CLEAR_FLAG() WRITE_REG(EXTI_D1->PR1, COMP_EXTI_LINE_COMP1)
AnnaBridge 172:65be27845400 453
AnnaBridge 172:65be27845400 454 /**
AnnaBridge 172:65be27845400 455 * @brief Generate a software interrupt on the COMP1 EXTI line.
AnnaBridge 172:65be27845400 456 * @retval None
AnnaBridge 172:65be27845400 457 */
AnnaBridge 172:65be27845400 458 #define __HAL_COMP_COMP1_EXTI_GENERATE_SWIT() SET_BIT(EXTI->SWIER1, COMP_EXTI_LINE_COMP1)
AnnaBridge 172:65be27845400 459
AnnaBridge 172:65be27845400 460 /**
AnnaBridge 172:65be27845400 461 * @brief Enable the COMP1 D3 EXTI Line in event mode.
AnnaBridge 172:65be27845400 462 * @retval None
AnnaBridge 172:65be27845400 463 */
AnnaBridge 172:65be27845400 464 #define __HAL_COMP_COMP1_EXTID3_ENABLE_EVENT() SET_BIT(EXTI->D3PMR1, COMP_EXTI_LINE_COMP1)
AnnaBridge 172:65be27845400 465
AnnaBridge 172:65be27845400 466 /**
AnnaBridge 172:65be27845400 467 * @brief Disable the COMP1 D3 EXTI Line in event mode.
AnnaBridge 172:65be27845400 468 * @retval None
AnnaBridge 172:65be27845400 469 */
AnnaBridge 172:65be27845400 470 #define __HAL_COMP_COMP1_EXTID3_DISABLE_EVENT() CLEAR_BIT(EXTI->D3PMR1, COMP_EXTI_LINE_COMP1)
AnnaBridge 172:65be27845400 471
AnnaBridge 172:65be27845400 472 /**
AnnaBridge 172:65be27845400 473 * @brief Enable the COMP2 EXTI line rising edge trigger.
AnnaBridge 172:65be27845400 474 * @retval None
AnnaBridge 172:65be27845400 475 */
AnnaBridge 172:65be27845400 476 #define __HAL_COMP_COMP2_EXTI_ENABLE_RISING_EDGE() SET_BIT(EXTI->RTSR1, COMP_EXTI_LINE_COMP2)
AnnaBridge 172:65be27845400 477
AnnaBridge 172:65be27845400 478 /**
AnnaBridge 172:65be27845400 479 * @brief Disable the COMP2 EXTI line rising edge trigger.
AnnaBridge 172:65be27845400 480 * @retval None
AnnaBridge 172:65be27845400 481 */
AnnaBridge 172:65be27845400 482 #define __HAL_COMP_COMP2_EXTI_DISABLE_RISING_EDGE() CLEAR_BIT(EXTI->RTSR1, COMP_EXTI_LINE_COMP2)
AnnaBridge 172:65be27845400 483
AnnaBridge 172:65be27845400 484 /**
AnnaBridge 172:65be27845400 485 * @brief Enable the COMP2 EXTI line falling edge trigger.
AnnaBridge 172:65be27845400 486 * @retval None
AnnaBridge 172:65be27845400 487 */
AnnaBridge 172:65be27845400 488 #define __HAL_COMP_COMP2_EXTI_ENABLE_FALLING_EDGE() SET_BIT(EXTI->FTSR1, COMP_EXTI_LINE_COMP2)
AnnaBridge 172:65be27845400 489
AnnaBridge 172:65be27845400 490 /**
AnnaBridge 172:65be27845400 491 * @brief Disable the COMP2 EXTI line falling edge trigger.
AnnaBridge 172:65be27845400 492 * @retval None
AnnaBridge 172:65be27845400 493 */
AnnaBridge 172:65be27845400 494 #define __HAL_COMP_COMP2_EXTI_DISABLE_FALLING_EDGE() CLEAR_BIT(EXTI->FTSR1, COMP_EXTI_LINE_COMP2)
AnnaBridge 172:65be27845400 495
AnnaBridge 172:65be27845400 496 /**
AnnaBridge 172:65be27845400 497 * @brief Enable the COMP2 EXTI line rising & falling edge trigger.
AnnaBridge 172:65be27845400 498 * @retval None
AnnaBridge 172:65be27845400 499 */
AnnaBridge 172:65be27845400 500 #define __HAL_COMP_COMP2_EXTI_ENABLE_RISING_FALLING_EDGE() do { \
AnnaBridge 172:65be27845400 501 __HAL_COMP_COMP2_EXTI_ENABLE_RISING_EDGE(); \
AnnaBridge 172:65be27845400 502 __HAL_COMP_COMP2_EXTI_ENABLE_FALLING_EDGE(); \
AnnaBridge 172:65be27845400 503 } while(0)
AnnaBridge 172:65be27845400 504
AnnaBridge 172:65be27845400 505 /**
AnnaBridge 172:65be27845400 506 * @brief Disable the COMP2 EXTI line rising & falling edge trigger.
AnnaBridge 172:65be27845400 507 * @retval None
AnnaBridge 172:65be27845400 508 */
AnnaBridge 172:65be27845400 509 #define __HAL_COMP_COMP2_EXTI_DISABLE_RISING_FALLING_EDGE() do { \
AnnaBridge 172:65be27845400 510 __HAL_COMP_COMP2_EXTI_DISABLE_RISING_EDGE(); \
AnnaBridge 172:65be27845400 511 __HAL_COMP_COMP2_EXTI_DISABLE_FALLING_EDGE(); \
AnnaBridge 172:65be27845400 512 } while(0)
AnnaBridge 172:65be27845400 513 /**
AnnaBridge 172:65be27845400 514 * @brief Enable the COMP2 EXTI line.
AnnaBridge 172:65be27845400 515 * @retval None
AnnaBridge 172:65be27845400 516 */
AnnaBridge 172:65be27845400 517 #define __HAL_COMP_COMP2_EXTI_ENABLE_IT() SET_BIT(EXTI_D1->IMR1, COMP_EXTI_LINE_COMP2)
AnnaBridge 172:65be27845400 518
AnnaBridge 172:65be27845400 519 /**
AnnaBridge 172:65be27845400 520 * @brief Disable the COMP2 EXTI line.
AnnaBridge 172:65be27845400 521 * @retval None
AnnaBridge 172:65be27845400 522 */
AnnaBridge 172:65be27845400 523 #define __HAL_COMP_COMP2_EXTI_DISABLE_IT() CLEAR_BIT(EXTI_D1->IMR1, COMP_EXTI_LINE_COMP2)
AnnaBridge 172:65be27845400 524
AnnaBridge 172:65be27845400 525 /**
AnnaBridge 172:65be27845400 526 * @brief Enable the COMP2 EXTI Line in event mode.
AnnaBridge 172:65be27845400 527 * @retval None
AnnaBridge 172:65be27845400 528 */
AnnaBridge 172:65be27845400 529 #define __HAL_COMP_COMP2_EXTI_ENABLE_EVENT() SET_BIT(EXTI_D1->EMR1, COMP_EXTI_LINE_COMP2)
AnnaBridge 172:65be27845400 530
AnnaBridge 172:65be27845400 531 /**
AnnaBridge 172:65be27845400 532 * @brief Disable the COMP2 EXTI Line in event mode.
AnnaBridge 172:65be27845400 533 * @retval None
AnnaBridge 172:65be27845400 534 */
AnnaBridge 172:65be27845400 535 #define __HAL_COMP_COMP2_EXTI_DISABLE_EVENT() CLEAR_BIT(EXTI_D1->EMR1, COMP_EXTI_LINE_COMP2)
AnnaBridge 172:65be27845400 536
AnnaBridge 172:65be27845400 537 /**
AnnaBridge 172:65be27845400 538 * @brief Check whether the COMP2 EXTI line flag is set or not.
AnnaBridge 172:65be27845400 539 * @retval RESET or SET
AnnaBridge 172:65be27845400 540 */
AnnaBridge 172:65be27845400 541 #define __HAL_COMP_COMP2_EXTI_GET_FLAG() READ_BIT(EXTI_D1->PR1, COMP_EXTI_LINE_COMP2)
AnnaBridge 172:65be27845400 542
AnnaBridge 172:65be27845400 543 /**
AnnaBridge 172:65be27845400 544 * @brief Clear the the COMP2 EXTI flag.
AnnaBridge 172:65be27845400 545 * @retval None
AnnaBridge 172:65be27845400 546 */
AnnaBridge 172:65be27845400 547 #define __HAL_COMP_COMP2_EXTI_CLEAR_FLAG() WRITE_REG(EXTI_D1->PR1, COMP_EXTI_LINE_COMP2)
AnnaBridge 172:65be27845400 548
AnnaBridge 172:65be27845400 549 /**
AnnaBridge 172:65be27845400 550 * @brief Enable the COMP2 D3 EXTI Line in event mode.
AnnaBridge 172:65be27845400 551 * @retval None
AnnaBridge 172:65be27845400 552 */
AnnaBridge 172:65be27845400 553 #define __HAL_COMP_COMP2_EXTID3_ENABLE_EVENT() SET_BIT(EXTI->D3PMR1, COMP_EXTI_LINE_COMP2)
AnnaBridge 172:65be27845400 554
AnnaBridge 172:65be27845400 555 /**
AnnaBridge 172:65be27845400 556 * @brief Disable the COMP2 D3 EXTI Line in event mode.
AnnaBridge 172:65be27845400 557 * @retval None
AnnaBridge 172:65be27845400 558 */
AnnaBridge 172:65be27845400 559 #define __HAL_COMP_COMP2_EXTID3_DISABLE_EVENT() CLEAR_BIT(EXTI->D3PMR1, COMP_EXTI_LINE_COMP2)
AnnaBridge 172:65be27845400 560
AnnaBridge 172:65be27845400 561 /**
AnnaBridge 172:65be27845400 562 * @brief Generate a software interrupt on the COMP2 EXTI line.
AnnaBridge 172:65be27845400 563 * @retval None
AnnaBridge 172:65be27845400 564 */
AnnaBridge 172:65be27845400 565 #define __HAL_COMP_COMP2_EXTI_GENERATE_SWIT() SET_BIT(EXTI->SWIER1, COMP_EXTI_LINE_COMP2)
AnnaBridge 172:65be27845400 566
AnnaBridge 172:65be27845400 567 /** @brief Checks if the specified COMP interrupt source is enabled or disabled.
AnnaBridge 172:65be27845400 568 * @param __HANDLE__: specifies the COMP Handle.
AnnaBridge 172:65be27845400 569 * This parameter can be COMP1 where x: 1 or 2 to select the COMP peripheral.
AnnaBridge 172:65be27845400 570 * @param __INTERRUPT__: specifies the COMP interrupt source to check.
AnnaBridge 172:65be27845400 571 * This parameter can be one of the following values:
AnnaBridge 172:65be27845400 572 * @arg COMP_IT_EN: Comparator interrupt enable
AnnaBridge 172:65be27845400 573 *
AnnaBridge 172:65be27845400 574 * @retval The new state of __IT__ (TRUE or FALSE)
AnnaBridge 172:65be27845400 575 */
AnnaBridge 172:65be27845400 576 #define __HAL_COMP_GET_IT_SOURCE(__HANDLE__, __INTERRUPT__) ((((__HANDLE__)->Instance->CFGR & (__INTERRUPT__)) == (__INTERRUPT__)) ? SET : RESET)
AnnaBridge 172:65be27845400 577
AnnaBridge 172:65be27845400 578 /** @brief Checks whether the specified COMP flag is set or not.
AnnaBridge 172:65be27845400 579 * @param __FLAG__: specifies the flag to check.
AnnaBridge 172:65be27845400 580 * This parameter can be one of the following values:
AnnaBridge 172:65be27845400 581 * @arg COMP_FLAG_C1I: Comparator 1 Interrupt Flag
AnnaBridge 172:65be27845400 582 * @arg COMP_FLAG_C2I: Comparator 2 Interrupt Flag
AnnaBridge 172:65be27845400 583 * @retval The new state of __FLAG__ (TRUE or FALSE)
AnnaBridge 172:65be27845400 584 */
AnnaBridge 172:65be27845400 585 #define __HAL_COMP_GET_FLAG(__FLAG__) ((COMP12->SR & (__FLAG__)) == (__FLAG__))
AnnaBridge 172:65be27845400 586
AnnaBridge 172:65be27845400 587 /** @brief Clears the specified COMP pending flag.
AnnaBridge 172:65be27845400 588 * @param __FLAG__: specifies the flag to check.
AnnaBridge 172:65be27845400 589 * This parameter can be any combination of the following values:
AnnaBridge 172:65be27845400 590 * @arg COMP_CLEAR_C1IF : Clear Comparator 1 Interrupt Flag
AnnaBridge 172:65be27845400 591 * @arg COMP_CLEAR_C2IF : Clear Comparator 2 Interrupt Flag
AnnaBridge 172:65be27845400 592 * @retval None
AnnaBridge 172:65be27845400 593 */
AnnaBridge 172:65be27845400 594 #define __HAL_COMP_CLEAR_FLAG(__FLAG__) (COMP12->ICFR = (__FLAG__))
AnnaBridge 172:65be27845400 595
AnnaBridge 172:65be27845400 596 /** @brief Clear the COMP C1I flag.
AnnaBridge 172:65be27845400 597 * @retval None
AnnaBridge 172:65be27845400 598 */
AnnaBridge 172:65be27845400 599 #define __HAL_COMP_CLEAR_C1IFLAG() __HAL_COMP_CLEAR_FLAG( COMP_CLEAR_C1IF)
AnnaBridge 172:65be27845400 600
AnnaBridge 172:65be27845400 601 /** @brief Clear the COMP C2I flag.
AnnaBridge 172:65be27845400 602 * @retval None
AnnaBridge 172:65be27845400 603 */
AnnaBridge 172:65be27845400 604 #define __HAL_COMP_CLEAR_C2IFLAG() __HAL_COMP_CLEAR_FLAG( COMP_CLEAR_C2IF)
AnnaBridge 172:65be27845400 605
AnnaBridge 172:65be27845400 606 /** @brief Enable the specified COMP interrupt.
AnnaBridge 172:65be27845400 607 * @param __HANDLE__: specifies the COMP Handle.
AnnaBridge 172:65be27845400 608 * @param __INTERRUPT__: specifies the COMP interrupt source to enable.
AnnaBridge 172:65be27845400 609 * This parameter can be one of the following values:
AnnaBridge 172:65be27845400 610 * @arg COMP_CFGRx_ITEN : Comparator interrupt
AnnaBridge 172:65be27845400 611 * @retval None
AnnaBridge 172:65be27845400 612 */
AnnaBridge 172:65be27845400 613 #define __HAL_COMP_ENABLE_IT(__HANDLE__, __INTERRUPT__) ( ((__HANDLE__)->Instance->CFGR) |= (__INTERRUPT__) )
AnnaBridge 172:65be27845400 614
AnnaBridge 172:65be27845400 615 /** @brief Disable the specified COMP interrupt.
AnnaBridge 172:65be27845400 616 * @param __HANDLE__: specifies the COMP Handle.
AnnaBridge 172:65be27845400 617 * @param __INTERRUPT__: specifies the COMP interrupt source to enable.
AnnaBridge 172:65be27845400 618 * This parameter can be one of the following values:
AnnaBridge 172:65be27845400 619 * @arg COMP_CFGRx_ITEN : Comparator interrupt
AnnaBridge 172:65be27845400 620 * @retval None
AnnaBridge 172:65be27845400 621 */
AnnaBridge 172:65be27845400 622 #define __HAL_COMP_DISABLE_IT(__HANDLE__,__INTERRUPT__) (((__HANDLE__)->Instance->CFGR) &= ~(__INTERRUPT__))
AnnaBridge 172:65be27845400 623
AnnaBridge 172:65be27845400 624 /**
AnnaBridge 172:65be27845400 625 * @}
AnnaBridge 172:65be27845400 626 */
AnnaBridge 172:65be27845400 627 /** @brief Enable the specified bit in the Option register.
AnnaBridge 172:65be27845400 628 * @param __AF__: specifies the Alternate Function source selection .
AnnaBridge 172:65be27845400 629 * This parameter can be one of the following values:
AnnaBridge 172:65be27845400 630 * @arg COMP_OR_AFOPA6 : Alternate Function PA6 source selection
AnnaBridge 172:65be27845400 631 * @arg COMP_OR_AFOPA8 : Alternate Function PA8 source selection
AnnaBridge 172:65be27845400 632 * @arg COMP_OR_AFOPB12 : Alternate Function PB12 source selection
AnnaBridge 172:65be27845400 633 * @arg COMP_OR_AFOPE6 : Alternate Function PE6 source selection
AnnaBridge 172:65be27845400 634 * @arg COMP_OR_AFOPE15 : Alternate Function PE15 source selection
AnnaBridge 172:65be27845400 635 * @arg COMP_OR_AFOPG2 : Alternate Function PG2 source selection
AnnaBridge 172:65be27845400 636 * @arg COMP_OR_AFOPG3 : Alternate Function PG3 source selection
AnnaBridge 172:65be27845400 637 * @arg COMP_OR_AFOPG4 : Alternate Function PG4 source selection
AnnaBridge 172:65be27845400 638 * @arg COMP_OR_AFOPI1 : Alternate Function PI1 source selection
AnnaBridge 172:65be27845400 639 * @arg COMP_OR_AFOPI4 : Alternate Function PI4 source selection
AnnaBridge 172:65be27845400 640 * @arg COMP_OR_AFOPK2 : Alternate Function PK2 source selection
AnnaBridge 172:65be27845400 641 * @retval None
AnnaBridge 172:65be27845400 642 */
AnnaBridge 172:65be27845400 643 #define __HAL_COMP_ENABLE_OR(__AF__) SET_BIT(COMP12->OR, (__AF__))
AnnaBridge 172:65be27845400 644
AnnaBridge 172:65be27845400 645 /** @brief Disable the specified bit in the Option register.
AnnaBridge 172:65be27845400 646 * @param __AF__: specifies the Alternate Function source selection .
AnnaBridge 172:65be27845400 647 * This parameter can be one of the following values:
AnnaBridge 172:65be27845400 648 * @arg COMP_OR_AFOPA6 : Alternate Function PA6 source selection
AnnaBridge 172:65be27845400 649 * @arg COMP_OR_AFOPA8 : Alternate Function PA8 source selection
AnnaBridge 172:65be27845400 650 * @arg COMP_OR_AFOPB12 : Alternate Function PB12 source selection
AnnaBridge 172:65be27845400 651 * @arg COMP_OR_AFOPE6 : Alternate Function PE6 source selection
AnnaBridge 172:65be27845400 652 * @arg COMP_OR_AFOPE15 : Alternate Function PE15 source selection
AnnaBridge 172:65be27845400 653 * @arg COMP_OR_AFOPG2 : Alternate Function PG2 source selection
AnnaBridge 172:65be27845400 654 * @arg COMP_OR_AFOPG3 : Alternate Function PG3 source selection
AnnaBridge 172:65be27845400 655 * @arg COMP_OR_AFOPG4 : Alternate Function PG4 source selection
AnnaBridge 172:65be27845400 656 * @arg COMP_OR_AFOPI1 : Alternate Function PI1 source selection
AnnaBridge 172:65be27845400 657 * @arg COMP_OR_AFOPI4 : Alternate Function PI4 source selection
AnnaBridge 172:65be27845400 658 * @arg COMP_OR_AFOPK2 : Alternate Function PK2 source selection
AnnaBridge 172:65be27845400 659 * @retval None
AnnaBridge 172:65be27845400 660 */
AnnaBridge 172:65be27845400 661 #define __HAL_COMP_DISABLE_OR(__AF__) CLEAR_BIT(COMP12->OR, (__AF__))
AnnaBridge 172:65be27845400 662 /**
AnnaBridge 172:65be27845400 663 * @}
AnnaBridge 172:65be27845400 664 */
AnnaBridge 172:65be27845400 665
AnnaBridge 172:65be27845400 666 /* Private types -------------------------------------------------------------*/
AnnaBridge 172:65be27845400 667 /* Private constants ---------------------------------------------------------*/
AnnaBridge 172:65be27845400 668 /** @defgroup COMP_Private_Constants COMP Private Constants
AnnaBridge 172:65be27845400 669 * @{
AnnaBridge 172:65be27845400 670 */
AnnaBridge 172:65be27845400 671 /** @defgroup COMP_ExtiLine COMP EXTI Lines
AnnaBridge 172:65be27845400 672 * @{
AnnaBridge 172:65be27845400 673 */
AnnaBridge 172:65be27845400 674 #define COMP_EXTI_LINE_COMP1 (EXTI_IMR1_IM20) /*!< EXTI line 20 connected to COMP1 output */
AnnaBridge 172:65be27845400 675 #define COMP_EXTI_LINE_COMP2 (EXTI_IMR1_IM21) /*!< EXTI line 21 connected to COMP2 output */
AnnaBridge 172:65be27845400 676 /**
AnnaBridge 172:65be27845400 677 * @}
AnnaBridge 172:65be27845400 678 */
AnnaBridge 172:65be27845400 679 /** @defgroup COMP_ExtiLine COMP EXTI Lines
AnnaBridge 172:65be27845400 680 * @{
AnnaBridge 172:65be27845400 681 */
AnnaBridge 172:65be27845400 682 #define COMP_EXTI_IT ((uint32_t) 0x01) /*!< EXTI line event with interruption */
AnnaBridge 172:65be27845400 683 #define COMP_EXTI_EVENT ((uint32_t) 0x02) /*!< EXTI line event only (without interruption) */
AnnaBridge 172:65be27845400 684 #define COMP_EXTI_RISING ((uint32_t) 0x10) /*!< EXTI line event on rising edge */
AnnaBridge 172:65be27845400 685 #define COMP_EXTI_FALLING ((uint32_t) 0x20) /*!< EXTI line event on falling edge */
AnnaBridge 172:65be27845400 686 /**
AnnaBridge 172:65be27845400 687 * @}
AnnaBridge 172:65be27845400 688 */
AnnaBridge 172:65be27845400 689 /**
AnnaBridge 172:65be27845400 690 * @}
AnnaBridge 172:65be27845400 691 */
AnnaBridge 172:65be27845400 692
AnnaBridge 172:65be27845400 693 /* Private macros ------------------------------------------------------------*/
AnnaBridge 172:65be27845400 694 /** @defgroup COMP_Private_Macros COMP Private Macros
AnnaBridge 172:65be27845400 695 * @{
AnnaBridge 172:65be27845400 696 */
AnnaBridge 172:65be27845400 697 /** @defgroup COMP_GET_EXTI_LINE COMP Private macros to get EXTI line associated with Comparators
AnnaBridge 172:65be27845400 698 * @{
AnnaBridge 172:65be27845400 699 */
AnnaBridge 172:65be27845400 700 /**
AnnaBridge 172:65be27845400 701 * @brief Get the specified EXTI line for a comparator instance.
AnnaBridge 172:65be27845400 702 * @param __INSTANCE__: specifies the COMP instance.
AnnaBridge 172:65be27845400 703 * @retval value of @ref COMP_ExtiLine
AnnaBridge 172:65be27845400 704 */
AnnaBridge 172:65be27845400 705 #define COMP_GET_EXTI_LINE(__INSTANCE__) (((__INSTANCE__) == COMP1) ? COMP_EXTI_LINE_COMP1 : \
AnnaBridge 172:65be27845400 706 COMP_EXTI_LINE_COMP2)
AnnaBridge 172:65be27845400 707 /**
AnnaBridge 172:65be27845400 708 * @}
AnnaBridge 172:65be27845400 709 */
AnnaBridge 172:65be27845400 710 /** @defgroup COMP_IS_COMP_Definitions COMP private macros to check input parameters
AnnaBridge 172:65be27845400 711 * @{
AnnaBridge 172:65be27845400 712 */
AnnaBridge 172:65be27845400 713 #define IS_COMP_WINDOWMODE(__WINDOWMODE__) (((__WINDOWMODE__) == COMP_WINDOWMODE_DISABLE) || \
AnnaBridge 172:65be27845400 714 ((__WINDOWMODE__) == COMP_WINDOWMODE_COMP1_INPUT_PLUS_COMMON) )
AnnaBridge 172:65be27845400 715
AnnaBridge 172:65be27845400 716 #define IS_COMP_POWERMODE(__POWERMODE__) (((__POWERMODE__) == COMP_POWERMODE_HIGHSPEED) || \
AnnaBridge 172:65be27845400 717 ((__POWERMODE__) == COMP_POWERMODE_MEDIUMSPEED) || \
AnnaBridge 172:65be27845400 718 ((__POWERMODE__) == COMP_POWERMODE_ULTRALOWPOWER) )
AnnaBridge 172:65be27845400 719
AnnaBridge 172:65be27845400 720
AnnaBridge 172:65be27845400 721 #define IS_COMP_INPUT_PLUS(__COMP_INSTANCE__, __INPUT_PLUS__) (((__INPUT_PLUS__) == COMP_INPUT_PLUS_IO1) || \
AnnaBridge 172:65be27845400 722 ((__INPUT_PLUS__) == COMP_INPUT_PLUS_IO2))
AnnaBridge 172:65be27845400 723
AnnaBridge 172:65be27845400 724
AnnaBridge 172:65be27845400 725
AnnaBridge 172:65be27845400 726 #define IS_COMP_INPUT_MINUS(__COMP_INSTANCE__, __INPUT_MINUS__) (((__INPUT_MINUS__) == COMP_INPUT_MINUS_1_4VREFINT) || \
AnnaBridge 172:65be27845400 727 ((__INPUT_MINUS__) == COMP_INPUT_MINUS_1_2VREFINT) || \
AnnaBridge 172:65be27845400 728 ((__INPUT_MINUS__) == COMP_INPUT_MINUS_3_4VREFINT) || \
AnnaBridge 172:65be27845400 729 ((__INPUT_MINUS__) == COMP_INPUT_MINUS_VREFINT) || \
AnnaBridge 172:65be27845400 730 ((__INPUT_MINUS__) == COMP_INPUT_MINUS_DAC1_CH1) || \
AnnaBridge 172:65be27845400 731 ((__INPUT_MINUS__) == COMP_INPUT_MINUS_DAC1_CH2) || \
AnnaBridge 172:65be27845400 732 ((__INPUT_MINUS__) == COMP_INPUT_MINUS_IO1) || \
AnnaBridge 172:65be27845400 733 ((__INPUT_MINUS__) == COMP_INPUT_MINUS_IO2))
AnnaBridge 172:65be27845400 734
AnnaBridge 172:65be27845400 735
AnnaBridge 172:65be27845400 736 #define IS_COMP_HYSTERESIS(__HYSTERESIS__) (((__HYSTERESIS__) == COMP_HYSTERESIS_NONE) || \
AnnaBridge 172:65be27845400 737 ((__HYSTERESIS__) == COMP_HYSTERESIS_LOW) || \
AnnaBridge 172:65be27845400 738 ((__HYSTERESIS__) == COMP_HYSTERESIS_MEDIUM) || \
AnnaBridge 172:65be27845400 739 ((__HYSTERESIS__) == COMP_HYSTERESIS_HIGH))
AnnaBridge 172:65be27845400 740
AnnaBridge 172:65be27845400 741 #define IS_COMP_OUTPUTPOL(__POL__) (((__POL__) == COMP_OUTPUTPOL_NONINVERTED) || \
AnnaBridge 172:65be27845400 742 ((__POL__) == COMP_OUTPUTPOL_INVERTED))
AnnaBridge 172:65be27845400 743
AnnaBridge 172:65be27845400 744 #define IS_COMP_BLANKINGSRCE(__SOURCE__) (((__SOURCE__) == COMP_BLANKINGSRC_NONE) || \
AnnaBridge 172:65be27845400 745 ((__SOURCE__) == COMP_BLANKINGSRC_TIM1_OC5) || \
AnnaBridge 172:65be27845400 746 ((__SOURCE__) == COMP_BLANKINGSRC_TIM2_OC3) || \
AnnaBridge 172:65be27845400 747 ((__SOURCE__) == COMP_BLANKINGSRC_TIM3_OC3) || \
AnnaBridge 172:65be27845400 748 ((__SOURCE__) == COMP_BLANKINGSRC_TIM3_OC4) || \
AnnaBridge 172:65be27845400 749 ((__SOURCE__) == COMP_BLANKINGSRC_TIM8_OC5) || \
AnnaBridge 172:65be27845400 750 ((__SOURCE__) == COMP_BLANKINGSRC_TIM15_OC1))
AnnaBridge 172:65be27845400 751
AnnaBridge 172:65be27845400 752
AnnaBridge 172:65be27845400 753 #define IS_COMP_TRIGGERMODE(__MODE__) (((__MODE__) == COMP_TRIGGERMODE_NONE) || \
AnnaBridge 172:65be27845400 754 ((__MODE__) == COMP_TRIGGERMODE_IT_RISING) || \
AnnaBridge 172:65be27845400 755 ((__MODE__) == COMP_TRIGGERMODE_IT_FALLING) || \
AnnaBridge 172:65be27845400 756 ((__MODE__) == COMP_TRIGGERMODE_IT_RISING_FALLING) || \
AnnaBridge 172:65be27845400 757 ((__MODE__) == COMP_TRIGGERMODE_EVENT_RISING) || \
AnnaBridge 172:65be27845400 758 ((__MODE__) == COMP_TRIGGERMODE_EVENT_FALLING) || \
AnnaBridge 172:65be27845400 759 ((__MODE__) == COMP_TRIGGERMODE_EVENT_RISING_FALLING))
AnnaBridge 172:65be27845400 760
AnnaBridge 172:65be27845400 761 #define IS_COMP_OUTPUT_LEVEL(__OUTPUT_LEVEL__) (((__OUTPUT_LEVEL__) == COMP_OUTPUT_LEVEL_LOW) || \
AnnaBridge 172:65be27845400 762 ((__OUTPUT_LEVEL__) == COMP_OUTPUT_LEVEL_HIGH))
AnnaBridge 172:65be27845400 763
AnnaBridge 172:65be27845400 764 /**
AnnaBridge 172:65be27845400 765 * @}
AnnaBridge 172:65be27845400 766 */
AnnaBridge 172:65be27845400 767
AnnaBridge 172:65be27845400 768 /**
AnnaBridge 172:65be27845400 769 * @}
AnnaBridge 172:65be27845400 770 */
AnnaBridge 172:65be27845400 771
AnnaBridge 172:65be27845400 772 /* Exported functions --------------------------------------------------------*/
AnnaBridge 172:65be27845400 773 /** @addtogroup COMP_Exported_Functions
AnnaBridge 172:65be27845400 774 * @{
AnnaBridge 172:65be27845400 775 */
AnnaBridge 172:65be27845400 776
AnnaBridge 172:65be27845400 777 /** @addtogroup COMP_Exported_Functions_Group1
AnnaBridge 172:65be27845400 778 * @{
AnnaBridge 172:65be27845400 779 */
AnnaBridge 172:65be27845400 780 /* Initialization and de-initialization functions **********************************/
AnnaBridge 172:65be27845400 781 HAL_StatusTypeDef HAL_COMP_Init(COMP_HandleTypeDef *hcomp);
AnnaBridge 172:65be27845400 782 HAL_StatusTypeDef HAL_COMP_DeInit (COMP_HandleTypeDef *hcomp);
AnnaBridge 172:65be27845400 783 void HAL_COMP_MspInit(COMP_HandleTypeDef *hcomp);
AnnaBridge 172:65be27845400 784 void HAL_COMP_MspDeInit(COMP_HandleTypeDef *hcomp);
AnnaBridge 172:65be27845400 785 #if (USE_HAL_COMP_REGISTER_CALLBACKS == 1)
AnnaBridge 172:65be27845400 786 /* Callbacks Register/UnRegister functions ***********************************/
AnnaBridge 172:65be27845400 787 HAL_StatusTypeDef HAL_COMP_RegisterCallback(COMP_HandleTypeDef *hcomp, HAL_COMP_CallbackIDTypeDef CallbackID, pCOMP_CallbackTypeDef pCallback);
AnnaBridge 172:65be27845400 788 HAL_StatusTypeDef HAL_COMP_UnRegisterCallback(COMP_HandleTypeDef *hcomp, HAL_COMP_CallbackIDTypeDef CallbackID);
AnnaBridge 172:65be27845400 789 #endif /* USE_HAL_COMP_REGISTER_CALLBACKS */
AnnaBridge 172:65be27845400 790 /**
AnnaBridge 172:65be27845400 791 * @}
AnnaBridge 172:65be27845400 792 */
AnnaBridge 172:65be27845400 793
AnnaBridge 172:65be27845400 794 /* IO operation functions *****************************************************/
AnnaBridge 172:65be27845400 795 /** @addtogroup COMP_Exported_Functions_Group2
AnnaBridge 172:65be27845400 796 * @{
AnnaBridge 172:65be27845400 797 */
AnnaBridge 172:65be27845400 798 HAL_StatusTypeDef HAL_COMP_Start(COMP_HandleTypeDef *hcomp);
AnnaBridge 172:65be27845400 799 HAL_StatusTypeDef HAL_COMP_Stop(COMP_HandleTypeDef *hcomp);
AnnaBridge 172:65be27845400 800 HAL_StatusTypeDef HAL_COMP_Start_IT(COMP_HandleTypeDef *hcomp);
AnnaBridge 172:65be27845400 801 HAL_StatusTypeDef HAL_COMP_Stop_IT(COMP_HandleTypeDef *hcomp);
AnnaBridge 172:65be27845400 802 void HAL_COMP_IRQHandler(COMP_HandleTypeDef *hcomp);
AnnaBridge 172:65be27845400 803
AnnaBridge 172:65be27845400 804 /**
AnnaBridge 172:65be27845400 805 * @}
AnnaBridge 172:65be27845400 806 */
AnnaBridge 172:65be27845400 807
AnnaBridge 172:65be27845400 808 /* Peripheral Control functions ************************************************/
AnnaBridge 172:65be27845400 809 /** @addtogroup COMP_Exported_Functions_Group3
AnnaBridge 172:65be27845400 810 * @{
AnnaBridge 172:65be27845400 811 */
AnnaBridge 172:65be27845400 812 HAL_StatusTypeDef HAL_COMP_Lock(COMP_HandleTypeDef *hcomp);
AnnaBridge 172:65be27845400 813 uint32_t HAL_COMP_GetOutputLevel(COMP_HandleTypeDef *hcomp);
AnnaBridge 172:65be27845400 814 /* Callback in Interrupt mode */
AnnaBridge 172:65be27845400 815 void HAL_COMP_TriggerCallback(COMP_HandleTypeDef *hcomp);
AnnaBridge 172:65be27845400 816 /**
AnnaBridge 172:65be27845400 817 * @}
AnnaBridge 172:65be27845400 818 */
AnnaBridge 172:65be27845400 819
AnnaBridge 172:65be27845400 820 /* Peripheral State functions **************************************************/
AnnaBridge 172:65be27845400 821 /** @addtogroup COMP_Exported_Functions_Group4
AnnaBridge 172:65be27845400 822 * @{
AnnaBridge 172:65be27845400 823 */
AnnaBridge 172:65be27845400 824 HAL_COMP_StateTypeDef HAL_COMP_GetState(COMP_HandleTypeDef *hcomp);
AnnaBridge 172:65be27845400 825 uint32_t HAL_COMP_GetError(COMP_HandleTypeDef *hcomp);
AnnaBridge 172:65be27845400 826 /**
AnnaBridge 172:65be27845400 827 * @}
AnnaBridge 172:65be27845400 828 */
AnnaBridge 172:65be27845400 829
AnnaBridge 172:65be27845400 830 /**
AnnaBridge 172:65be27845400 831 * @}
AnnaBridge 172:65be27845400 832 */
AnnaBridge 172:65be27845400 833
AnnaBridge 172:65be27845400 834
AnnaBridge 172:65be27845400 835 /**
AnnaBridge 172:65be27845400 836 * @}
AnnaBridge 172:65be27845400 837 */
AnnaBridge 172:65be27845400 838
AnnaBridge 172:65be27845400 839 /**
AnnaBridge 172:65be27845400 840 * @}
AnnaBridge 172:65be27845400 841 */
AnnaBridge 172:65be27845400 842 #ifdef __cplusplus
AnnaBridge 172:65be27845400 843 }
AnnaBridge 172:65be27845400 844 #endif
AnnaBridge 172:65be27845400 845
AnnaBridge 172:65be27845400 846 #endif /* STM32H7xx_HAL_COMP_H */
AnnaBridge 172:65be27845400 847
AnnaBridge 172:65be27845400 848 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/