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:
Tue Mar 20 13:30:58 2018 +0000
Revision:
163:e59c8e839560
Child:
168:b9e159c1930a
mbed library. Release version 160

Who changed what in which revision?

UserRevisionLine numberNew contents of line
AnnaBridge 163:e59c8e839560 1 /**
AnnaBridge 163:e59c8e839560 2 ******************************************************************************
AnnaBridge 163:e59c8e839560 3 * @file stm32f3xx_ll_comp.h
AnnaBridge 163:e59c8e839560 4 * @author MCD Application Team
AnnaBridge 163:e59c8e839560 5 * @version V1.4.0
AnnaBridge 163:e59c8e839560 6 * @date 16-December-2016
AnnaBridge 163:e59c8e839560 7 * @brief Header file of COMP LL module.
AnnaBridge 163:e59c8e839560 8 ******************************************************************************
AnnaBridge 163:e59c8e839560 9 * @attention
AnnaBridge 163:e59c8e839560 10 *
AnnaBridge 163:e59c8e839560 11 * <h2><center>&copy; COPYRIGHT(c) 2016 STMicroelectronics</center></h2>
AnnaBridge 163:e59c8e839560 12 *
AnnaBridge 163:e59c8e839560 13 * Redistribution and use in source and binary forms, with or without modification,
AnnaBridge 163:e59c8e839560 14 * are permitted provided that the following conditions are met:
AnnaBridge 163:e59c8e839560 15 * 1. Redistributions of source code must retain the above copyright notice,
AnnaBridge 163:e59c8e839560 16 * this list of conditions and the following disclaimer.
AnnaBridge 163:e59c8e839560 17 * 2. Redistributions in binary form must reproduce the above copyright notice,
AnnaBridge 163:e59c8e839560 18 * this list of conditions and the following disclaimer in the documentation
AnnaBridge 163:e59c8e839560 19 * and/or other materials provided with the distribution.
AnnaBridge 163:e59c8e839560 20 * 3. Neither the name of STMicroelectronics nor the names of its contributors
AnnaBridge 163:e59c8e839560 21 * may be used to endorse or promote products derived from this software
AnnaBridge 163:e59c8e839560 22 * without specific prior written permission.
AnnaBridge 163:e59c8e839560 23 *
AnnaBridge 163:e59c8e839560 24 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AnnaBridge 163:e59c8e839560 25 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
AnnaBridge 163:e59c8e839560 26 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
AnnaBridge 163:e59c8e839560 27 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
AnnaBridge 163:e59c8e839560 28 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
AnnaBridge 163:e59c8e839560 29 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
AnnaBridge 163:e59c8e839560 30 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
AnnaBridge 163:e59c8e839560 31 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
AnnaBridge 163:e59c8e839560 32 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
AnnaBridge 163:e59c8e839560 33 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
AnnaBridge 163:e59c8e839560 34 *
AnnaBridge 163:e59c8e839560 35 ******************************************************************************
AnnaBridge 163:e59c8e839560 36 */
AnnaBridge 163:e59c8e839560 37
AnnaBridge 163:e59c8e839560 38 /* Define to prevent recursive inclusion -------------------------------------*/
AnnaBridge 163:e59c8e839560 39 #ifndef __STM32F3xx_LL_COMP_H
AnnaBridge 163:e59c8e839560 40 #define __STM32F3xx_LL_COMP_H
AnnaBridge 163:e59c8e839560 41
AnnaBridge 163:e59c8e839560 42 #ifdef __cplusplus
AnnaBridge 163:e59c8e839560 43 extern "C" {
AnnaBridge 163:e59c8e839560 44 #endif
AnnaBridge 163:e59c8e839560 45
AnnaBridge 163:e59c8e839560 46 /* Includes ------------------------------------------------------------------*/
AnnaBridge 163:e59c8e839560 47 #include "stm32f3xx.h"
AnnaBridge 163:e59c8e839560 48
AnnaBridge 163:e59c8e839560 49 /** @addtogroup STM32F3xx_LL_Driver
AnnaBridge 163:e59c8e839560 50 * @{
AnnaBridge 163:e59c8e839560 51 */
AnnaBridge 163:e59c8e839560 52
AnnaBridge 163:e59c8e839560 53 /* Note: Devices of STM32F3 serie embed 1 out of 2 different comparator IP. */
AnnaBridge 163:e59c8e839560 54 /* - STM32F30x, STM32F31x, STM32F32x, STM32F33x, STM32F35x, STM32F39x: */
AnnaBridge 163:e59c8e839560 55 /* COMP IP from 3 to 7 instances and other specific features */
AnnaBridge 163:e59c8e839560 56 /* (comparator output blanking, ...) (refer to reference manual). */
AnnaBridge 163:e59c8e839560 57 /* - STM32F37x: */
AnnaBridge 163:e59c8e839560 58 /* COMP IP with 2 instances */
AnnaBridge 163:e59c8e839560 59 /* This file contains the drivers of these COMP IP, located in 2 area */
AnnaBridge 163:e59c8e839560 60 /* delimited by compilation switches. */
AnnaBridge 163:e59c8e839560 61
AnnaBridge 163:e59c8e839560 62 #if defined(COMP_V1_3_0_0)
AnnaBridge 163:e59c8e839560 63
AnnaBridge 163:e59c8e839560 64 #if defined (COMP1) || defined (COMP2) || defined (COMP3) || defined (COMP4) || defined (COMP5) || defined (COMP6) || defined (COMP7)
AnnaBridge 163:e59c8e839560 65
AnnaBridge 163:e59c8e839560 66 /** @defgroup COMP_LL COMP
AnnaBridge 163:e59c8e839560 67 * @{
AnnaBridge 163:e59c8e839560 68 */
AnnaBridge 163:e59c8e839560 69
AnnaBridge 163:e59c8e839560 70 /* Private types -------------------------------------------------------------*/
AnnaBridge 163:e59c8e839560 71 /* Private variables ---------------------------------------------------------*/
AnnaBridge 163:e59c8e839560 72 /* Private constants ---------------------------------------------------------*/
AnnaBridge 163:e59c8e839560 73 /** @defgroup COMP_LL_Private_Constants COMP Private Constants
AnnaBridge 163:e59c8e839560 74 * @{
AnnaBridge 163:e59c8e839560 75 */
AnnaBridge 163:e59c8e839560 76
AnnaBridge 163:e59c8e839560 77 /* COMP registers bits positions */
AnnaBridge 163:e59c8e839560 78 #define LL_COMP_OUTPUT_LEVEL_BITOFFSET_POS ((uint32_t)30U) /* Value equivalent to POSITION_VAL(COMPxOUT) */
AnnaBridge 163:e59c8e839560 79
AnnaBridge 163:e59c8e839560 80 /**
AnnaBridge 163:e59c8e839560 81 * @}
AnnaBridge 163:e59c8e839560 82 */
AnnaBridge 163:e59c8e839560 83
AnnaBridge 163:e59c8e839560 84 /* Private macros ------------------------------------------------------------*/
AnnaBridge 163:e59c8e839560 85 /* Exported types ------------------------------------------------------------*/
AnnaBridge 163:e59c8e839560 86 #if defined(USE_FULL_LL_DRIVER)
AnnaBridge 163:e59c8e839560 87 /** @defgroup COMP_LL_ES_INIT COMP Exported Init structure
AnnaBridge 163:e59c8e839560 88 * @{
AnnaBridge 163:e59c8e839560 89 */
AnnaBridge 163:e59c8e839560 90
AnnaBridge 163:e59c8e839560 91 /**
AnnaBridge 163:e59c8e839560 92 * @brief Structure definition of some features of COMP instance.
AnnaBridge 163:e59c8e839560 93 */
AnnaBridge 163:e59c8e839560 94 typedef struct
AnnaBridge 163:e59c8e839560 95 {
AnnaBridge 163:e59c8e839560 96 uint32_t PowerMode; /*!< Set comparator operating mode to adjust power and speed.
AnnaBridge 163:e59c8e839560 97 This parameter can be a value of @ref COMP_LL_EC_POWERMODE
AnnaBridge 163:e59c8e839560 98
AnnaBridge 163:e59c8e839560 99 This feature can be modified afterwards using unitary function @ref LL_COMP_SetPowerMode(). */
AnnaBridge 163:e59c8e839560 100
AnnaBridge 163:e59c8e839560 101 uint32_t InputPlus; /*!< Set comparator input plus (non-inverting input).
AnnaBridge 163:e59c8e839560 102 This parameter can be a value of @ref COMP_LL_EC_INPUT_PLUS
AnnaBridge 163:e59c8e839560 103
AnnaBridge 163:e59c8e839560 104 This feature can be modified afterwards using unitary function @ref LL_COMP_SetInputPlus(). */
AnnaBridge 163:e59c8e839560 105
AnnaBridge 163:e59c8e839560 106 uint32_t InputMinus; /*!< Set comparator input minus (inverting input).
AnnaBridge 163:e59c8e839560 107 This parameter can be a value of @ref COMP_LL_EC_INPUT_MINUS
AnnaBridge 163:e59c8e839560 108
AnnaBridge 163:e59c8e839560 109 This feature can be modified afterwards using unitary function @ref LL_COMP_SetInputMinus(). */
AnnaBridge 163:e59c8e839560 110
AnnaBridge 163:e59c8e839560 111 uint32_t InputHysteresis; /*!< Set comparator hysteresis mode of the input minus.
AnnaBridge 163:e59c8e839560 112 This parameter can be a value of @ref COMP_LL_EC_INPUT_HYSTERESIS
AnnaBridge 163:e59c8e839560 113
AnnaBridge 163:e59c8e839560 114 This feature can be modified afterwards using unitary function @ref LL_COMP_SetInputHysteresis(). */
AnnaBridge 163:e59c8e839560 115
AnnaBridge 163:e59c8e839560 116 uint32_t OutputSelection; /*!< Set comparator output selection.
AnnaBridge 163:e59c8e839560 117 This parameter can be a value of @ref COMP_LL_EC_OUTPUT_SELECTION
AnnaBridge 163:e59c8e839560 118
AnnaBridge 163:e59c8e839560 119 This feature can be modified afterwards using unitary function @ref LL_COMP_SetOutputSelection(). */
AnnaBridge 163:e59c8e839560 120
AnnaBridge 163:e59c8e839560 121 uint32_t OutputPolarity; /*!< Set comparator output polarity.
AnnaBridge 163:e59c8e839560 122 This parameter can be a value of @ref COMP_LL_EC_OUTPUT_POLARITY
AnnaBridge 163:e59c8e839560 123
AnnaBridge 163:e59c8e839560 124 This feature can be modified afterwards using unitary function @ref LL_COMP_SetOutputPolarity(). */
AnnaBridge 163:e59c8e839560 125
AnnaBridge 163:e59c8e839560 126 uint32_t OutputBlankingSource; /*!< Set comparator blanking source.
AnnaBridge 163:e59c8e839560 127 This parameter can be a value of @ref COMP_LL_EC_OUTPUT_BLANKING_SOURCE
AnnaBridge 163:e59c8e839560 128
AnnaBridge 163:e59c8e839560 129 This feature can be modified afterwards using unitary function @ref LL_COMP_SetOutputBlankingSource(). */
AnnaBridge 163:e59c8e839560 130
AnnaBridge 163:e59c8e839560 131 } LL_COMP_InitTypeDef;
AnnaBridge 163:e59c8e839560 132
AnnaBridge 163:e59c8e839560 133 /**
AnnaBridge 163:e59c8e839560 134 * @}
AnnaBridge 163:e59c8e839560 135 */
AnnaBridge 163:e59c8e839560 136 #endif /* USE_FULL_LL_DRIVER */
AnnaBridge 163:e59c8e839560 137
AnnaBridge 163:e59c8e839560 138 /* Exported constants --------------------------------------------------------*/
AnnaBridge 163:e59c8e839560 139 /** @defgroup COMP_LL_Exported_Constants COMP Exported Constants
AnnaBridge 163:e59c8e839560 140 * @{
AnnaBridge 163:e59c8e839560 141 */
AnnaBridge 163:e59c8e839560 142
AnnaBridge 163:e59c8e839560 143 /** @defgroup COMP_LL_EC_COMMON_WINDOWMODE Comparator common modes - Window mode
AnnaBridge 163:e59c8e839560 144 * @{
AnnaBridge 163:e59c8e839560 145 */
AnnaBridge 163:e59c8e839560 146 #define LL_COMP_WINDOWMODE_DISABLE ((uint32_t)0x00000000U) /*!< Window mode disable: Comparators 1 and 2 are independent */
AnnaBridge 163:e59c8e839560 147 #if defined(COMP2_CSR_COMP2WNDWEN)
AnnaBridge 163:e59c8e839560 148 #define LL_COMP_WINDOWMODE_COMP1_INPUT_PLUS_COMMON (COMP2_CSR_COMP2WNDWEN) /*!< 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 163:e59c8e839560 149 #endif
AnnaBridge 163:e59c8e839560 150 #if defined(COMP4_CSR_COMP4WNDWEN)
AnnaBridge 163:e59c8e839560 151 #define LL_COMP_WINDOWMODE_COMP3_INPUT_PLUS_COMMON (COMP4_CSR_COMP4WNDWEN) /*!< Window mode enable: Comparators instances pair COMP3 and COMP4 have their input plus connected together. The common input is COMP3 input plus (COMP4 input plus is no more accessible). */
AnnaBridge 163:e59c8e839560 152 #endif
AnnaBridge 163:e59c8e839560 153 #if defined(COMP6_CSR_COMP6WNDWEN)
AnnaBridge 163:e59c8e839560 154 #define LL_COMP_WINDOWMODE_COMP5_INPUT_PLUS_COMMON (COMP6_CSR_COMP6WNDWEN) /*!< Window mode enable: Comparators instances pair COMP5 and COMP6 have their input plus connected together. The common input is COMP5 input plus (COMP6 input plus is no more accessible). */
AnnaBridge 163:e59c8e839560 155 #endif
AnnaBridge 163:e59c8e839560 156 /**
AnnaBridge 163:e59c8e839560 157 * @}
AnnaBridge 163:e59c8e839560 158 */
AnnaBridge 163:e59c8e839560 159
AnnaBridge 163:e59c8e839560 160 /** @defgroup COMP_LL_EC_POWERMODE Comparator modes - Power mode
AnnaBridge 163:e59c8e839560 161 * @{
AnnaBridge 163:e59c8e839560 162 */
AnnaBridge 163:e59c8e839560 163 #define LL_COMP_POWERMODE_HIGHSPEED ((uint32_t)0x00000000U) /*!< COMP power mode to high speed */
AnnaBridge 163:e59c8e839560 164 #if defined(COMP_CSR_COMPxMODE)
AnnaBridge 163:e59c8e839560 165 #define LL_COMP_POWERMODE_MEDIUMSPEED (COMP_CSR_COMPxMODE_0) /*!< COMP power mode to medium speed */
AnnaBridge 163:e59c8e839560 166 #define LL_COMP_POWERMODE_LOWPOWER (COMP_CSR_COMPxMODE_1) /*!< COMP power mode to low power */
AnnaBridge 163:e59c8e839560 167 #define LL_COMP_POWERMODE_ULTRALOWPOWER (COMP_CSR_COMPxMODE_1 | COMP_CSR_COMPxMODE_0) /*!< COMP power mode to ultra-low power */
AnnaBridge 163:e59c8e839560 168 #endif
AnnaBridge 163:e59c8e839560 169 /**
AnnaBridge 163:e59c8e839560 170 * @}
AnnaBridge 163:e59c8e839560 171 */
AnnaBridge 163:e59c8e839560 172
AnnaBridge 163:e59c8e839560 173 /** @defgroup COMP_LL_EC_INPUT_PLUS Comparator inputs - Input plus (input non-inverting) selection
AnnaBridge 163:e59c8e839560 174 * @{
AnnaBridge 163:e59c8e839560 175 */
AnnaBridge 163:e59c8e839560 176 #if !defined(COMP_CSR_COMPxNONINSEL)
AnnaBridge 163:e59c8e839560 177 #define LL_COMP_INPUT_PLUS_IO1 ((uint32_t)0x00000000U) /*!< Comparator input plus connected to IO1 (pin PA1 for COMP1, PA3 for COMP2 (except STM32F334xx: PA7), PB14 for COMP3, PB0 for COMP4, PD12 for COMP5, PD11 for COMP6, PA0 for COMP7) (COMP instance availability depends on the selected device) */
AnnaBridge 163:e59c8e839560 178 #define LL_COMP_INPUT_PLUS_IO2 ((uint32_t)0x00000000U) /*!< Comparator input plus connected to IO2: Same as IO1 */
AnnaBridge 163:e59c8e839560 179 #else
AnnaBridge 163:e59c8e839560 180 #define LL_COMP_INPUT_PLUS_IO1 ((uint32_t)0x00000000U) /*!< Comparator input plus connected to IO1 (pin PA7 for COMP2, PB14 for COMP3, PB0 for COMP4, PD12 for COMP5, PD11 for COMP6, PA0 for COMP7) (COMP instance availability depends on the selected device) */
AnnaBridge 163:e59c8e839560 181 #define LL_COMP_INPUT_PLUS_IO2 (COMP_CSR_COMPxNONINSEL) /*!< Comparator input plus connected to IO2 (pin PA3 for COMP2, PD14 for COMP3, PE7 for COMP4, PB13 for COMP5, PB11 for COMP6, PC1 for COMP7) (COMP instance availability depends on the selected device) */
AnnaBridge 163:e59c8e839560 182 #endif
AnnaBridge 163:e59c8e839560 183 #if defined(STM32F302xC) || defined(STM32F302xE) || defined(STM32F303xC) || defined(STM32F303xE) || defined(STM32F358xx) || defined(STM32F398xx)
AnnaBridge 163:e59c8e839560 184 #define LL_COMP_INPUT_PLUS_DAC1_CH1_COMP1 (COMP_CSR_COMPxSW1) /*!< Comparator input plus connected to DAC1 channel 1 (DAC_OUT1), through dedicated switch (Note: this switch is solely intended to redirect signals onto high impedance input, such as COMP1 input plus (highly resistive switch)) (specific to COMP instance: COMP1) */
AnnaBridge 163:e59c8e839560 185
AnnaBridge 163:e59c8e839560 186 /* Note: Comparator input plus specific to COMP instances, defined with */
AnnaBridge 163:e59c8e839560 187 /* generic naming not taking into account COMP instance constraints. */
AnnaBridge 163:e59c8e839560 188 /* Refer to literal definitions above for COMP instance constraints. */
AnnaBridge 163:e59c8e839560 189 #define LL_COMP_INPUT_PLUS_DAC1_CH1 LL_COMP_INPUT_PLUS_DAC1_CH1_COMP1 /*!< Comparator input plus connected to DAC1 channel 1 (DAC_OUT1), through dedicated switch. Caution: Parameter specific to COMP instances, defined with generic naming, not taking into account COMP instance constraints. Refer to literal definitions above for COMP instance constraints. */
AnnaBridge 163:e59c8e839560 190
AnnaBridge 163:e59c8e839560 191 #elif defined(STM32F301x8) || defined(STM32F318xx) || defined(STM32F302x8)
AnnaBridge 163:e59c8e839560 192 #define LL_COMP_INPUT_PLUS_DAC1_CH1_COMP2 (COMP_CSR_COMPxSW1) /*!< Comparator input plus connected to DAC1 channel 1 (DAC_OUT1), through dedicated switch (Note: this switch is solely intended to redirect signals onto high impedance input, such as COMP2 input plus (highly resistive switch)) (specific to COMP instance: COMP2) */
AnnaBridge 163:e59c8e839560 193
AnnaBridge 163:e59c8e839560 194 /* Note: Comparator input plus specific to COMP instances, defined with */
AnnaBridge 163:e59c8e839560 195 /* generic naming not taking into account COMP instance constraints. */
AnnaBridge 163:e59c8e839560 196 /* Refer to literal definitions above for COMP instance constraints. */
AnnaBridge 163:e59c8e839560 197 #define LL_COMP_INPUT_PLUS_DAC1_CH1 LL_COMP_INPUT_PLUS_DAC1_CH1_COMP2 /*!< Comparator input plus connected to DAC1 channel 1 (DAC_OUT1), through dedicated switch. Caution: Parameter specific to COMP instances, defined with generic naming, not taking into account COMP instance constraints. Refer to literal definitions above for COMP instance constraints. */
AnnaBridge 163:e59c8e839560 198
AnnaBridge 163:e59c8e839560 199 #endif
AnnaBridge 163:e59c8e839560 200 /**
AnnaBridge 163:e59c8e839560 201 * @}
AnnaBridge 163:e59c8e839560 202 */
AnnaBridge 163:e59c8e839560 203
AnnaBridge 163:e59c8e839560 204 /** @defgroup COMP_LL_EC_INPUT_MINUS Comparator inputs - Input minus (input inverting) selection
AnnaBridge 163:e59c8e839560 205 * @{
AnnaBridge 163:e59c8e839560 206 */
AnnaBridge 163:e59c8e839560 207 #define LL_COMP_INPUT_MINUS_1_4VREFINT ((uint32_t)0x00000000U) /*!< Comparator input minus connected to 1/4 VrefInt */
AnnaBridge 163:e59c8e839560 208 #define LL_COMP_INPUT_MINUS_1_2VREFINT ( COMP_CSR_COMPxINSEL_0) /*!< Comparator input minus connected to 1/2 VrefInt */
AnnaBridge 163:e59c8e839560 209 #define LL_COMP_INPUT_MINUS_3_4VREFINT ( COMP_CSR_COMPxINSEL_1 ) /*!< Comparator input minus connected to 3/4 VrefInt */
AnnaBridge 163:e59c8e839560 210 #define LL_COMP_INPUT_MINUS_VREFINT ( COMP_CSR_COMPxINSEL_1 | COMP_CSR_COMPxINSEL_0) /*!< Comparator input minus connected to VrefInt */
AnnaBridge 163:e59c8e839560 211 #define LL_COMP_INPUT_MINUS_DAC1_CH1 (COMP_CSR_COMPxINSEL_2 ) /*!< Comparator input minus connected to DAC1 channel 1 (DAC_OUT1) */
AnnaBridge 163:e59c8e839560 212 #if defined(STM32F301x8) || defined(STM32F318xx) || defined(STM32F302x8) || defined(STM32F302xC) || defined(STM32F302xE)
AnnaBridge 163:e59c8e839560 213 /* This device has no comparator input minus DAC1_CH2 */
AnnaBridge 163:e59c8e839560 214 #else
AnnaBridge 163:e59c8e839560 215 #define LL_COMP_INPUT_MINUS_DAC1_CH2 (COMP_CSR_COMPxINSEL_2 | COMP_CSR_COMPxINSEL_0) /*!< Comparator input minus connected to DAC1 channel 2 (DAC_OUT2) */
AnnaBridge 163:e59c8e839560 216 #endif
AnnaBridge 163:e59c8e839560 217 #if defined(STM32F301x8) || defined(STM32F318xx) || defined(STM32F334x8)
AnnaBridge 163:e59c8e839560 218 #define LL_COMP_INPUT_MINUS_IO1 (COMP_CSR_COMPxINSEL_2 | COMP_CSR_COMPxINSEL_1 ) /*!< Comparator input minus connected to IO1 (pin PA2 for COMP2) */
AnnaBridge 163:e59c8e839560 219 #else
AnnaBridge 163:e59c8e839560 220 #define LL_COMP_INPUT_MINUS_IO1 (COMP_CSR_COMPxINSEL_2 | COMP_CSR_COMPxINSEL_1 ) /*!< Comparator input minus connected to IO1 (pin PA0 for COMP1, pin PA2 for COMP2, PD15 for COMP3, PE8 for COMP4, PD13 for COMP5, PD10 for COMP6, PC0 for COMP7 (COMP instance availability depends on the selected device)) */
AnnaBridge 163:e59c8e839560 221 #endif
AnnaBridge 163:e59c8e839560 222 #define LL_COMP_INPUT_MINUS_IO2 (COMP_CSR_COMPxINSEL_2 | COMP_CSR_COMPxINSEL_1 | COMP_CSR_COMPxINSEL_0) /*!< Comparator input minus connected to IO2 ( PB12 for COMP3, PB2 for COMP4, PB10 for COMP5, PB15 for COMP6 (COMP instance availability depends on the selected device)) */
AnnaBridge 163:e59c8e839560 223 #if defined(STM32F301x8) || defined(STM32F318xx) || defined(STM32F334x8) || defined(STM32F302x8) || defined(STM32F303x8) || defined(STM32F328xx)
AnnaBridge 163:e59c8e839560 224 /* This device has no comparator input minus IO3 */
AnnaBridge 163:e59c8e839560 225 #else
AnnaBridge 163:e59c8e839560 226 #define LL_COMP_INPUT_MINUS_IO3 (COMP_CSR_COMPxINSEL_2 | COMP_CSR_COMPxINSEL_0) /*!< Comparator input minus connected to IO3 (pin PA5 for COMP1/2/3/4/5/6/7 (COMP instance availability depends on the selected device)) */
AnnaBridge 163:e59c8e839560 227 #endif
AnnaBridge 163:e59c8e839560 228 #define LL_COMP_INPUT_MINUS_IO4 (COMP_CSR_COMPxINSEL_2 ) /*!< Comparator input minus connected to IO4 (pin PA4 for COMP1/2/3/4/5/6/7 (COMP instance availability depends on the selected device)) */
AnnaBridge 163:e59c8e839560 229 #if defined(STM32F303x8) || defined(STM32F328xx) || defined(STM32F334x8)
AnnaBridge 163:e59c8e839560 230 #define LL_COMP_INPUT_MINUS_DAC2_CH1 (COMP_CSR_COMPxINSEL_3 ) /*!< Comparator input minus connected to DAC2 channel 1 (DAC2_OUT1) */
AnnaBridge 163:e59c8e839560 231 #else
AnnaBridge 163:e59c8e839560 232 /* This device has no comparator input minus DAC2_CH1 */
AnnaBridge 163:e59c8e839560 233 #endif
AnnaBridge 163:e59c8e839560 234 /**
AnnaBridge 163:e59c8e839560 235 * @}
AnnaBridge 163:e59c8e839560 236 */
AnnaBridge 163:e59c8e839560 237
AnnaBridge 163:e59c8e839560 238 /** @defgroup COMP_LL_EC_INPUT_HYSTERESIS Comparator input - Hysteresis
AnnaBridge 163:e59c8e839560 239 * @{
AnnaBridge 163:e59c8e839560 240 */
AnnaBridge 163:e59c8e839560 241 #define LL_COMP_HYSTERESIS_NONE ((uint32_t)0x00000000U) /*!< No hysteresis */
AnnaBridge 163:e59c8e839560 242 #if defined(COMP_CSR_COMPxHYST)
AnnaBridge 163:e59c8e839560 243 #define LL_COMP_HYSTERESIS_LOW ( COMP_CSR_COMPxHYST_0) /*!< Hysteresis level low (available only on devices: STM32F303xB/C, STM32F358xC) */
AnnaBridge 163:e59c8e839560 244 #define LL_COMP_HYSTERESIS_MEDIUM (COMP_CSR_COMPxHYST_1 ) /*!< Hysteresis level medium (available only on devices: STM32F303xB/C, STM32F358xC) */
AnnaBridge 163:e59c8e839560 245 #define LL_COMP_HYSTERESIS_HIGH (COMP_CSR_COMPxHYST_1 | COMP_CSR_COMPxHYST_0) /*!< Hysteresis level high (available only on devices: STM32F303xB/C, STM32F358xC) */
AnnaBridge 163:e59c8e839560 246 #endif
AnnaBridge 163:e59c8e839560 247 /**
AnnaBridge 163:e59c8e839560 248 * @}
AnnaBridge 163:e59c8e839560 249 */
AnnaBridge 163:e59c8e839560 250
AnnaBridge 163:e59c8e839560 251 /** @defgroup COMP_LL_EC_OUTPUT_SELECTION Comparator output - Output selection
AnnaBridge 163:e59c8e839560 252 * @{
AnnaBridge 163:e59c8e839560 253 */
AnnaBridge 163:e59c8e839560 254 #define LL_COMP_OUTPUT_NONE ((uint32_t)0x00000000) /*!< COMP output is not connected to other peripherals (except GPIO and EXTI that are always connected to COMP output) (specific to COMP instance: COMP2) */
AnnaBridge 163:e59c8e839560 255 #if defined(COMP_CSR_COMPxOUT)
AnnaBridge 163:e59c8e839560 256 /* Note: Output redirection common to all COMP instances, all STM32F3 serie */
AnnaBridge 163:e59c8e839560 257 /* devices. */
AnnaBridge 163:e59c8e839560 258 #define LL_COMP_OUTPUT_TIM1_BKIN (COMP_CSR_COMPxOUTSEL_0) /*!< COMP output connected to TIM1 break input (BKIN) */
AnnaBridge 163:e59c8e839560 259 #define LL_COMP_OUTPUT_TIM1_BKIN2 (COMP_CSR_COMPxOUTSEL_1) /*!< COMP output connected to TIM1 break input 2 (BKIN2) */
AnnaBridge 163:e59c8e839560 260
AnnaBridge 163:e59c8e839560 261 #if defined(STM32F301x8) || defined(STM32F318xx)
AnnaBridge 163:e59c8e839560 262 /* Note: Output redirection specific to COMP instance: COMP2 */
AnnaBridge 163:e59c8e839560 263 #define LL_COMP_OUTPUT_TIM1_IC1_COMP2 (COMP_CSR_COMPxOUTSEL_2 | COMP_CSR_COMPxOUTSEL_1 | COMP_CSR_COMPxOUTSEL_0) /*!< COMP output connected to TIM1 input capture 1 (specific to COMP instance: COMP2) */
AnnaBridge 163:e59c8e839560 264 #define LL_COMP_OUTPUT_TIM2_IC4_COMP2 (COMP_CSR_COMPxOUTSEL_3) /*!< COMP output connected to TIM1 input capture 4 (specific to COMP instance: COMP2) */
AnnaBridge 163:e59c8e839560 265 #define LL_COMP_OUTPUT_TIM1_OCCLR_COMP2 (COMP_CSR_COMPxOUTSEL_2 | COMP_CSR_COMPxOUTSEL_1) /*!< COMP output connected to TIM1 OCREF clear (specific to COMP instance: COMP2) */
AnnaBridge 163:e59c8e839560 266 #define LL_COMP_OUTPUT_TIM2_OCCLR_COMP2 (COMP_CSR_COMPxOUTSEL_3 | COMP_CSR_COMPxOUTSEL_0) /*!< COMP output connected to TIM2 OCREF clear (specific to COMP instance: COMP2) */
AnnaBridge 163:e59c8e839560 267 /* Note: Output redirection specific to COMP instance: COMP4 */
AnnaBridge 163:e59c8e839560 268 #define LL_COMP_OUTPUT_TIM15_IC2_COMP4 (COMP_CSR_COMPxOUTSEL_3) /*!< COMP output connected to TIM15 input capture 1 (specific to COMP instance: COMP4) */
AnnaBridge 163:e59c8e839560 269 #define LL_COMP_OUTPUT_TIM15_OCCLR_COMP4 (COMP_CSR_COMPxOUTSEL_3 | COMP_CSR_COMPxOUTSEL_1) /*!< COMP output connected to TIM15 OCREF clear (specific to COMP instance: COMP4) */
AnnaBridge 163:e59c8e839560 270 /* Note: Output redirection specific to COMP instance: COMP6 */
AnnaBridge 163:e59c8e839560 271 #define LL_COMP_OUTPUT_TIM2_IC2_COMP6 (COMP_CSR_COMPxOUTSEL_2 | COMP_CSR_COMPxOUTSEL_1) /*!< COMP output connected to TIM2 input capture 2 (specific to COMP instance: COMP6) */
AnnaBridge 163:e59c8e839560 272 #define LL_COMP_OUTPUT_TIM2_OCCLR_COMP6 (COMP_CSR_COMPxOUTSEL_3) /*!< COMP output connected to TIM2 OCREF clear (specific to COMP instance: COMP6) */
AnnaBridge 163:e59c8e839560 273 #define LL_COMP_OUTPUT_TIM16_IC1_COMP6 (COMP_CSR_COMPxOUTSEL_3 | COMP_CSR_COMPxOUTSEL_1) /*!< COMP output connected to TIM16 input capture 1 (specific to COMP instance: COMP6) */
AnnaBridge 163:e59c8e839560 274 #define LL_COMP_OUTPUT_TIM16_OCCLR_COMP6 (COMP_CSR_COMPxOUTSEL_3 | COMP_CSR_COMPxOUTSEL_0) /*!< COMP output connected to TIM16 OCREF clear (specific to COMP instance: COMP6) */
AnnaBridge 163:e59c8e839560 275
AnnaBridge 163:e59c8e839560 276 /* Note: Output redirection specific to COMP instances, defined with */
AnnaBridge 163:e59c8e839560 277 /* generic naming not taking into account COMP instance constraints. */
AnnaBridge 163:e59c8e839560 278 /* Refer to literal definitions above for COMP instance constraints. */
AnnaBridge 163:e59c8e839560 279 /* Note: Some output redirections cannot have a generic naming, */
AnnaBridge 163:e59c8e839560 280 /* due to literal value different depending on COMP instance. */
AnnaBridge 163:e59c8e839560 281 /* (For exemple: LL_COMP_OUTPUT_TIM2_OCCLR_COMP2 and */
AnnaBridge 163:e59c8e839560 282 /* LL_COMP_OUTPUT_TIM2_OCCLR_COMP6). */
AnnaBridge 163:e59c8e839560 283 #define LL_COMP_OUTPUT_TIM1_IC1 LL_COMP_OUTPUT_TIM1_IC1_COMP2 /*!< COMP output connected to TIM1 input capture 1. Caution: Parameter specific to COMP instances, defined with generic naming, not taking into account COMP instance constraints. Refer to literal definitions above for COMP instance constraints. */
AnnaBridge 163:e59c8e839560 284 #define LL_COMP_OUTPUT_TIM1_OCCLR LL_COMP_OUTPUT_TIM1_OCCLR_COMP2 /*!< COMP output connected to TIM1 OCREF clear. Caution: Parameter specific to COMP instances, defined with generic naming, not taking into account COMP instance constraints. Refer to literal definitions above for COMP instance constraints. */
AnnaBridge 163:e59c8e839560 285 #define LL_COMP_OUTPUT_TIM2_IC2 LL_COMP_OUTPUT_TIM2_IC2_COMP6 /*!< COMP output connected to TIM2 input capture 2. Caution: Parameter specific to COMP instances, defined with generic naming, not taking into account COMP instance constraints. Refer to literal definitions above for COMP instance constraints. */
AnnaBridge 163:e59c8e839560 286 #define LL_COMP_OUTPUT_TIM2_IC4 LL_COMP_OUTPUT_TIM2_IC4_COMP2 /*!< COMP output connected to TIM2 input capture 4. Caution: Parameter specific to COMP instances, defined with generic naming, not taking into account COMP instance constraints. Refer to literal definitions above for COMP instance constraints. */
AnnaBridge 163:e59c8e839560 287 #define LL_COMP_OUTPUT_TIM15_IC2 LL_COMP_OUTPUT_TIM15_IC2_COMP4 /*!< COMP output connected to TIM15 input capture 1. Caution: Parameter specific to COMP instances, defined with generic naming, not taking into account COMP instance constraints. Refer to literal definitions above for COMP instance constraints. */
AnnaBridge 163:e59c8e839560 288 #define LL_COMP_OUTPUT_TIM15_OCCLR LL_COMP_OUTPUT_TIM15_OCCLR_COMP4 /*!< COMP output connected to TIM15 OCREF clear. Caution: Parameter specific to COMP instances, defined with generic naming, not taking into account COMP instance constraints. Refer to literal definitions above for COMP instance constraints. */
AnnaBridge 163:e59c8e839560 289 #define LL_COMP_OUTPUT_TIM16_IC1 LL_COMP_OUTPUT_TIM16_IC1_COMP6 /*!< COMP output connected to TIM16 input capture 1. Caution: Parameter specific to COMP instances, defined with generic naming, not taking into account COMP instance constraints. Refer to literal definitions above for COMP instance constraints. */
AnnaBridge 163:e59c8e839560 290 #define LL_COMP_OUTPUT_TIM16_OCCLR LL_COMP_OUTPUT_TIM16_OCCLR_COMP6 /*!< COMP output connected to TIM16 OCREF clear. Caution: Parameter specific to COMP instances, defined with generic naming, not taking into account COMP instance constraints. Refer to literal definitions above for COMP instance constraints. */
AnnaBridge 163:e59c8e839560 291 /* Note: Output redirection specific to COMP instances, defined with */
AnnaBridge 163:e59c8e839560 292 /* partially generic naming grouping COMP instance constraints. */
AnnaBridge 163:e59c8e839560 293 /* Refer to literal definitions above for COMP instance constraints. */
AnnaBridge 163:e59c8e839560 294 #define LL_COMP_OUTPUT_TIM2_OCCLR_COMP1_2_3 LL_COMP_OUTPUT_TIM2_OCCLR_COMP2 /*!< COMP output connected to TIM2 OCREF clear. Caution: Parameter specific to COMP instances, defined with generic naming, not taking into account COMP instance constraints. Refer to literal definitions above for COMP instance constraints. */
AnnaBridge 163:e59c8e839560 295
AnnaBridge 163:e59c8e839560 296 #elif defined(STM32F303x8) || defined(STM32F328xx) || defined(STM32F334x8)|| defined(STM32F302x8)
AnnaBridge 163:e59c8e839560 297 /* Note: Output redirection specific to COMP instance: COMP2, COMP4 */
AnnaBridge 163:e59c8e839560 298 #define LL_COMP_OUTPUT_TIM3_OCCLR_COMP2_4 (COMP_CSR_COMPxOUTSEL_3 | COMP_CSR_COMPxOUTSEL_1 | COMP_CSR_COMPxOUTSEL_0) /*!< COMP output connected to TIM3 OCREF clear (specific to COMP instance: COMP2, COMP4) */
AnnaBridge 163:e59c8e839560 299 /* Note: Output redirection specific to COMP instance: COMP2 */
AnnaBridge 163:e59c8e839560 300 #define LL_COMP_OUTPUT_TIM1_IC1_COMP2 (COMP_CSR_COMPxOUTSEL_2 | COMP_CSR_COMPxOUTSEL_1 | COMP_CSR_COMPxOUTSEL_0) /*!< COMP output connected to TIM1 input capture 1 (specific to COMP instance: COMP2) */
AnnaBridge 163:e59c8e839560 301 #define LL_COMP_OUTPUT_TIM2_IC4_COMP2 (COMP_CSR_COMPxOUTSEL_3) /*!< COMP output connected to TIM1 input capture 4 (specific to COMP instance: COMP2) */
AnnaBridge 163:e59c8e839560 302 #define LL_COMP_OUTPUT_TIM1_OCCLR_COMP2 (COMP_CSR_COMPxOUTSEL_2 | COMP_CSR_COMPxOUTSEL_1) /*!< COMP output connected to TIM1 OCREF clear (specific to COMP instance: COMP2) */
AnnaBridge 163:e59c8e839560 303 #define LL_COMP_OUTPUT_TIM2_OCCLR_COMP2 (COMP_CSR_COMPxOUTSEL_3 | COMP_CSR_COMPxOUTSEL_0) /*!< COMP output connected to TIM2 OCREF clear (specific to COMP instance: COMP2) */
AnnaBridge 163:e59c8e839560 304 #define LL_COMP_OUTPUT_TIM3_IC1_COMP2 (COMP_CSR_COMPxOUTSEL_3 | COMP_CSR_COMPxOUTSEL_1 | COMP_CSR_COMPxOUTSEL_0) /*!< COMP output connected to TIM3 input capture 1 (specific to COMP instance: COMP2) */
AnnaBridge 163:e59c8e839560 305 /* Note: Output redirection specific to COMP instance: COMP4 */
AnnaBridge 163:e59c8e839560 306 #define LL_COMP_OUTPUT_TIM3_IC3_COMP4 (COMP_CSR_COMPxOUTSEL_2 | COMP_CSR_COMPxOUTSEL_1) /*!< COMP output connected to TIM3 input capture 3 (specific to COMP instance: COMP4) */
AnnaBridge 163:e59c8e839560 307 #define LL_COMP_OUTPUT_TIM15_IC2_COMP4 (COMP_CSR_COMPxOUTSEL_3) /*!< COMP output connected to TIM15 input capture 1 (specific to COMP instance: COMP4) */
AnnaBridge 163:e59c8e839560 308 #define LL_COMP_OUTPUT_TIM15_OCCLR_COMP4 (COMP_CSR_COMPxOUTSEL_3 | COMP_CSR_COMPxOUTSEL_1) /*!< COMP output connected to TIM15 OCREF clear (specific to COMP instance: COMP4) */
AnnaBridge 163:e59c8e839560 309 /* Note: Output redirection specific to COMP instance: COMP6 */
AnnaBridge 163:e59c8e839560 310 #define LL_COMP_OUTPUT_TIM2_IC2_COMP6 (COMP_CSR_COMPxOUTSEL_2 | COMP_CSR_COMPxOUTSEL_1) /*!< COMP output connected to TIM2 input capture 2 (specific to COMP instance: COMP6) */
AnnaBridge 163:e59c8e839560 311 #define LL_COMP_OUTPUT_TIM2_OCCLR_COMP6 (COMP_CSR_COMPxOUTSEL_3) /*!< COMP output connected to TIM2 OCREF clear (specific to COMP instance: COMP6) */
AnnaBridge 163:e59c8e839560 312 #define LL_COMP_OUTPUT_TIM16_IC1_COMP6 (COMP_CSR_COMPxOUTSEL_3 | COMP_CSR_COMPxOUTSEL_1) /*!< COMP output connected to TIM16 input capture 1 (specific to COMP instance: COMP6) */
AnnaBridge 163:e59c8e839560 313 #define LL_COMP_OUTPUT_TIM16_OCCLR_COMP6 (COMP_CSR_COMPxOUTSEL_3 | COMP_CSR_COMPxOUTSEL_0) /*!< COMP output connected to TIM16 OCREF clear (specific to COMP instance: COMP6) */
AnnaBridge 163:e59c8e839560 314
AnnaBridge 163:e59c8e839560 315 /* Note: Output redirection specific to COMP instances, defined with */
AnnaBridge 163:e59c8e839560 316 /* generic naming not taking into account COMP instance constraints. */
AnnaBridge 163:e59c8e839560 317 /* Refer to literal definitions above for COMP instance constraints. */
AnnaBridge 163:e59c8e839560 318 /* Note: Some output redirections cannot have a generic naming, */
AnnaBridge 163:e59c8e839560 319 /* due to literal value different depending on COMP instance. */
AnnaBridge 163:e59c8e839560 320 /* (For exemple: LL_COMP_OUTPUT_TIM2_OCCLR_COMP2 and */
AnnaBridge 163:e59c8e839560 321 /* LL_COMP_OUTPUT_TIM2_OCCLR_COMP6). */
AnnaBridge 163:e59c8e839560 322 #define LL_COMP_OUTPUT_TIM1_IC1 LL_COMP_OUTPUT_TIM1_IC1_COMP2 /*!< COMP output connected to TIM1 input capture 1. Caution: Parameter specific to COMP instances, defined with generic naming, not taking into account COMP instance constraints. Refer to literal definitions above for COMP instance constraints. */
AnnaBridge 163:e59c8e839560 323 #define LL_COMP_OUTPUT_TIM1_OCCLR LL_COMP_OUTPUT_TIM1_OCCLR_COMP2 /*!< COMP output connected to TIM1 OCREF clear. Caution: Parameter specific to COMP instances, defined with generic naming, not taking into account COMP instance constraints. Refer to literal definitions above for COMP instance constraints. */
AnnaBridge 163:e59c8e839560 324 #define LL_COMP_OUTPUT_TIM2_IC2 LL_COMP_OUTPUT_TIM2_IC2_COMP6 /*!< COMP output connected to TIM2 input capture 2. Caution: Parameter specific to COMP instances, defined with generic naming, not taking into account COMP instance constraints. Refer to literal definitions above for COMP instance constraints. */
AnnaBridge 163:e59c8e839560 325 #define LL_COMP_OUTPUT_TIM2_IC4 LL_COMP_OUTPUT_TIM2_IC4_COMP2 /*!< COMP output connected to TIM2 input capture 4. Caution: Parameter specific to COMP instances, defined with generic naming, not taking into account COMP instance constraints. Refer to literal definitions above for COMP instance constraints. */
AnnaBridge 163:e59c8e839560 326 #define LL_COMP_OUTPUT_TIM3_IC1 LL_COMP_OUTPUT_TIM3_IC1_COMP2 /*!< COMP output connected to TIM3 input capture 1. Caution: Parameter specific to COMP instances, defined with generic naming, not taking into account COMP instance constraints. Refer to literal definitions above for COMP instance constraints. */
AnnaBridge 163:e59c8e839560 327 #define LL_COMP_OUTPUT_TIM3_IC3 LL_COMP_OUTPUT_TIM3_IC3_COMP4 /*!< COMP output connected to TIM3 input capture 3. Caution: Parameter specific to COMP instances, defined with generic naming, not taking into account COMP instance constraints. Refer to literal definitions above for COMP instance constraints. */
AnnaBridge 163:e59c8e839560 328 #define LL_COMP_OUTPUT_TIM3_OCCLR LL_COMP_OUTPUT_TIM3_OCCLR_COMP2_4 /*!< COMP output connected to TIM3 OCREF clear. Caution: Parameter specific to COMP instances, defined with generic naming, not taking into account COMP instance constraints. Refer to literal definitions above for COMP instance constraints. */
AnnaBridge 163:e59c8e839560 329 #define LL_COMP_OUTPUT_TIM15_IC2 LL_COMP_OUTPUT_TIM15_IC2_COMP4 /*!< COMP output connected to TIM15 input capture 1. Caution: Parameter specific to COMP instances, defined with generic naming, not taking into account COMP instance constraints. Refer to literal definitions above for COMP instance constraints. */
AnnaBridge 163:e59c8e839560 330 #define LL_COMP_OUTPUT_TIM15_OCCLR LL_COMP_OUTPUT_TIM15_OCCLR_COMP4 /*!< COMP output connected to TIM15 OCREF clear. Caution: Parameter specific to COMP instances, defined with generic naming, not taking into account COMP instance constraints. Refer to literal definitions above for COMP instance constraints. */
AnnaBridge 163:e59c8e839560 331 #define LL_COMP_OUTPUT_TIM16_IC1 LL_COMP_OUTPUT_TIM16_IC1_COMP6 /*!< COMP output connected to TIM16 input capture 1. Caution: Parameter specific to COMP instances, defined with generic naming, not taking into account COMP instance constraints. Refer to literal definitions above for COMP instance constraints. */
AnnaBridge 163:e59c8e839560 332 #define LL_COMP_OUTPUT_TIM16_OCCLR LL_COMP_OUTPUT_TIM16_OCCLR_COMP6 /*!< COMP output connected to TIM16 OCREF clear. Caution: Parameter specific to COMP instances, defined with generic naming, not taking into account COMP instance constraints. Refer to literal definitions above for COMP instance constraints. */
AnnaBridge 163:e59c8e839560 333 /* Note: Output redirection specific to COMP instances, defined with */
AnnaBridge 163:e59c8e839560 334 /* partially generic naming grouping COMP instance constraints. */
AnnaBridge 163:e59c8e839560 335 /* Refer to literal definitions above for COMP instance constraints. */
AnnaBridge 163:e59c8e839560 336 #define LL_COMP_OUTPUT_TIM2_OCCLR_COMP1_2_3 LL_COMP_OUTPUT_TIM2_OCCLR_COMP2 /*!< COMP output connected to TIM2 OCREF clear. Caution: Parameter specific to COMP instances, defined with generic naming, not taking into account COMP instance constraints. Refer to literal definitions above for COMP instance constraints. */
AnnaBridge 163:e59c8e839560 337
AnnaBridge 163:e59c8e839560 338 #elif defined(STM32F302xC) || defined(STM32F302xE)
AnnaBridge 163:e59c8e839560 339 /* Note: Output redirection specific to COMP instance: COMP1, COMP2, COMP4 */
AnnaBridge 163:e59c8e839560 340 #define LL_COMP_OUTPUT_TIM3_OCCLR_COMP1_2_4 (COMP_CSR_COMPxOUTSEL_3 | COMP_CSR_COMPxOUTSEL_1 | COMP_CSR_COMPxOUTSEL_0) /*!< COMP output connected to TIM3 OCREF clear (specific to COMP instance: COMP2, COMP4) */
AnnaBridge 163:e59c8e839560 341 /* Note: Output redirection specific to COMP instance: COMP1, COMP2 */
AnnaBridge 163:e59c8e839560 342 #define LL_COMP_OUTPUT_TIM1_IC1_COMP1_2 (COMP_CSR_COMPxOUTSEL_2 | COMP_CSR_COMPxOUTSEL_1 | COMP_CSR_COMPxOUTSEL_0) /*!< COMP output connected to TIM1 input capture 1 (specific to COMP instance: COMP2) */
AnnaBridge 163:e59c8e839560 343 #define LL_COMP_OUTPUT_TIM2_IC4_COMP1_2 (COMP_CSR_COMPxOUTSEL_3) /*!< COMP output connected to TIM2 input capture 4 (specific to COMP instance: COMP2) */
AnnaBridge 163:e59c8e839560 344 #define LL_COMP_OUTPUT_TIM1_OCCLR_COMP1_2 (COMP_CSR_COMPxOUTSEL_2 | COMP_CSR_COMPxOUTSEL_1) /*!< COMP output connected to TIM1 OCREF clear (specific to COMP instance: COMP2) */
AnnaBridge 163:e59c8e839560 345 #define LL_COMP_OUTPUT_TIM2_OCCLR_COMP1_2 (COMP_CSR_COMPxOUTSEL_3 | COMP_CSR_COMPxOUTSEL_0) /*!< COMP output connected to TIM2 OCREF clear (specific to COMP instance: COMP2) */
AnnaBridge 163:e59c8e839560 346 #define LL_COMP_OUTPUT_TIM3_IC1_COMP1_2 (COMP_CSR_COMPxOUTSEL_3 | COMP_CSR_COMPxOUTSEL_1 | COMP_CSR_COMPxOUTSEL_0) /*!< COMP output connected to TIM3 input capture 1 (specific to COMP instance: COMP2) */
AnnaBridge 163:e59c8e839560 347 /* Note: Output redirection specific to COMP instance: COMP4 */
AnnaBridge 163:e59c8e839560 348 #define LL_COMP_OUTPUT_TIM3_IC3_COMP4 (COMP_CSR_COMPxOUTSEL_2 | COMP_CSR_COMPxOUTSEL_1) /*!< COMP output connected to TIM3 input capture 3 (specific to COMP instance: COMP4) */
AnnaBridge 163:e59c8e839560 349 #define LL_COMP_OUTPUT_TIM4_IC2_COMP4 (COMP_CSR_COMPxOUTSEL_3 | COMP_CSR_COMPxOUTSEL_0) /*!< COMP output connected to TIM4 input capture 2 (specific to COMP instance: COMP4) */
AnnaBridge 163:e59c8e839560 350 #define LL_COMP_OUTPUT_TIM15_IC2_COMP4 (COMP_CSR_COMPxOUTSEL_3) /*!< COMP output connected to TIM15 input capture 1 (specific to COMP instance: COMP4) */
AnnaBridge 163:e59c8e839560 351 #define LL_COMP_OUTPUT_TIM15_OCCLR_COMP4 (COMP_CSR_COMPxOUTSEL_3 | COMP_CSR_COMPxOUTSEL_1) /*!< COMP output connected to TIM15 OCREF clear (specific to COMP instance: COMP4) */
AnnaBridge 163:e59c8e839560 352 /* Note: Output redirection specific to COMP instance: COMP6 */
AnnaBridge 163:e59c8e839560 353 #define LL_COMP_OUTPUT_TIM2_IC2_COMP6 (COMP_CSR_COMPxOUTSEL_2 | COMP_CSR_COMPxOUTSEL_1) /*!< COMP output connected to TIM2 input capture 2 (specific to COMP instance: COMP6) */
AnnaBridge 163:e59c8e839560 354 #define LL_COMP_OUTPUT_TIM2_OCCLR_COMP6 (COMP_CSR_COMPxOUTSEL_3) /*!< COMP output connected to TIM2 OCREF clear (specific to COMP instance: COMP6) */
AnnaBridge 163:e59c8e839560 355 #define LL_COMP_OUTPUT_TIM4_IC4_COMP6 (COMP_CSR_COMPxOUTSEL_3 | COMP_CSR_COMPxOUTSEL_1 | COMP_CSR_COMPxOUTSEL_0) /*!< COMP output connected to TIM4 input capture 4 (specific to COMP instance: COMP6) */
AnnaBridge 163:e59c8e839560 356 #define LL_COMP_OUTPUT_TIM16_IC1_COMP6 (COMP_CSR_COMPxOUTSEL_3 | COMP_CSR_COMPxOUTSEL_1) /*!< COMP output connected to TIM16 input capture 1 (specific to COMP instance: COMP6) */
AnnaBridge 163:e59c8e839560 357 #define LL_COMP_OUTPUT_TIM16_OCCLR_COMP6 (COMP_CSR_COMPxOUTSEL_3 | COMP_CSR_COMPxOUTSEL_1 | COMP_CSR_COMPxOUTSEL_0) /*!< COMP output connected to TIM16 OCREF clear (specific to COMP instance: COMP6) */
AnnaBridge 163:e59c8e839560 358
AnnaBridge 163:e59c8e839560 359 /* Note: Output redirection specific to COMP instances, defined with */
AnnaBridge 163:e59c8e839560 360 /* generic naming not taking into account COMP instance constraints. */
AnnaBridge 163:e59c8e839560 361 /* Refer to literal definitions above for COMP instance constraints. */
AnnaBridge 163:e59c8e839560 362 /* Note: Some output redirections cannot have a generic naming, */
AnnaBridge 163:e59c8e839560 363 /* due to literal value different depending on COMP instance. */
AnnaBridge 163:e59c8e839560 364 /* (For exemple: LL_COMP_OUTPUT_TIM2_OCCLR_COMP1_2 and */
AnnaBridge 163:e59c8e839560 365 /* LL_COMP_OUTPUT_TIM2_OCCLR_COMP6). */
AnnaBridge 163:e59c8e839560 366 #define LL_COMP_OUTPUT_TIM1_IC1 LL_COMP_OUTPUT_TIM1_IC1_COMP1_2 /*!< COMP output connected to TIM1 input capture 1. Caution: Parameter specific to COMP instances, defined with generic naming, not taking into account COMP instance constraints. Refer to literal definitions above for COMP instance constraints. */
AnnaBridge 163:e59c8e839560 367 #define LL_COMP_OUTPUT_TIM1_OCCLR LL_COMP_OUTPUT_TIM1_OCCLR_COMP1_2 /*!< COMP output connected to TIM1 OCREF clear. Caution: Parameter specific to COMP instances, defined with generic naming, not taking into account COMP instance constraints. Refer to literal definitions above for COMP instance constraints. */
AnnaBridge 163:e59c8e839560 368 #define LL_COMP_OUTPUT_TIM2_IC2 LL_COMP_OUTPUT_TIM2_IC2_COMP6 /*!< COMP output connected to TIM2 input capture 2. Caution: Parameter specific to COMP instances, defined with generic naming, not taking into account COMP instance constraints. Refer to literal definitions above for COMP instance constraints. */
AnnaBridge 163:e59c8e839560 369 #define LL_COMP_OUTPUT_TIM2_IC4 LL_COMP_OUTPUT_TIM2_IC4_COMP1_2 /*!< COMP output connected to TIM2 input capture 4. Caution: Parameter specific to COMP instances, defined with generic naming, not taking into account COMP instance constraints. Refer to literal definitions above for COMP instance constraints. */
AnnaBridge 163:e59c8e839560 370 #define LL_COMP_OUTPUT_TIM3_IC1 LL_COMP_OUTPUT_TIM3_IC1_COMP1_2 /*!< COMP output connected to TIM3 input capture 1. Caution: Parameter specific to COMP instances, defined with generic naming, not taking into account COMP instance constraints. Refer to literal definitions above for COMP instance constraints. */
AnnaBridge 163:e59c8e839560 371 #define LL_COMP_OUTPUT_TIM3_IC3 LL_COMP_OUTPUT_TIM3_IC3_COMP4 /*!< COMP output connected to TIM3 input capture 3. Caution: Parameter specific to COMP instances, defined with generic naming, not taking into account COMP instance constraints. Refer to literal definitions above for COMP instance constraints. */
AnnaBridge 163:e59c8e839560 372 #define LL_COMP_OUTPUT_TIM3_OCCLR LL_COMP_OUTPUT_TIM3_OCCLR_COMP1_2_4 /*!< COMP output connected to TIM3 OCREF clear. Caution: Parameter specific to COMP instances, defined with generic naming, not taking into account COMP instance constraints. Refer to literal definitions above for COMP instance constraints. */
AnnaBridge 163:e59c8e839560 373 #define LL_COMP_OUTPUT_TIM4_IC2 LL_COMP_OUTPUT_TIM4_IC2_COMP4 /*!< COMP output connected to TIM4 input capture 2. Caution: Parameter specific to COMP instances, defined with generic naming, not taking into account COMP instance constraints. Refer to literal definitions above for COMP instance constraints. */
AnnaBridge 163:e59c8e839560 374 #define LL_COMP_OUTPUT_TIM4_IC4 LL_COMP_OUTPUT_TIM4_IC4_COMP6 /*!< COMP output connected to TIM4 input capture 4. Caution: Parameter specific to COMP instances, defined with generic naming, not taking into account COMP instance constraints. Refer to literal definitions above for COMP instance constraints. */
AnnaBridge 163:e59c8e839560 375 #define LL_COMP_OUTPUT_TIM15_IC2 LL_COMP_OUTPUT_TIM15_IC2_COMP4 /*!< COMP output connected to TIM15 input capture 1. Caution: Parameter specific to COMP instances, defined with generic naming, not taking into account COMP instance constraints. Refer to literal definitions above for COMP instance constraints. */
AnnaBridge 163:e59c8e839560 376 #define LL_COMP_OUTPUT_TIM15_OCCLR LL_COMP_OUTPUT_TIM15_OCCLR_COMP4 /*!< COMP output connected to TIM15 OCREF clear. Caution: Parameter specific to COMP instances, defined with generic naming, not taking into account COMP instance constraints. Refer to literal definitions above for COMP instance constraints. */
AnnaBridge 163:e59c8e839560 377 #define LL_COMP_OUTPUT_TIM16_IC1 LL_COMP_OUTPUT_TIM16_IC1_COMP6 /*!< COMP output connected to TIM16 input capture 1. Caution: Parameter specific to COMP instances, defined with generic naming, not taking into account COMP instance constraints. Refer to literal definitions above for COMP instance constraints. */
AnnaBridge 163:e59c8e839560 378 #define LL_COMP_OUTPUT_TIM16_OCCLR LL_COMP_OUTPUT_TIM16_OCCLR_COMP6 /*!< COMP output connected to TIM16 OCREF clear. Caution: Parameter specific to COMP instances, defined with generic naming, not taking into account COMP instance constraints. Refer to literal definitions above for COMP instance constraints. */
AnnaBridge 163:e59c8e839560 379 /* Note: Output redirection specific to COMP instances, defined with */
AnnaBridge 163:e59c8e839560 380 /* partially generic naming grouping COMP instance constraints. */
AnnaBridge 163:e59c8e839560 381 /* Refer to literal definitions above for COMP instance constraints. */
AnnaBridge 163:e59c8e839560 382 #define LL_COMP_OUTPUT_TIM2_OCCLR_COMP1_2_3 LL_COMP_OUTPUT_TIM2_OCCLR_COMP1_2 /*!< COMP output connected to TIM2 OCREF clear. Caution: Parameter specific to COMP instances, defined with generic naming, not taking into account COMP instance constraints. Refer to literal definitions above for COMP instance constraints. */
AnnaBridge 163:e59c8e839560 383
AnnaBridge 163:e59c8e839560 384 #elif defined(STM32F303xC) || defined(STM32F358xx) || defined(STM32F303xE) || defined(STM32F398xx)
AnnaBridge 163:e59c8e839560 385 /* Note: Output redirection common to all COMP instances */
AnnaBridge 163:e59c8e839560 386 #define LL_COMP_OUTPUT_TIM8_BKIN (COMP_CSR_COMPxOUTSEL_1 | COMP_CSR_COMPxOUTSEL_0) /*!< COMP output connected to TIM8 break input (BKIN) */
AnnaBridge 163:e59c8e839560 387 #define LL_COMP_OUTPUT_TIM8_BKIN2 (COMP_CSR_COMPxOUTSEL_2) /*!< COMP output connected to TIM8 break input 2 (BKIN2) */
AnnaBridge 163:e59c8e839560 388 #define LL_COMP_OUTPUT_TIM1_TIM8_BKIN2 (COMP_CSR_COMPxOUTSEL_2| COMP_CSR_COMPxOUTSEL_0) /*!< COMP output connected to TIM1 break input 2 and TIM8 break input 2 (BKIN2) */
AnnaBridge 163:e59c8e839560 389 #if defined(STM32F303xE) || defined(STM32F398xx)
AnnaBridge 163:e59c8e839560 390 #define LL_COMP_OUTPUT_TIM20_BKIN (COMP_CSR_COMPxOUTSEL_3 | COMP_CSR_COMPxOUTSEL_2) /*!< COMP output connected to TIM8 break input (BKIN) */
AnnaBridge 163:e59c8e839560 391 #define LL_COMP_OUTPUT_TIM20_BKIN2 (COMP_CSR_COMPxOUTSEL_3 | COMP_CSR_COMPxOUTSEL_2 | COMP_CSR_COMPxOUTSEL_0) /*!< COMP output connected to TIM8 break input 2 (BKIN2) */
AnnaBridge 163:e59c8e839560 392 #define LL_COMP_OUTPUT_TIM1_TIM8_TIM20_BKIN2 (COMP_CSR_COMPxOUTSEL_3 | COMP_CSR_COMPxOUTSEL_2| COMP_CSR_COMPxOUTSEL_1) /*!< COMP output connected to TIM1 break input 2, TIM8 break input 2 and TIM20 break input 2 (BKIN2) */
AnnaBridge 163:e59c8e839560 393 #endif
AnnaBridge 163:e59c8e839560 394 /* Note: Output redirection specific to COMP instance: COMP1, COMP2, COMP3, COMP7 */
AnnaBridge 163:e59c8e839560 395 #define LL_COMP_OUTPUT_TIM1_OCCLR_COMP1_2_3_7 (COMP_CSR_COMPxOUTSEL_2 | COMP_CSR_COMPxOUTSEL_1) /*!< COMP output connected to TIM1 OCREF clear (specific to COMP instance: COMP1, COMP2, COMP3, COMP7) */
AnnaBridge 163:e59c8e839560 396 /* Note: Output redirection specific to COMP instance: COMP1, COMP2, COMP3 */
AnnaBridge 163:e59c8e839560 397 #define LL_COMP_OUTPUT_TIM2_OCCLR_COMP1_2_3 (COMP_CSR_COMPxOUTSEL_3 | COMP_CSR_COMPxOUTSEL_0) /*!< COMP output connected to TIM2 OCREF clear (specific to COMP instance: COMP1, COMP2, COMP3) */
AnnaBridge 163:e59c8e839560 398 /* Note: Output redirection specific to COMP instance: COMP1, COMP2, COMP4, COMP5 */
AnnaBridge 163:e59c8e839560 399 #define LL_COMP_OUTPUT_TIM3_OCCLR_COMP1_2_4_5 (COMP_CSR_COMPxOUTSEL_3 | COMP_CSR_COMPxOUTSEL_1 | COMP_CSR_COMPxOUTSEL_0) /*!< COMP output connected to TIM3 OCREF clear (specific to COMP instance: COMP1, COMP2, COMP4, COMP5) */
AnnaBridge 163:e59c8e839560 400 /* Note: Output redirection specific to COMP instance: COMP4, COMP5, COMP6, COMP7 */
AnnaBridge 163:e59c8e839560 401 #define LL_COMP_OUTPUT_TIM8_OCCLR_COMP4_5_6_7 (COMP_CSR_COMPxOUTSEL_2 | COMP_CSR_COMPxOUTSEL_1 | COMP_CSR_COMPxOUTSEL_0) /*!< COMP output connected to TIM8 OCREF clear (specific to COMP instance: COMP4, COMP5, COMP6, COMP7) */
AnnaBridge 163:e59c8e839560 402 /* Note: Output redirection specific to COMP instance: COMP1, COMP2 */
AnnaBridge 163:e59c8e839560 403 #define LL_COMP_OUTPUT_TIM1_IC1_COMP1_2 (COMP_CSR_COMPxOUTSEL_2 | COMP_CSR_COMPxOUTSEL_1 | COMP_CSR_COMPxOUTSEL_0) /*!< COMP output connected to TIM1 input capture 1 (specific to COMP instance: COMP2) */
AnnaBridge 163:e59c8e839560 404 #define LL_COMP_OUTPUT_TIM2_IC4_COMP1_2 (COMP_CSR_COMPxOUTSEL_3) /*!< COMP output connected to TIM2 input capture 4 (specific to COMP instance: COMP2) */
AnnaBridge 163:e59c8e839560 405 #define LL_COMP_OUTPUT_TIM3_IC1_COMP1_2 (COMP_CSR_COMPxOUTSEL_3 | COMP_CSR_COMPxOUTSEL_1 | COMP_CSR_COMPxOUTSEL_0) /*!< COMP output connected to TIM3 input capture 1 (specific to COMP instance: COMP2) */
AnnaBridge 163:e59c8e839560 406 #if defined(STM32F303xE) || defined(STM32F398xx)
AnnaBridge 163:e59c8e839560 407 #define LL_COMP_OUTPUT_TIM20_OCCLR_COMP2 (COMP_CSR_COMPxOUTSEL_3 | COMP_CSR_COMPxOUTSEL_2 | COMP_CSR_COMPxOUTSEL_1 | COMP_CSR_COMPxOUTSEL_0) /*!< COMP output connected to TIM20 OCREF clear (specific to COMP instance: COMP2) */
AnnaBridge 163:e59c8e839560 408 #endif
AnnaBridge 163:e59c8e839560 409 /* Note: Output redirection specific to COMP instance: COMP3 */
AnnaBridge 163:e59c8e839560 410 #define LL_COMP_OUTPUT_TIM3_IC2_COMP3 (COMP_CSR_COMPxOUTSEL_3) /*!< COMP output connected to TIM3 input capture 2 (specific to COMP instance: COMP3) */
AnnaBridge 163:e59c8e839560 411 #define LL_COMP_OUTPUT_TIM4_IC1_COMP3 (COMP_CSR_COMPxOUTSEL_2 | COMP_CSR_COMPxOUTSEL_1 | COMP_CSR_COMPxOUTSEL_0) /*!< COMP output connected to TIM4 input capture 1 (specific to COMP instance: COMP3) */
AnnaBridge 163:e59c8e839560 412 #define LL_COMP_OUTPUT_TIM15_IC1_COMP3 (COMP_CSR_COMPxOUTSEL_3 | COMP_CSR_COMPxOUTSEL_1) /*!< COMP output connected to TIM15 input capture 1 (specific to COMP instance: COMP3) */
AnnaBridge 163:e59c8e839560 413 #define LL_COMP_OUTPUT_TIM15_BKIN_COMP3 (COMP_CSR_COMPxOUTSEL_3 | COMP_CSR_COMPxOUTSEL_1 | COMP_CSR_COMPxOUTSEL_0) /*!< COMP output connected to TIM15 break input (BKIN) */
AnnaBridge 163:e59c8e839560 414 /* Note: Output redirection specific to COMP instance: COMP4 */
AnnaBridge 163:e59c8e839560 415 #define LL_COMP_OUTPUT_TIM3_IC3_COMP4 (COMP_CSR_COMPxOUTSEL_2 | COMP_CSR_COMPxOUTSEL_1) /*!< COMP output connected to TIM3 input capture 3 (specific to COMP instance: COMP4) */
AnnaBridge 163:e59c8e839560 416 #define LL_COMP_OUTPUT_TIM4_IC2_COMP4 (COMP_CSR_COMPxOUTSEL_3 | COMP_CSR_COMPxOUTSEL_0) /*!< COMP output connected to TIM4 input capture 2 (specific to COMP instance: COMP4) */
AnnaBridge 163:e59c8e839560 417 #define LL_COMP_OUTPUT_TIM15_IC2_COMP4 (COMP_CSR_COMPxOUTSEL_3) /*!< COMP output connected to TIM15 input capture 1 (specific to COMP instance: COMP4) */
AnnaBridge 163:e59c8e839560 418 #define LL_COMP_OUTPUT_TIM15_OCCLR_COMP4 (COMP_CSR_COMPxOUTSEL_3 | COMP_CSR_COMPxOUTSEL_1) /*!< COMP output connected to TIM15 OCREF clear (specific to COMP instance: COMP4) */
AnnaBridge 163:e59c8e839560 419 /* Note: Output redirection specific to COMP instance: COMP5 */
AnnaBridge 163:e59c8e839560 420 #define LL_COMP_OUTPUT_TIM2_IC1_COMP5 (COMP_CSR_COMPxOUTSEL_2 | COMP_CSR_COMPxOUTSEL_1) /*!< COMP output connected to TIM2 input capture 1 (specific to COMP instance: COMP5) */
AnnaBridge 163:e59c8e839560 421 #define LL_COMP_OUTPUT_TIM4_IC3_COMP5 (COMP_CSR_COMPxOUTSEL_3 | COMP_CSR_COMPxOUTSEL_0) /*!< COMP output connected to TIM4 input capture 3 (specific to COMP instance: COMP5) */
AnnaBridge 163:e59c8e839560 422 #define LL_COMP_OUTPUT_TIM17_IC1_COMP5 (COMP_CSR_COMPxOUTSEL_3) /*!< COMP output connected to TIM17 input capture 1 (specific to COMP instance: COMP5) */
AnnaBridge 163:e59c8e839560 423 #define LL_COMP_OUTPUT_TIM16_BKIN_COMP5 (COMP_CSR_COMPxOUTSEL_3 | COMP_CSR_COMPxOUTSEL_1) /*!< COMP output connected to TIM16 break input (BKIN) */
AnnaBridge 163:e59c8e839560 424 /* Note: Output redirection specific to COMP instance: COMP6 */
AnnaBridge 163:e59c8e839560 425 #define LL_COMP_OUTPUT_TIM2_IC2_COMP6 (COMP_CSR_COMPxOUTSEL_2 | COMP_CSR_COMPxOUTSEL_1) /*!< COMP output connected to TIM2 input capture 2 (specific to COMP instance: COMP6) */
AnnaBridge 163:e59c8e839560 426 #define LL_COMP_OUTPUT_TIM2_OCCLR_COMP6 (COMP_CSR_COMPxOUTSEL_3) /*!< COMP output connected to TIM2 OCREF clear (specific to COMP instance: COMP6) */
AnnaBridge 163:e59c8e839560 427 #define LL_COMP_OUTPUT_TIM4_IC4_COMP6 (COMP_CSR_COMPxOUTSEL_3 | COMP_CSR_COMPxOUTSEL_1 | COMP_CSR_COMPxOUTSEL_0) /*!< COMP output connected to TIM4 input capture 4 (specific to COMP instance: COMP6) */
AnnaBridge 163:e59c8e839560 428 #define LL_COMP_OUTPUT_TIM16_IC1_COMP6 (COMP_CSR_COMPxOUTSEL_3 | COMP_CSR_COMPxOUTSEL_1) /*!< COMP output connected to TIM16 input capture 1 (specific to COMP instance: COMP6) */
AnnaBridge 163:e59c8e839560 429 #define LL_COMP_OUTPUT_TIM16_OCCLR_COMP6 (COMP_CSR_COMPxOUTSEL_3 | COMP_CSR_COMPxOUTSEL_1 | COMP_CSR_COMPxOUTSEL_0) /*!< COMP output connected to TIM16 OCREF clear (specific to COMP instance: COMP6) */
AnnaBridge 163:e59c8e839560 430 /* Note: Output redirection specific to COMP instance: COMP7 */
AnnaBridge 163:e59c8e839560 431 #define LL_COMP_OUTPUT_TIM1_IC2_COMP7 (COMP_CSR_COMPxOUTSEL_3 | COMP_CSR_COMPxOUTSEL_0) /*!< COMP output connected to TIM2 input capture 1 (specific to COMP instance: COMP7) */
AnnaBridge 163:e59c8e839560 432 #define LL_COMP_OUTPUT_TIM2_IC3_COMP7 (COMP_CSR_COMPxOUTSEL_3) /*!< COMP output connected to TIM4 input capture 3 (specific to COMP instance: COMP7) */
AnnaBridge 163:e59c8e839560 433 #define LL_COMP_OUTPUT_TIM17_OCCLR_COMP7 (COMP_CSR_COMPxOUTSEL_3 | COMP_CSR_COMPxOUTSEL_1) /*!< COMP output connected to TIM17 OCREF clear (specific to COMP instance: COMP7) */
AnnaBridge 163:e59c8e839560 434 #define LL_COMP_OUTPUT_TIM17_BKIN_COMP7 (COMP_CSR_COMPxOUTSEL_3 | COMP_CSR_COMPxOUTSEL_1 | COMP_CSR_COMPxOUTSEL_0) /*!< COMP output connected to TIM17 break input (BKIN) */
AnnaBridge 163:e59c8e839560 435
AnnaBridge 163:e59c8e839560 436 /* Note: Output redirection specific to COMP instances, defined with */
AnnaBridge 163:e59c8e839560 437 /* generic naming not taking into account COMP instance constraints. */
AnnaBridge 163:e59c8e839560 438 /* Refer to literal definitions above for COMP instance constraints. */
AnnaBridge 163:e59c8e839560 439 /* Note: Some output redirections cannot have a generic naming, */
AnnaBridge 163:e59c8e839560 440 /* due to literal value different depending on COMP instance. */
AnnaBridge 163:e59c8e839560 441 /* (For exemple: LL_COMP_OUTPUT_TIM2_OCCLR_COMP1_2_3 and */
AnnaBridge 163:e59c8e839560 442 /* LL_COMP_OUTPUT_TIM2_OCCLR_COMP6). */
AnnaBridge 163:e59c8e839560 443 #define LL_COMP_OUTPUT_TIM1_IC1 LL_COMP_OUTPUT_TIM1_IC1_COMP1_2 /*!< COMP output connected to TIM1 input capture 1. Caution: Parameter specific to COMP instances, defined with generic naming, not taking into account COMP instance constraints. Refer to literal definitions above for COMP instance constraints. */
AnnaBridge 163:e59c8e839560 444 #define LL_COMP_OUTPUT_TIM1_IC2 LL_COMP_OUTPUT_TIM1_IC2_COMP7 /*!< COMP output connected to TIM2 input capture 1. Caution: Parameter specific to COMP instances, defined with generic naming, not taking into account COMP instance constraints. Refer to literal definitions above for COMP instance constraints. */
AnnaBridge 163:e59c8e839560 445 #define LL_COMP_OUTPUT_TIM1_OCCLR LL_COMP_OUTPUT_TIM1_OCCLR_COMP1_2_3_7 /*!< COMP output connected to TIM1 OCREF clear. Caution: Parameter specific to COMP instances, defined with generic naming, not taking into account COMP instance constraints. Refer to literal definitions above for COMP instance constraints. */
AnnaBridge 163:e59c8e839560 446 #define LL_COMP_OUTPUT_TIM2_IC1 LL_COMP_OUTPUT_TIM2_IC1_COMP5 /*!< COMP output connected to TIM2 input capture 1. Caution: Parameter specific to COMP instances, defined with generic naming, not taking into account COMP instance constraints. Refer to literal definitions above for COMP instance constraints. */
AnnaBridge 163:e59c8e839560 447 #define LL_COMP_OUTPUT_TIM2_IC2 LL_COMP_OUTPUT_TIM2_IC2_COMP6 /*!< COMP output connected to TIM2 input capture 2. Caution: Parameter specific to COMP instances, defined with generic naming, not taking into account COMP instance constraints. Refer to literal definitions above for COMP instance constraints. */
AnnaBridge 163:e59c8e839560 448 #define LL_COMP_OUTPUT_TIM2_IC3 LL_COMP_OUTPUT_TIM2_IC3_COMP7 /*!< COMP output connected to TIM4 input capture 3. Caution: Parameter specific to COMP instances, defined with generic naming, not taking into account COMP instance constraints. Refer to literal definitions above for COMP instance constraints. */
AnnaBridge 163:e59c8e839560 449 #define LL_COMP_OUTPUT_TIM2_IC4 LL_COMP_OUTPUT_TIM2_IC4_COMP1_2 /*!< COMP output connected to TIM2 input capture 4. Caution: Parameter specific to COMP instances, defined with generic naming, not taking into account COMP instance constraints. Refer to literal definitions above for COMP instance constraints. */
AnnaBridge 163:e59c8e839560 450 #define LL_COMP_OUTPUT_TIM3_IC1 LL_COMP_OUTPUT_TIM3_IC1_COMP1_2 /*!< COMP output connected to TIM3 input capture 1. Caution: Parameter specific to COMP instances, defined with generic naming, not taking into account COMP instance constraints. Refer to literal definitions above for COMP instance constraints. */
AnnaBridge 163:e59c8e839560 451 #define LL_COMP_OUTPUT_TIM3_IC2 LL_COMP_OUTPUT_TIM3_IC2_COMP3 /*!< COMP output connected to TIM3 input capture 2. Caution: Parameter specific to COMP instances, defined with generic naming, not taking into account COMP instance constraints. Refer to literal definitions above for COMP instance constraints. */
AnnaBridge 163:e59c8e839560 452 #define LL_COMP_OUTPUT_TIM3_IC3 LL_COMP_OUTPUT_TIM3_IC3_COMP4 /*!< COMP output connected to TIM3 input capture 3. Caution: Parameter specific to COMP instances, defined with generic naming, not taking into account COMP instance constraints. Refer to literal definitions above for COMP instance constraints. */
AnnaBridge 163:e59c8e839560 453 #define LL_COMP_OUTPUT_TIM3_OCCLR LL_COMP_OUTPUT_TIM3_OCCLR_COMP1_2_4_5 /*!< COMP output connected to TIM3 OCREF clear. Caution: Parameter specific to COMP instances, defined with generic naming, not taking into account COMP instance constraints. Refer to literal definitions above for COMP instance constraints. */
AnnaBridge 163:e59c8e839560 454 #define LL_COMP_OUTPUT_TIM4_IC1 LL_COMP_OUTPUT_TIM4_IC1_COMP3 /*!< COMP output connected to TIM4 input capture 1. Caution: Parameter specific to COMP instances, defined with generic naming, not taking into account COMP instance constraints. Refer to literal definitions above for COMP instance constraints. */
AnnaBridge 163:e59c8e839560 455 #define LL_COMP_OUTPUT_TIM4_IC2 LL_COMP_OUTPUT_TIM4_IC2_COMP4 /*!< COMP output connected to TIM4 input capture 2. Caution: Parameter specific to COMP instances, defined with generic naming, not taking into account COMP instance constraints. Refer to literal definitions above for COMP instance constraints. */
AnnaBridge 163:e59c8e839560 456 #define LL_COMP_OUTPUT_TIM4_IC3 LL_COMP_OUTPUT_TIM4_IC3_COMP5 /*!< COMP output connected to TIM4 input capture 3. Caution: Parameter specific to COMP instances, defined with generic naming, not taking into account COMP instance constraints. Refer to literal definitions above for COMP instance constraints. */
AnnaBridge 163:e59c8e839560 457 #define LL_COMP_OUTPUT_TIM4_IC4 LL_COMP_OUTPUT_TIM4_IC4_COMP6 /*!< COMP output connected to TIM4 input capture 4. Caution: Parameter specific to COMP instances, defined with generic naming, not taking into account COMP instance constraints. Refer to literal definitions above for COMP instance constraints. */
AnnaBridge 163:e59c8e839560 458 #define LL_COMP_OUTPUT_TIM8_OCCLR LL_COMP_OUTPUT_TIM8_OCCLR_COMP4_5_6_7 /*!< COMP output connected to TIM8 OCREF clear. Caution: Parameter specific to COMP instances, defined with generic naming, not taking into account COMP instance constraints. Refer to literal definitions above for COMP instance constraints. */
AnnaBridge 163:e59c8e839560 459 #define LL_COMP_OUTPUT_TIM15_IC1 LL_COMP_OUTPUT_TIM15_IC1_COMP3 /*!< COMP output connected to TIM15 input capture 1. Caution: Parameter specific to COMP instances, defined with generic naming, not taking into account COMP instance constraints. Refer to literal definitions above for COMP instance constraints. */
AnnaBridge 163:e59c8e839560 460 #define LL_COMP_OUTPUT_TIM15_IC2 LL_COMP_OUTPUT_TIM15_IC2_COMP4 /*!< COMP output connected to TIM15 input capture 1. Caution: Parameter specific to COMP instances, defined with generic naming, not taking into account COMP instance constraints. Refer to literal definitions above for COMP instance constraints. */
AnnaBridge 163:e59c8e839560 461 #define LL_COMP_OUTPUT_TIM15_BKIN LL_COMP_OUTPUT_TIM15_BKIN_COMP3 /*!< COMP output connected to TIM15 break input (BKIN). Caution: Parameter specific to COMP instances, defined with generic naming, not taking into account COMP instance constraints. Refer to literal definitions above for COMP instance constraints. */
AnnaBridge 163:e59c8e839560 462 #define LL_COMP_OUTPUT_TIM15_OCCLR LL_COMP_OUTPUT_TIM15_OCCLR_COMP4 /*!< COMP output connected to TIM15 OCREF clear. Caution: Parameter specific to COMP instances, defined with generic naming, not taking into account COMP instance constraints. Refer to literal definitions above for COMP instance constraints. */
AnnaBridge 163:e59c8e839560 463 #define LL_COMP_OUTPUT_TIM16_IC1 LL_COMP_OUTPUT_TIM16_IC1_COMP6 /*!< COMP output connected to TIM16 input capture 1. Caution: Parameter specific to COMP instances, defined with generic naming, not taking into account COMP instance constraints. Refer to literal definitions above for COMP instance constraints. */
AnnaBridge 163:e59c8e839560 464 #define LL_COMP_OUTPUT_TIM16_BKIN LL_COMP_OUTPUT_TIM16_BKIN_COMP5 /*!< COMP output connected to TIM16 break input (BKIN). Caution: Parameter specific to COMP instances, defined with generic naming, not taking into account COMP instance constraints. Refer to literal definitions above for COMP instance constraints. */
AnnaBridge 163:e59c8e839560 465 #define LL_COMP_OUTPUT_TIM16_OCCLR LL_COMP_OUTPUT_TIM16_OCCLR_COMP6 /*!< COMP output connected to TIM16 OCREF clear. Caution: Parameter specific to COMP instances, defined with generic naming, not taking into account COMP instance constraints. Refer to literal definitions above for COMP instance constraints. */
AnnaBridge 163:e59c8e839560 466 #define LL_COMP_OUTPUT_TIM17_IC1 LL_COMP_OUTPUT_TIM17_IC1_COMP5 /*!< COMP output connected to TIM17 input capture 1. Caution: Parameter specific to COMP instances, defined with generic naming, not taking into account COMP instance constraints. Refer to literal definitions above for COMP instance constraints. */
AnnaBridge 163:e59c8e839560 467 #define LL_COMP_OUTPUT_TIM17_BKIN LL_COMP_OUTPUT_TIM17_BKIN_COMP7 /*!< COMP output connected to TIM17 break input (BKIN). Caution: Parameter specific to COMP instances, defined with generic naming, not taking into account COMP instance constraints. Refer to literal definitions above for COMP instance constraints. */
AnnaBridge 163:e59c8e839560 468 #define LL_COMP_OUTPUT_TIM17_OCCLR LL_COMP_OUTPUT_TIM17_OCCLR_COMP7 /*!< COMP output connected to TIM17 OCREF clear. Caution: Parameter specific to COMP instances, defined with generic naming, not taking into account COMP instance constraints. Refer to literal definitions above for COMP instance constraints. */
AnnaBridge 163:e59c8e839560 469 #if defined(STM32F303xE) || defined(STM32F398xx)
AnnaBridge 163:e59c8e839560 470 #define LL_COMP_OUTPUT_TIM20_OCCLR LL_COMP_OUTPUT_TIM20_OCCLR_COMP2 /*!< COMP output connected to TIM20 OCREF clear. Caution: Parameter specific to COMP instances, defined with generic naming, not taking into account COMP instance constraints. Refer to literal definitions above for COMP instance constraints. */
AnnaBridge 163:e59c8e839560 471 #endif
AnnaBridge 163:e59c8e839560 472
AnnaBridge 163:e59c8e839560 473 #endif
AnnaBridge 163:e59c8e839560 474 #endif
AnnaBridge 163:e59c8e839560 475 /**
AnnaBridge 163:e59c8e839560 476 * @}
AnnaBridge 163:e59c8e839560 477 */
AnnaBridge 163:e59c8e839560 478
AnnaBridge 163:e59c8e839560 479 /** @defgroup COMP_LL_EC_OUTPUT_POLARITY Comparator output - Output polarity
AnnaBridge 163:e59c8e839560 480 * @{
AnnaBridge 163:e59c8e839560 481 */
AnnaBridge 163:e59c8e839560 482 #define LL_COMP_OUTPUTPOL_NONINVERTED ((uint32_t)0x00000000U) /*!< COMP output polarity is not inverted: comparator output is high when the plus (non-inverting) input is at a higher voltage than the minus (inverting) input */
AnnaBridge 163:e59c8e839560 483 #define LL_COMP_OUTPUTPOL_INVERTED (COMP_CSR_COMPxPOL) /*!< COMP output polarity is inverted: comparator output is low when the plus (non-inverting) input is at a lower voltage than the minus (inverting) input */
AnnaBridge 163:e59c8e839560 484 /**
AnnaBridge 163:e59c8e839560 485 * @}
AnnaBridge 163:e59c8e839560 486 */
AnnaBridge 163:e59c8e839560 487
AnnaBridge 163:e59c8e839560 488 /** @defgroup COMP_LL_EC_OUTPUT_BLANKING_SOURCE Comparator output - Blanking source
AnnaBridge 163:e59c8e839560 489 * @{
AnnaBridge 163:e59c8e839560 490 */
AnnaBridge 163:e59c8e839560 491 #define LL_COMP_BLANKINGSRC_NONE ((uint32_t)0x00000000U) /*!<Comparator output without blanking */
AnnaBridge 163:e59c8e839560 492 #if defined(COMP_CSR_COMPxBLANKING)
AnnaBridge 163:e59c8e839560 493 #if defined(STM32F301x8) || defined(STM32F302x8) || defined(STM32F318xx) || defined(STM32F303x8) || defined(STM32F334x8) || defined(STM32F328xx)
AnnaBridge 163:e59c8e839560 494 /* Note: Output blanking source specific to COMP instance: COMP2 */
AnnaBridge 163:e59c8e839560 495 #define LL_COMP_BLANKINGSRC_TIM1_OC5_COMP2 (COMP_CSR_COMPxBLANKING_0) /*!< Comparator output blanking source TIM1 OC5 (specific to COMP instance: COMP2) */
AnnaBridge 163:e59c8e839560 496 #define LL_COMP_BLANKINGSRC_TIM2_OC3_COMP2 (COMP_CSR_COMPxBLANKING_1) /*!< Comparator output blanking source TIM2 OC3 (specific to COMP instance: COMP2) */
AnnaBridge 163:e59c8e839560 497 #define LL_COMP_BLANKINGSRC_TIM3_OC3_COMP2 (COMP_CSR_COMPxBLANKING_1 | COMP_CSR_COMPxBLANKING_0) /*!< Comparator output blanking source TIM3 OC3 (specific to COMP instance: COMP2) */
AnnaBridge 163:e59c8e839560 498 /* Note: Output blanking source specific to COMP instance: COMP4 */
AnnaBridge 163:e59c8e839560 499 #define LL_COMP_BLANKINGSRC_TIM3_OC4_COMP4 (COMP_CSR_COMPxBLANKING_0) /*!< Comparator output blanking source TIM3 OC4 (specific to COMP instance: COMP4) */
AnnaBridge 163:e59c8e839560 500 #define LL_COMP_BLANKINGSRC_TIM15_OC1_COMP4 (COMP_CSR_COMPxBLANKING_0 | COMP_CSR_COMPxBLANKING_1) /*!< Comparator output blanking source TIM15 OC1 (specific to COMP instance: COMP4) */
AnnaBridge 163:e59c8e839560 501 /* Note: Output blanking source specific to COMP instance: COMP6 */
AnnaBridge 163:e59c8e839560 502 #define LL_COMP_BLANKINGSRC_TIM2_OC4_COMP6 (COMP_CSR_COMPxBLANKING_0 | COMP_CSR_COMPxBLANKING_1) /*!< Comparator output blanking source TIM2 OC4 (specific to COMP instance: COMP6) */
AnnaBridge 163:e59c8e839560 503 #define LL_COMP_BLANKINGSRC_TIM15_OC2_COMP6 (COMP_CSR_COMPxBLANKING_0) /*!< Comparator output blanking source TIM15 OC2 (specific to COMP instance: COMP6) */
AnnaBridge 163:e59c8e839560 504
AnnaBridge 163:e59c8e839560 505 /* Note: Output blanking source specific to COMP instances, defined with */
AnnaBridge 163:e59c8e839560 506 /* generic naming not taking into account COMP instance constraints. */
AnnaBridge 163:e59c8e839560 507 /* Refer to literal definitions above for COMP instance constraints. */
AnnaBridge 163:e59c8e839560 508 #define LL_COMP_BLANKINGSRC_TIM1_OC5 LL_COMP_BLANKINGSRC_TIM1_OC5_COMP2 /*!< Comparator output blanking source TIM1 OC5. Caution: Parameter specific to COMP instances, defined with generic naming, not taking into account COMP instance constraints. Refer to literal definitions above for COMP instance constraints. */
AnnaBridge 163:e59c8e839560 509 #define LL_COMP_BLANKINGSRC_TIM2_OC3 LL_COMP_BLANKINGSRC_TIM2_OC3_COMP2 /*!< Comparator output blanking source TIM2 OC3. Caution: Parameter specific to COMP instances, defined with generic naming, not taking into account COMP instance constraints. Refer to literal definitions above for COMP instance constraints. */
AnnaBridge 163:e59c8e839560 510 #define LL_COMP_BLANKINGSRC_TIM2_OC4 LL_COMP_BLANKINGSRC_TIM2_OC4_COMP6 /*!< Comparator output blanking source TIM2 OC4. Caution: Parameter specific to COMP instances, defined with generic naming, not taking into account COMP instance constraints. Refer to literal definitions above for COMP instance constraints. */
AnnaBridge 163:e59c8e839560 511 #define LL_COMP_BLANKINGSRC_TIM3_OC3 LL_COMP_BLANKINGSRC_TIM3_OC3_COMP2 /*!< Comparator output blanking source TIM3 OC3. Caution: Parameter specific to COMP instances, defined with generic naming, not taking into account COMP instance constraints. Refer to literal definitions above for COMP instance constraints. */
AnnaBridge 163:e59c8e839560 512 #define LL_COMP_BLANKINGSRC_TIM3_OC4 LL_COMP_BLANKINGSRC_TIM3_OC4_COMP4 /*!< Comparator output blanking source TIM3 OC4. Caution: Parameter specific to COMP instances, defined with generic naming, not taking into account COMP instance constraints. Refer to literal definitions above for COMP instance constraints. */
AnnaBridge 163:e59c8e839560 513 #define LL_COMP_BLANKINGSRC_TIM15_OC1 LL_COMP_BLANKINGSRC_TIM15_OC1_COMP4 /*!< Comparator output blanking source TIM15 OC1. Caution: Parameter specific to COMP instances, defined with generic naming, not taking into account COMP instance constraints. Refer to literal definitions above for COMP instance constraints. */
AnnaBridge 163:e59c8e839560 514 #define LL_COMP_BLANKINGSRC_TIM15_OC2 LL_COMP_BLANKINGSRC_TIM15_OC2_COMP6 /*!< Comparator output blanking source TIM15 OC2. Caution: Parameter specific to COMP instances, defined with generic naming, not taking into account COMP instance constraints. Refer to literal definitions above for COMP instance constraints. */
AnnaBridge 163:e59c8e839560 515
AnnaBridge 163:e59c8e839560 516 #elif defined(STM32F302xE) || defined(STM32F302xC)
AnnaBridge 163:e59c8e839560 517 /* Note: Output blanking source specific to COMP instance: COMP1, COMP2 */
AnnaBridge 163:e59c8e839560 518 #define LL_COMP_BLANKINGSRC_TIM1_OC5_COMP1_2 (COMP_CSR_COMPxBLANKING_0) /*!< Comparator output blanking source TIM1 OC5 (specific to COMP instance: COMP1, COMP2) */
AnnaBridge 163:e59c8e839560 519 #define LL_COMP_BLANKINGSRC_TIM2_OC3_COMP1_2 (COMP_CSR_COMPxBLANKING_1) /*!< Comparator output blanking source TIM2 OC3 (specific to COMP instance: COMP1, COMP2) */
AnnaBridge 163:e59c8e839560 520 #define LL_COMP_BLANKINGSRC_TIM3_OC3_COMP1_2 (COMP_CSR_COMPxBLANKING_1 | COMP_CSR_COMPxBLANKING_0) /*!< Comparator output blanking source TIM3 OC3 (specific to COMP instance: COMP1, COMP2) */
AnnaBridge 163:e59c8e839560 521 /* Note: Output blanking source specific to COMP instance: COMP4 */
AnnaBridge 163:e59c8e839560 522 #define LL_COMP_BLANKINGSRC_TIM3_OC4_COMP4 (COMP_CSR_COMPxBLANKING_0) /*!< Comparator output blanking source TIM3 OC4 (specific to COMP instance: COMP4) */
AnnaBridge 163:e59c8e839560 523 #define LL_COMP_BLANKINGSRC_TIM15_OC1_COMP4 (COMP_CSR_COMPxBLANKING_0 | COMP_CSR_COMPxBLANKING_1) /*!< Comparator output blanking source TIM15 OC1 (specific to COMP instance: COMP4) */
AnnaBridge 163:e59c8e839560 524 /* Note: Output blanking source specific to COMP instance: COMP6 */
AnnaBridge 163:e59c8e839560 525 #define LL_COMP_BLANKINGSRC_TIM2_OC4_COMP6 (COMP_CSR_COMPxBLANKING_0 | COMP_CSR_COMPxBLANKING_1) /*!< Comparator output blanking source TIM2 OC4 (specific to COMP instance: COMP6) */
AnnaBridge 163:e59c8e839560 526 #define LL_COMP_BLANKINGSRC_TIM15_OC2_COMP6 (COMP_CSR_COMPxBLANKING_0) /*!< Comparator output blanking source TIM15 OC2 (specific to COMP instance: COMP6) */
AnnaBridge 163:e59c8e839560 527
AnnaBridge 163:e59c8e839560 528 /* Note: Output blanking source specific to COMP instances, defined with */
AnnaBridge 163:e59c8e839560 529 /* generic naming not taking into account COMP instance constraints. */
AnnaBridge 163:e59c8e839560 530 /* Refer to literal definitions above for COMP instance constraints. */
AnnaBridge 163:e59c8e839560 531 #define LL_COMP_BLANKINGSRC_TIM1_OC5 LL_COMP_BLANKINGSRC_TIM1_OC5_COMP1_2 /*!< Comparator output blanking source TIM1 OC5. Caution: Parameter specific to COMP instances, defined with generic naming, not taking into account COMP instance constraints. Refer to literal definitions above for COMP instance constraints. */
AnnaBridge 163:e59c8e839560 532 #define LL_COMP_BLANKINGSRC_TIM2_OC3 LL_COMP_BLANKINGSRC_TIM2_OC3_COMP1_2 /*!< Comparator output blanking source TIM2 OC3. Caution: Parameter specific to COMP instances, defined with generic naming, not taking into account COMP instance constraints. Refer to literal definitions above for COMP instance constraints. */
AnnaBridge 163:e59c8e839560 533 #define LL_COMP_BLANKINGSRC_TIM2_OC4 LL_COMP_BLANKINGSRC_TIM2_OC4_COMP6 /*!< Comparator output blanking source TIM2 OC4. Caution: Parameter specific to COMP instances, defined with generic naming, not taking into account COMP instance constraints. Refer to literal definitions above for COMP instance constraints. */
AnnaBridge 163:e59c8e839560 534 #define LL_COMP_BLANKINGSRC_TIM3_OC3 LL_COMP_BLANKINGSRC_TIM3_OC3_COMP1_2 /*!< Comparator output blanking source TIM3 OC3. Caution: Parameter specific to COMP instances, defined with generic naming, not taking into account COMP instance constraints. Refer to literal definitions above for COMP instance constraints. */
AnnaBridge 163:e59c8e839560 535 #define LL_COMP_BLANKINGSRC_TIM3_OC4 LL_COMP_BLANKINGSRC_TIM3_OC4_COMP4 /*!< Comparator output blanking source TIM3 OC4. Caution: Parameter specific to COMP instances, defined with generic naming, not taking into account COMP instance constraints. Refer to literal definitions above for COMP instance constraints. */
AnnaBridge 163:e59c8e839560 536 #define LL_COMP_BLANKINGSRC_TIM15_OC1 LL_COMP_BLANKINGSRC_TIM15_OC1_COMP4 /*!< Comparator output blanking source TIM15 OC1. Caution: Parameter specific to COMP instances, defined with generic naming, not taking into account COMP instance constraints. Refer to literal definitions above for COMP instance constraints. */
AnnaBridge 163:e59c8e839560 537 #define LL_COMP_BLANKINGSRC_TIM15_OC2 LL_COMP_BLANKINGSRC_TIM15_OC2_COMP6 /*!< Comparator output blanking source TIM15 OC2. Caution: Parameter specific to COMP instances, defined with generic naming, not taking into account COMP instance constraints. Refer to literal definitions above for COMP instance constraints. */
AnnaBridge 163:e59c8e839560 538
AnnaBridge 163:e59c8e839560 539 #elif defined(STM32F303xE) || defined(STM32F398xx) || defined(STM32F303xC) || defined(STM32F358xx)
AnnaBridge 163:e59c8e839560 540 /* Note: Output blanking source specific to COMP instance: COMP1, COMP2, COMP7 */
AnnaBridge 163:e59c8e839560 541 #define LL_COMP_BLANKINGSRC_TIM1_OC5_COMP1_2_7 (COMP_CSR_COMPxBLANKING_0) /*!< Comparator output blanking source TIM1 OC5 (specific to COMP instance: COMP1, COMP2, COMP7) */
AnnaBridge 163:e59c8e839560 542 /* Note: Output blanking source specific to COMP instance: COMP1, COMP2 */
AnnaBridge 163:e59c8e839560 543 #define LL_COMP_BLANKINGSRC_TIM2_OC3_COMP1_2 (COMP_CSR_COMPxBLANKING_1) /*!< Comparator output blanking source TIM2 OC3 (specific to COMP instance: COMP1, COMP2) */
AnnaBridge 163:e59c8e839560 544 #define LL_COMP_BLANKINGSRC_TIM3_OC3_COMP1_2 (COMP_CSR_COMPxBLANKING_1 | COMP_CSR_COMPxBLANKING_0) /*!< Comparator output blanking source TIM3 OC3 (specific to COMP instance: COMP1, COMP2) */
AnnaBridge 163:e59c8e839560 545 /* Note: Output blanking source specific to COMP instance: COMP3, COMP6 */
AnnaBridge 163:e59c8e839560 546 #define LL_COMP_BLANKINGSRC_TIM2_OC4_COMP3_6 (COMP_CSR_COMPxBLANKING_1 | COMP_CSR_COMPxBLANKING_0) /*!< Comparator output blanking source TIM2 OC4 (specific to COMP instance: COMP3, COMP6) */
AnnaBridge 163:e59c8e839560 547 /* Note: Output blanking source specific to COMP instance: COMP4, COMP5, COMP6, COMP7 */
AnnaBridge 163:e59c8e839560 548 #define LL_COMP_BLANKINGSRC_TIM8_OC5_COMP4_5_6_7 (COMP_CSR_COMPxBLANKING_1) /*!< Comparator output blanking source TIM8 OC5 (specific to COMP instance: COMP4, COMP5, COMP6, COMP7) */
AnnaBridge 163:e59c8e839560 549 /* Note: Output blanling source specific to COMP instance: COMP6, COMP7 */
AnnaBridge 163:e59c8e839560 550 #define LL_COMP_BLANKINGSRC_TIM15_OC2_COMP6_7 (COMP_CSR_COMPxBLANKING_2) /*!< Comparator output blanking source TIM15 OC2 (specific to COMP instance: COMP6, COMP7) */
AnnaBridge 163:e59c8e839560 551 /* Note: Output blanking source specific to COMP instance: COMP4 */
AnnaBridge 163:e59c8e839560 552 #define LL_COMP_BLANKINGSRC_TIM3_OC4_COMP4 (COMP_CSR_COMPxBLANKING_0) /*!< Comparator output blanking source TIM3 OC4 (specific to COMP instance: COMP4) */
AnnaBridge 163:e59c8e839560 553 #define LL_COMP_BLANKINGSRC_TIM15_OC1_COMP4 (COMP_CSR_COMPxBLANKING_1 | COMP_CSR_COMPxBLANKING_0) /*!< Comparator output blanking source TIM15 OC1 (specific to COMP instance: COMP4) */
AnnaBridge 163:e59c8e839560 554
AnnaBridge 163:e59c8e839560 555 /* Note: Output blanking source specific to COMP instances, defined with */
AnnaBridge 163:e59c8e839560 556 /* generic naming not taking into account COMP instance constraints. */
AnnaBridge 163:e59c8e839560 557 /* Refer to literal definitions above for COMP instance constraints. */
AnnaBridge 163:e59c8e839560 558 #define LL_COMP_BLANKINGSRC_TIM1_OC5 LL_COMP_BLANKINGSRC_TIM1_OC5_COMP1_2_7 /*!< Comparator output blanking source TIM1 OC5. Caution: Parameter specific to COMP instances, defined with generic naming, not taking into account COMP instance constraints. Refer to literal definitions above for COMP instance constraints. */
AnnaBridge 163:e59c8e839560 559 #define LL_COMP_BLANKINGSRC_TIM2_OC3 LL_COMP_BLANKINGSRC_TIM2_OC3_COMP1_2 /*!< Comparator output blanking source TIM2 OC3. Caution: Parameter specific to COMP instances, defined with generic naming, not taking into account COMP instance constraints. Refer to literal definitions above for COMP instance constraints. */
AnnaBridge 163:e59c8e839560 560 #define LL_COMP_BLANKINGSRC_TIM2_OC4 LL_COMP_BLANKINGSRC_TIM2_OC4_COMP3_6 /*!< Comparator output blanking source TIM2 OC4. Caution: Parameter specific to COMP instances, defined with generic naming, not taking into account COMP instance constraints. Refer to literal definitions above for COMP instance constraints. */
AnnaBridge 163:e59c8e839560 561 #define LL_COMP_BLANKINGSRC_TIM3_OC3 LL_COMP_BLANKINGSRC_TIM3_OC3_COMP1_2 /*!< Comparator output blanking source TIM3 OC3. Caution: Parameter specific to COMP instances, defined with generic naming, not taking into account COMP instance constraints. Refer to literal definitions above for COMP instance constraints. */
AnnaBridge 163:e59c8e839560 562 #define LL_COMP_BLANKINGSRC_TIM3_OC4 LL_COMP_BLANKINGSRC_TIM3_OC4_COMP4 /*!< Comparator output blanking source TIM3 OC4. Caution: Parameter specific to COMP instances, defined with generic naming, not taking into account COMP instance constraints. Refer to literal definitions above for COMP instance constraints. */
AnnaBridge 163:e59c8e839560 563 #define LL_COMP_BLANKINGSRC_TIM8_OC5 LL_COMP_BLANKINGSRC_TIM8_OC5_COMP4_5_6_7 /*!< Comparator output blanking source TIM8 OC5. Caution: Parameter specific to COMP instances, defined with generic naming, not taking into account COMP instance constraints. Refer to literal definitions above for COMP instance constraints. */
AnnaBridge 163:e59c8e839560 564 #define LL_COMP_BLANKINGSRC_TIM15_OC1 LL_COMP_BLANKINGSRC_TIM15_OC1_COMP4 /*!< Comparator output blanking source TIM15 OC1. Caution: Parameter specific to COMP instances, defined with generic naming, not taking into account COMP instance constraints. Refer to literal definitions above for COMP instance constraints. */
AnnaBridge 163:e59c8e839560 565 #define LL_COMP_BLANKINGSRC_TIM15_OC2 LL_COMP_BLANKINGSRC_TIM15_OC2_COMP6_7 /*!< Comparator output blanking source TIM15 OC2. Caution: Parameter specific to COMP instances, defined with generic naming, not taking into account COMP instance constraints. Refer to literal definitions above for COMP instance constraints. */
AnnaBridge 163:e59c8e839560 566
AnnaBridge 163:e59c8e839560 567 #endif
AnnaBridge 163:e59c8e839560 568 #endif
AnnaBridge 163:e59c8e839560 569 /**
AnnaBridge 163:e59c8e839560 570 * @}
AnnaBridge 163:e59c8e839560 571 */
AnnaBridge 163:e59c8e839560 572
AnnaBridge 163:e59c8e839560 573 /** @defgroup COMP_LL_EC_OUTPUT_LEVEL Comparator output - Output level
AnnaBridge 163:e59c8e839560 574 * @{
AnnaBridge 163:e59c8e839560 575 */
AnnaBridge 163:e59c8e839560 576 #define LL_COMP_OUTPUT_LEVEL_LOW ((uint32_t)0x00000000U) /*!< Comparator output level low (if the polarity is not inverted, otherwise to be complemented) */
AnnaBridge 163:e59c8e839560 577 #define LL_COMP_OUTPUT_LEVEL_HIGH ((uint32_t)0x00000001U) /*!< Comparator output level high (if the polarity is not inverted, otherwise to be complemented) */
AnnaBridge 163:e59c8e839560 578 /**
AnnaBridge 163:e59c8e839560 579 * @}
AnnaBridge 163:e59c8e839560 580 */
AnnaBridge 163:e59c8e839560 581
AnnaBridge 163:e59c8e839560 582 /** @defgroup COMP_LL_EC_HW_DELAYS Definitions of COMP hardware constraints delays
AnnaBridge 163:e59c8e839560 583 * @note Only COMP IP HW delays are defined in COMP LL driver driver,
AnnaBridge 163:e59c8e839560 584 * not timeout values.
AnnaBridge 163:e59c8e839560 585 * For details on delays values, refer to descriptions in source code
AnnaBridge 163:e59c8e839560 586 * above each literal definition.
AnnaBridge 163:e59c8e839560 587 * @{
AnnaBridge 163:e59c8e839560 588 */
AnnaBridge 163:e59c8e839560 589
AnnaBridge 163:e59c8e839560 590 /* Delay for comparator startup time. */
AnnaBridge 163:e59c8e839560 591 /* Note: Delay required to reach propagation delay specification. */
AnnaBridge 163:e59c8e839560 592 /* Literal set to maximum value (refer to device datasheet, */
AnnaBridge 163:e59c8e839560 593 /* parameter "tSTART"). */
AnnaBridge 163:e59c8e839560 594 /* Unit: us */
AnnaBridge 163:e59c8e839560 595 #if defined(STM32F302xC) || defined(STM32F303xC) || defined(STM32F358xx)
AnnaBridge 163:e59c8e839560 596 #define LL_COMP_DELAY_STARTUP_US ((uint32_t) 60U) /*!< Delay for COMP startup time */
AnnaBridge 163:e59c8e839560 597 #else
AnnaBridge 163:e59c8e839560 598 #define LL_COMP_DELAY_STARTUP_US ((uint32_t) 10U) /*!< Delay for COMP startup time */
AnnaBridge 163:e59c8e839560 599 #endif
AnnaBridge 163:e59c8e839560 600
AnnaBridge 163:e59c8e839560 601 /* Delay for comparator voltage scaler stabilization time. */
AnnaBridge 163:e59c8e839560 602 /* Note: Voltage scaler is used when selecting comparator input */
AnnaBridge 163:e59c8e839560 603 /* based on VrefInt: VrefInt or subdivision of VrefInt. */
AnnaBridge 163:e59c8e839560 604 /* Literal set to maximum value (refer to device datasheet, */
AnnaBridge 163:e59c8e839560 605 /* parameter "tS_SC"). */
AnnaBridge 163:e59c8e839560 606 /* Unit: us */
AnnaBridge 163:e59c8e839560 607 #define LL_COMP_DELAY_VOLTAGE_SCALER_STAB_US ((uint32_t) 200U) /*!< Delay for COMP voltage scaler stabilization time */
AnnaBridge 163:e59c8e839560 608
AnnaBridge 163:e59c8e839560 609 /**
AnnaBridge 163:e59c8e839560 610 * @}
AnnaBridge 163:e59c8e839560 611 */
AnnaBridge 163:e59c8e839560 612
AnnaBridge 163:e59c8e839560 613 /**
AnnaBridge 163:e59c8e839560 614 * @}
AnnaBridge 163:e59c8e839560 615 */
AnnaBridge 163:e59c8e839560 616
AnnaBridge 163:e59c8e839560 617 /* Exported macro ------------------------------------------------------------*/
AnnaBridge 163:e59c8e839560 618 /** @defgroup COMP_LL_Exported_Macros COMP Exported Macros
AnnaBridge 163:e59c8e839560 619 * @{
AnnaBridge 163:e59c8e839560 620 */
AnnaBridge 163:e59c8e839560 621 /** @defgroup COMP_LL_EM_WRITE_READ Common write and read registers macro
AnnaBridge 163:e59c8e839560 622 * @{
AnnaBridge 163:e59c8e839560 623 */
AnnaBridge 163:e59c8e839560 624
AnnaBridge 163:e59c8e839560 625 /**
AnnaBridge 163:e59c8e839560 626 * @brief Write a value in COMP register
AnnaBridge 163:e59c8e839560 627 * @param __INSTANCE__ comparator instance
AnnaBridge 163:e59c8e839560 628 * @param __REG__ Register to be written
AnnaBridge 163:e59c8e839560 629 * @param __VALUE__ Value to be written in the register
AnnaBridge 163:e59c8e839560 630 * @retval None
AnnaBridge 163:e59c8e839560 631 */
AnnaBridge 163:e59c8e839560 632 #define LL_COMP_WriteReg(__INSTANCE__, __REG__, __VALUE__) WRITE_REG(__INSTANCE__->__REG__, (__VALUE__))
AnnaBridge 163:e59c8e839560 633
AnnaBridge 163:e59c8e839560 634 /**
AnnaBridge 163:e59c8e839560 635 * @brief Read a value in COMP register
AnnaBridge 163:e59c8e839560 636 * @param __INSTANCE__ comparator instance
AnnaBridge 163:e59c8e839560 637 * @param __REG__ Register to be read
AnnaBridge 163:e59c8e839560 638 * @retval Register value
AnnaBridge 163:e59c8e839560 639 */
AnnaBridge 163:e59c8e839560 640 #define LL_COMP_ReadReg(__INSTANCE__, __REG__) READ_REG(__INSTANCE__->__REG__)
AnnaBridge 163:e59c8e839560 641 /**
AnnaBridge 163:e59c8e839560 642 * @}
AnnaBridge 163:e59c8e839560 643 */
AnnaBridge 163:e59c8e839560 644
AnnaBridge 163:e59c8e839560 645 /** @defgroup COMP_LL_EM_HELPER_MACRO COMP helper macro
AnnaBridge 163:e59c8e839560 646 * @{
AnnaBridge 163:e59c8e839560 647 */
AnnaBridge 163:e59c8e839560 648
AnnaBridge 163:e59c8e839560 649 /**
AnnaBridge 163:e59c8e839560 650 * @brief Helper macro to select the COMP common instance
AnnaBridge 163:e59c8e839560 651 * to which is belonging the selected COMP instance.
AnnaBridge 163:e59c8e839560 652 * @note COMP common register instance can be used to
AnnaBridge 163:e59c8e839560 653 * set parameters common to several COMP instances.
AnnaBridge 163:e59c8e839560 654 * Refer to functions having argument "COMPxy_COMMON" as parameter.
AnnaBridge 163:e59c8e839560 655 * @param __COMPx__ COMP instance
AnnaBridge 163:e59c8e839560 656 * @retval COMP common instance or value "0" if there is no COMP common instance.
AnnaBridge 163:e59c8e839560 657 */
AnnaBridge 163:e59c8e839560 658 #if defined(COMP1) && defined(COMP2) && defined(COMP3) && defined(COMP4) && defined(COMP5) && defined(COMP6) && defined(COMP7)
AnnaBridge 163:e59c8e839560 659 /* Note: On STM32F3 serie devices with 7 comparator instances, */
AnnaBridge 163:e59c8e839560 660 /* COMP instance COMP7 has no other comparator instance to work */
AnnaBridge 163:e59c8e839560 661 /* in pair with: window mode is not available for COMP7. */
AnnaBridge 163:e59c8e839560 662 #define __LL_COMP_COMMON_INSTANCE(__COMPx__) \
AnnaBridge 163:e59c8e839560 663 ((((__COMPx__) == COMP1) || ((__COMPx__) == COMP2)) \
AnnaBridge 163:e59c8e839560 664 ? ( \
AnnaBridge 163:e59c8e839560 665 (COMP12_COMMON) \
AnnaBridge 163:e59c8e839560 666 ) \
AnnaBridge 163:e59c8e839560 667 : \
AnnaBridge 163:e59c8e839560 668 ((((__COMPx__) == COMP3) || ((__COMPx__) == COMP4)) \
AnnaBridge 163:e59c8e839560 669 ? ( \
AnnaBridge 163:e59c8e839560 670 (COMP34_COMMON) \
AnnaBridge 163:e59c8e839560 671 ) \
AnnaBridge 163:e59c8e839560 672 : \
AnnaBridge 163:e59c8e839560 673 ((((__COMPx__) == COMP5) || ((__COMPx__) == COMP6)) \
AnnaBridge 163:e59c8e839560 674 ? ( \
AnnaBridge 163:e59c8e839560 675 (COMP56_COMMON) \
AnnaBridge 163:e59c8e839560 676 ) \
AnnaBridge 163:e59c8e839560 677 : \
AnnaBridge 163:e59c8e839560 678 ( \
AnnaBridge 163:e59c8e839560 679 ((uint32_t)0U) \
AnnaBridge 163:e59c8e839560 680 ) \
AnnaBridge 163:e59c8e839560 681 ) \
AnnaBridge 163:e59c8e839560 682 ) \
AnnaBridge 163:e59c8e839560 683 )
AnnaBridge 163:e59c8e839560 684 #elif defined(COMP1) && defined(COMP2) && defined(COMP4) && defined(COMP6)
AnnaBridge 163:e59c8e839560 685 #define __LL_COMP_COMMON_INSTANCE(__COMPx__) \
AnnaBridge 163:e59c8e839560 686 ((((__COMPx__) == COMP1) || ((__COMPx__) == COMP2)) \
AnnaBridge 163:e59c8e839560 687 ? ( \
AnnaBridge 163:e59c8e839560 688 (COMP12_COMMON) \
AnnaBridge 163:e59c8e839560 689 ) \
AnnaBridge 163:e59c8e839560 690 : \
AnnaBridge 163:e59c8e839560 691 ( \
AnnaBridge 163:e59c8e839560 692 ((uint32_t)0U) \
AnnaBridge 163:e59c8e839560 693 ) \
AnnaBridge 163:e59c8e839560 694 )
AnnaBridge 163:e59c8e839560 695 #elif defined(COMP2) && defined(COMP4) && defined(COMP6)
AnnaBridge 163:e59c8e839560 696 /* Note: On STM32F3 serie devices with 3 comparator instances (COMP2, 4, 6) */
AnnaBridge 163:e59c8e839560 697 /* COMP instances have no other comparator instance to work */
AnnaBridge 163:e59c8e839560 698 /* in pair with: window mode is not available for all COMP instances. */
AnnaBridge 163:e59c8e839560 699 #define __LL_COMP_COMMON_INSTANCE(__COMPx__) \
AnnaBridge 163:e59c8e839560 700 ((uint32_t)0U)
AnnaBridge 163:e59c8e839560 701 #endif
AnnaBridge 163:e59c8e839560 702
AnnaBridge 163:e59c8e839560 703 /**
AnnaBridge 163:e59c8e839560 704 * @}
AnnaBridge 163:e59c8e839560 705 */
AnnaBridge 163:e59c8e839560 706
AnnaBridge 163:e59c8e839560 707 /**
AnnaBridge 163:e59c8e839560 708 * @}
AnnaBridge 163:e59c8e839560 709 */
AnnaBridge 163:e59c8e839560 710
AnnaBridge 163:e59c8e839560 711 /* Exported functions --------------------------------------------------------*/
AnnaBridge 163:e59c8e839560 712 /** @defgroup COMP_LL_Exported_Functions COMP Exported Functions
AnnaBridge 163:e59c8e839560 713 * @{
AnnaBridge 163:e59c8e839560 714 */
AnnaBridge 163:e59c8e839560 715
AnnaBridge 163:e59c8e839560 716 /** @defgroup COMP_LL_EF_Configuration_comparator_common Configuration of COMP hierarchical scope: common to several COMP instances
AnnaBridge 163:e59c8e839560 717 * @{
AnnaBridge 163:e59c8e839560 718 */
AnnaBridge 163:e59c8e839560 719
AnnaBridge 163:e59c8e839560 720 /**
AnnaBridge 163:e59c8e839560 721 * @brief Set window mode of a pair of comparators instances
AnnaBridge 163:e59c8e839560 722 * (2 consecutive COMP instances odd and even COMP<x> and COMP<x+1>).
AnnaBridge 163:e59c8e839560 723 * @rmtoll CSR COMPxWNDWEN LL_COMP_SetCommonWindowMode
AnnaBridge 163:e59c8e839560 724 * @param COMPxy_COMMON Comparator common instance
AnnaBridge 163:e59c8e839560 725 * (can be set directly from CMSIS definition or by using helper macro @ref __LL_COMP_COMMON_INSTANCE() )
AnnaBridge 163:e59c8e839560 726 * @param WindowMode This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 727 * @arg @ref LL_COMP_WINDOWMODE_DISABLE
AnnaBridge 163:e59c8e839560 728 * @arg @ref LL_COMP_WINDOWMODE_COMP1_INPUT_PLUS_COMMON (1)
AnnaBridge 163:e59c8e839560 729 * @arg @ref LL_COMP_WINDOWMODE_COMP3_INPUT_PLUS_COMMON (2)
AnnaBridge 163:e59c8e839560 730 * @arg @ref LL_COMP_WINDOWMODE_COMP5_INPUT_PLUS_COMMON (2)
AnnaBridge 163:e59c8e839560 731 *
AnnaBridge 163:e59c8e839560 732 * (1) Parameter available on devices: STM32F302xB/C, STM32F303xB/C, STM32F358xC
AnnaBridge 163:e59c8e839560 733 * (2) Parameter available on devices: STM32F303xB/C, STM32F358xC
AnnaBridge 163:e59c8e839560 734 * @retval None
AnnaBridge 163:e59c8e839560 735 */
AnnaBridge 163:e59c8e839560 736 __STATIC_INLINE void LL_COMP_SetCommonWindowMode(COMP_Common_TypeDef *COMPxy_COMMON, uint32_t WindowMode)
AnnaBridge 163:e59c8e839560 737 {
AnnaBridge 163:e59c8e839560 738 #if defined(COMP_CSR_COMPxWNDWEN)
AnnaBridge 163:e59c8e839560 739 MODIFY_REG(COMPxy_COMMON->CSR, COMP_CSR_COMPxWNDWEN, WindowMode);
AnnaBridge 163:e59c8e839560 740 #else
AnnaBridge 163:e59c8e839560 741 /* Device without pair of comparator working in window mode */
AnnaBridge 163:e59c8e839560 742 /* No update of comparator register (corresponds to setting */
AnnaBridge 163:e59c8e839560 743 /* "LL_COMP_WINDOWMODE_DISABLE"). */
AnnaBridge 163:e59c8e839560 744 #endif
AnnaBridge 163:e59c8e839560 745 }
AnnaBridge 163:e59c8e839560 746
AnnaBridge 163:e59c8e839560 747 /**
AnnaBridge 163:e59c8e839560 748 * @brief Get window mode of a pair of comparators instances
AnnaBridge 163:e59c8e839560 749 * (2 consecutive COMP instances odd and even COMP<x> and COMP<x+1>).
AnnaBridge 163:e59c8e839560 750 * @rmtoll CSR COMPxWNDWEN LL_COMP_GetCommonWindowMode
AnnaBridge 163:e59c8e839560 751 * @param COMPxy_COMMON Comparator common instance
AnnaBridge 163:e59c8e839560 752 * (can be set directly from CMSIS definition or by using helper macro @ref __LL_COMP_COMMON_INSTANCE() )
AnnaBridge 163:e59c8e839560 753 * @retval Returned value can be one of the following values:
AnnaBridge 163:e59c8e839560 754 * @arg @ref LL_COMP_WINDOWMODE_DISABLE
AnnaBridge 163:e59c8e839560 755 * @arg @ref LL_COMP_WINDOWMODE_COMP1_INPUT_PLUS_COMMON (1)
AnnaBridge 163:e59c8e839560 756 * @arg @ref LL_COMP_WINDOWMODE_COMP3_INPUT_PLUS_COMMON (2)
AnnaBridge 163:e59c8e839560 757 * @arg @ref LL_COMP_WINDOWMODE_COMP5_INPUT_PLUS_COMMON (2)
AnnaBridge 163:e59c8e839560 758 *
AnnaBridge 163:e59c8e839560 759 * (1) Parameter available on devices: STM32F302xB/C, STM32F303xB/C, STM32F358xC
AnnaBridge 163:e59c8e839560 760 * (2) Parameter available on devices: STM32F303xB/C, STM32F358xC
AnnaBridge 163:e59c8e839560 761 */
AnnaBridge 163:e59c8e839560 762 __STATIC_INLINE uint32_t LL_COMP_GetCommonWindowMode(COMP_Common_TypeDef *COMPxy_COMMON)
AnnaBridge 163:e59c8e839560 763 {
AnnaBridge 163:e59c8e839560 764 #if defined(COMP_CSR_COMPxWNDWEN)
AnnaBridge 163:e59c8e839560 765 return (uint32_t)(READ_BIT(COMPxy_COMMON->CSR, COMP_CSR_COMPxWNDWEN));
AnnaBridge 163:e59c8e839560 766 #else
AnnaBridge 163:e59c8e839560 767 /* Device without pair of comparator working in window mode */
AnnaBridge 163:e59c8e839560 768 return (LL_COMP_WINDOWMODE_DISABLE);
AnnaBridge 163:e59c8e839560 769 #endif
AnnaBridge 163:e59c8e839560 770 }
AnnaBridge 163:e59c8e839560 771
AnnaBridge 163:e59c8e839560 772 /**
AnnaBridge 163:e59c8e839560 773 * @}
AnnaBridge 163:e59c8e839560 774 */
AnnaBridge 163:e59c8e839560 775
AnnaBridge 163:e59c8e839560 776 /** @defgroup COMP_LL_EF_Configuration_comparator_modes Configuration of comparator modes
AnnaBridge 163:e59c8e839560 777 * @{
AnnaBridge 163:e59c8e839560 778 */
AnnaBridge 163:e59c8e839560 779
AnnaBridge 163:e59c8e839560 780 /**
AnnaBridge 163:e59c8e839560 781 * @brief Set comparator instance operating mode to adjust power and speed.
AnnaBridge 163:e59c8e839560 782 * @rmtoll CSR COMPxMODE LL_COMP_SetPowerMode
AnnaBridge 163:e59c8e839560 783 * @param COMPx Comparator instance
AnnaBridge 163:e59c8e839560 784 * @param PowerMode This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 785 * @arg @ref LL_COMP_POWERMODE_HIGHSPEED
AnnaBridge 163:e59c8e839560 786 * @arg @ref LL_COMP_POWERMODE_MEDIUMSPEED (1)
AnnaBridge 163:e59c8e839560 787 * @arg @ref LL_COMP_POWERMODE_LOWPOWER (1)
AnnaBridge 163:e59c8e839560 788 * @arg @ref LL_COMP_POWERMODE_ULTRALOWPOWER (1)
AnnaBridge 163:e59c8e839560 789 *
AnnaBridge 163:e59c8e839560 790 * (1) Parameter available only on devices: STM32F302xB/C, STM32F303xB/C, STM32F358xC
AnnaBridge 163:e59c8e839560 791 * @retval None
AnnaBridge 163:e59c8e839560 792 */
AnnaBridge 163:e59c8e839560 793 __STATIC_INLINE void LL_COMP_SetPowerMode(COMP_TypeDef *COMPx, uint32_t PowerMode)
AnnaBridge 163:e59c8e839560 794 {
AnnaBridge 163:e59c8e839560 795 #if defined(COMP_CSR_COMPxMODE)
AnnaBridge 163:e59c8e839560 796 MODIFY_REG(COMPx->CSR, COMP_CSR_COMPxMODE, PowerMode);
AnnaBridge 163:e59c8e839560 797 #else
AnnaBridge 163:e59c8e839560 798 /* Device without comparator power mode configurable */
AnnaBridge 163:e59c8e839560 799 /* No update of comparator register (corresponds to setting */
AnnaBridge 163:e59c8e839560 800 /* "LL_COMP_POWERMODE_HIGHSPEED"). */
AnnaBridge 163:e59c8e839560 801 #endif
AnnaBridge 163:e59c8e839560 802 }
AnnaBridge 163:e59c8e839560 803
AnnaBridge 163:e59c8e839560 804 /**
AnnaBridge 163:e59c8e839560 805 * @brief Get comparator instance operating mode to adjust power and speed.
AnnaBridge 163:e59c8e839560 806 * @rmtoll CSR COMPxMODE LL_COMP_GetPowerMode
AnnaBridge 163:e59c8e839560 807 * @param COMPx Comparator instance
AnnaBridge 163:e59c8e839560 808 * @retval Returned value can be one of the following values:
AnnaBridge 163:e59c8e839560 809 * @arg @ref LL_COMP_POWERMODE_HIGHSPEED
AnnaBridge 163:e59c8e839560 810 * @arg @ref LL_COMP_POWERMODE_MEDIUMSPEED (1)
AnnaBridge 163:e59c8e839560 811 * @arg @ref LL_COMP_POWERMODE_LOWPOWER (1)
AnnaBridge 163:e59c8e839560 812 * @arg @ref LL_COMP_POWERMODE_ULTRALOWPOWER (1)
AnnaBridge 163:e59c8e839560 813 *
AnnaBridge 163:e59c8e839560 814 * (1) Parameter available only on devices: STM32F302xB/C, STM32F303xB/C, STM32F358xC
AnnaBridge 163:e59c8e839560 815 */
AnnaBridge 163:e59c8e839560 816 __STATIC_INLINE uint32_t LL_COMP_GetPowerMode(COMP_TypeDef *COMPx)
AnnaBridge 163:e59c8e839560 817 {
AnnaBridge 163:e59c8e839560 818 #if defined(COMP_CSR_COMPxMODE)
AnnaBridge 163:e59c8e839560 819 return (uint32_t)(READ_BIT(COMPx->CSR, COMP_CSR_COMPxMODE));
AnnaBridge 163:e59c8e839560 820 #else
AnnaBridge 163:e59c8e839560 821 /* Device without comparator power mode configurable */
AnnaBridge 163:e59c8e839560 822 return (LL_COMP_POWERMODE_HIGHSPEED);
AnnaBridge 163:e59c8e839560 823 #endif
AnnaBridge 163:e59c8e839560 824 }
AnnaBridge 163:e59c8e839560 825
AnnaBridge 163:e59c8e839560 826 /**
AnnaBridge 163:e59c8e839560 827 * @}
AnnaBridge 163:e59c8e839560 828 */
AnnaBridge 163:e59c8e839560 829
AnnaBridge 163:e59c8e839560 830 /** @defgroup COMP_LL_EF_Configuration_comparator_inputs Configuration of comparator inputs
AnnaBridge 163:e59c8e839560 831 * @{
AnnaBridge 163:e59c8e839560 832 */
AnnaBridge 163:e59c8e839560 833
AnnaBridge 163:e59c8e839560 834 /**
AnnaBridge 163:e59c8e839560 835 * @brief Set comparator inputs minus (inverting) and plus (non-inverting).
AnnaBridge 163:e59c8e839560 836 * @note In case of comparator input selected to be connected to IO:
AnnaBridge 163:e59c8e839560 837 * GPIO pins are specific to each comparator instance.
AnnaBridge 163:e59c8e839560 838 * Refer to description of parameters or to reference manual.
AnnaBridge 163:e59c8e839560 839 * @note On this STM32 serie, a voltage scaler is used
AnnaBridge 163:e59c8e839560 840 * when COMP input is based on VrefInt (VrefInt or subdivision
AnnaBridge 163:e59c8e839560 841 * of VrefInt):
AnnaBridge 163:e59c8e839560 842 * Voltage scaler requires a delay for voltage stabilization.
AnnaBridge 163:e59c8e839560 843 * Refer to device datasheet, parameter "tS_SC".
AnnaBridge 163:e59c8e839560 844 * @rmtoll CSR INMSEL LL_COMP_ConfigInputs\n
AnnaBridge 163:e59c8e839560 845 * CSR NONINSEL LL_COMP_ConfigInputs
AnnaBridge 163:e59c8e839560 846 * @param COMPx Comparator instance
AnnaBridge 163:e59c8e839560 847 * @param InputMinus This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 848 * @arg @ref LL_COMP_INPUT_MINUS_1_4VREFINT
AnnaBridge 163:e59c8e839560 849 * @arg @ref LL_COMP_INPUT_MINUS_1_2VREFINT
AnnaBridge 163:e59c8e839560 850 * @arg @ref LL_COMP_INPUT_MINUS_3_4VREFINT
AnnaBridge 163:e59c8e839560 851 * @arg @ref LL_COMP_INPUT_MINUS_VREFINT
AnnaBridge 163:e59c8e839560 852 * @arg @ref LL_COMP_INPUT_MINUS_DAC1_CH1
AnnaBridge 163:e59c8e839560 853 * @arg @ref LL_COMP_INPUT_MINUS_DAC1_CH2 (3)
AnnaBridge 163:e59c8e839560 854 * @arg @ref LL_COMP_INPUT_MINUS_DAC2_CH1 (2)
AnnaBridge 163:e59c8e839560 855 * @arg @ref LL_COMP_INPUT_MINUS_IO1
AnnaBridge 163:e59c8e839560 856 * @arg @ref LL_COMP_INPUT_MINUS_IO2
AnnaBridge 163:e59c8e839560 857 * @arg @ref LL_COMP_INPUT_MINUS_IO3 (1)
AnnaBridge 163:e59c8e839560 858 * @arg @ref LL_COMP_INPUT_MINUS_IO4
AnnaBridge 163:e59c8e839560 859 * (1) Parameter available on all devices except STM32F301x6/8, STM32F318x8, STM32F302x6/8, STM32F303x6/8, STM32F328xx, STM32F334xx.\n
AnnaBridge 163:e59c8e839560 860 * (2) Parameter available only on devices STM32F303x6/8, STM32F328x8, STM32F334xx.\n
AnnaBridge 163:e59c8e839560 861 * (3) Parameter available on all devices except STM32F301x6/8, STM32F318x8, STM32F302xx.\n
AnnaBridge 163:e59c8e839560 862 * @param InputPlus This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 863 * @arg @ref LL_COMP_INPUT_PLUS_IO1
AnnaBridge 163:e59c8e839560 864 * @arg @ref LL_COMP_INPUT_PLUS_IO2 (1)
AnnaBridge 163:e59c8e839560 865 * @arg @ref LL_COMP_INPUT_PLUS_DAC1_CH1_COMP1 (2)
AnnaBridge 163:e59c8e839560 866 * @arg @ref LL_COMP_INPUT_PLUS_DAC1_CH1_COMP2 (3)
AnnaBridge 163:e59c8e839560 867 *
AnnaBridge 163:e59c8e839560 868 * (1) Parameter available only on devices STM32F302xB/C, STM32F303xB/C, STM32F358xC.\n
AnnaBridge 163:e59c8e839560 869 * (2) Parameter available on devices: STM32F302xB/C, STM32F302xD/E, STM32F303xB/C/D/E, STM32F358xC, STM32F398xE.\n
AnnaBridge 163:e59c8e839560 870 * (3) Parameter available on devices: STM32F301x6/8, STM32F318xx, STM32F302x6/8.
AnnaBridge 163:e59c8e839560 871 * @retval None
AnnaBridge 163:e59c8e839560 872 */
AnnaBridge 163:e59c8e839560 873 __STATIC_INLINE void LL_COMP_ConfigInputs(COMP_TypeDef *COMPx, uint32_t InputMinus, uint32_t InputPlus)
AnnaBridge 163:e59c8e839560 874 {
AnnaBridge 163:e59c8e839560 875 #if defined(COMP_CSR_COMPxNONINSEL) && defined(COMP_CSR_COMPxSW1)
AnnaBridge 163:e59c8e839560 876 MODIFY_REG(COMPx->CSR,
AnnaBridge 163:e59c8e839560 877 COMP_CSR_COMPxINSEL | COMP_CSR_COMPxNONINSEL | COMP_CSR_COMPxSW1,
AnnaBridge 163:e59c8e839560 878 InputMinus | InputPlus);
AnnaBridge 163:e59c8e839560 879 #elif defined(COMP_CSR_COMPxNONINSEL)
AnnaBridge 163:e59c8e839560 880 MODIFY_REG(COMPx->CSR,
AnnaBridge 163:e59c8e839560 881 COMP_CSR_COMPxINSEL | COMP_CSR_COMPxNONINSEL,
AnnaBridge 163:e59c8e839560 882 InputMinus | InputPlus);
AnnaBridge 163:e59c8e839560 883 #elif defined(COMP_CSR_COMPxSW1)
AnnaBridge 163:e59c8e839560 884 MODIFY_REG(COMPx->CSR,
AnnaBridge 163:e59c8e839560 885 COMP_CSR_COMPxINSEL | COMP_CSR_COMPxSW1,
AnnaBridge 163:e59c8e839560 886 InputMinus | InputPlus);
AnnaBridge 163:e59c8e839560 887 #else
AnnaBridge 163:e59c8e839560 888 /* Device without comparator input plus configurable */
AnnaBridge 163:e59c8e839560 889 /* No update of comparator register (corresponds to setting */
AnnaBridge 163:e59c8e839560 890 /* "LL_COMP_INPUT_PLUS_IO1" or "LL_COMP_INPUT_PLUS_IO2" compared to */
AnnaBridge 163:e59c8e839560 891 /* other STM32F3 devices, depending on comparator instance */
AnnaBridge 163:e59c8e839560 892 /* (refer to reference manual)). */
AnnaBridge 163:e59c8e839560 893 MODIFY_REG(COMPx->CSR,
AnnaBridge 163:e59c8e839560 894 COMP_CSR_COMPxINSEL,
AnnaBridge 163:e59c8e839560 895 InputMinus);
AnnaBridge 163:e59c8e839560 896 #endif
AnnaBridge 163:e59c8e839560 897 }
AnnaBridge 163:e59c8e839560 898
AnnaBridge 163:e59c8e839560 899 /**
AnnaBridge 163:e59c8e839560 900 * @brief Set comparator input plus (non-inverting).
AnnaBridge 163:e59c8e839560 901 * @note In case of comparator input selected to be connected to IO:
AnnaBridge 163:e59c8e839560 902 * GPIO pins are specific to each comparator instance.
AnnaBridge 163:e59c8e839560 903 * Refer to description of parameters or to reference manual.
AnnaBridge 163:e59c8e839560 904 * @rmtoll CSR NONINSEL LL_COMP_SetInputPlus
AnnaBridge 163:e59c8e839560 905 * @param COMPx Comparator instance
AnnaBridge 163:e59c8e839560 906 * @param InputPlus This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 907 * @arg @ref LL_COMP_INPUT_PLUS_IO1
AnnaBridge 163:e59c8e839560 908 * @arg @ref LL_COMP_INPUT_PLUS_IO2 (1)
AnnaBridge 163:e59c8e839560 909 * @arg @ref LL_COMP_INPUT_PLUS_DAC1_CH1_COMP1 (2)
AnnaBridge 163:e59c8e839560 910 * @arg @ref LL_COMP_INPUT_PLUS_DAC1_CH1_COMP2 (3)
AnnaBridge 163:e59c8e839560 911 *
AnnaBridge 163:e59c8e839560 912 * (1) Parameter available only on devices STM32F302xB/C, STM32F303xB/C, STM32F358xC.\n
AnnaBridge 163:e59c8e839560 913 * (2) Parameter available on devices: STM32F302xB/C, STM32F302xD/E, STM32F303xB/C/D/E, STM32F358xC, STM32F398xE.\n
AnnaBridge 163:e59c8e839560 914 * (3) Parameter available on devices: STM32F301x6/8, STM32F318xx, STM32F302x6/8.
AnnaBridge 163:e59c8e839560 915 * @retval None
AnnaBridge 163:e59c8e839560 916 */
AnnaBridge 163:e59c8e839560 917 __STATIC_INLINE void LL_COMP_SetInputPlus(COMP_TypeDef *COMPx, uint32_t InputPlus)
AnnaBridge 163:e59c8e839560 918 {
AnnaBridge 163:e59c8e839560 919 #if defined(COMP_CSR_COMPxNONINSEL) && defined(COMP_CSR_COMPxSW1)
AnnaBridge 163:e59c8e839560 920 MODIFY_REG(COMPx->CSR, (COMP_CSR_COMPxNONINSEL | COMP_CSR_COMPxSW1), InputPlus);
AnnaBridge 163:e59c8e839560 921 #elif defined(COMP_CSR_COMPxNONINSEL)
AnnaBridge 163:e59c8e839560 922 MODIFY_REG(COMPx->CSR, COMP_CSR_COMPxNONINSEL, InputPlus);
AnnaBridge 163:e59c8e839560 923 #elif defined(COMP_CSR_COMPxSW1)
AnnaBridge 163:e59c8e839560 924 MODIFY_REG(COMPx->CSR, COMP_CSR_COMPxSW1, InputPlus);
AnnaBridge 163:e59c8e839560 925 #else
AnnaBridge 163:e59c8e839560 926 /* Device without comparator input plus configurable */
AnnaBridge 163:e59c8e839560 927 /* No update of comparator register (corresponds to setting */
AnnaBridge 163:e59c8e839560 928 /* "LL_COMP_INPUT_PLUS_IO1" or "LL_COMP_INPUT_PLUS_IO2" compared to */
AnnaBridge 163:e59c8e839560 929 /* other STM32F3 devices, depending on comparator instance */
AnnaBridge 163:e59c8e839560 930 /* (refer to reference manual)). */
AnnaBridge 163:e59c8e839560 931 #endif
AnnaBridge 163:e59c8e839560 932 }
AnnaBridge 163:e59c8e839560 933
AnnaBridge 163:e59c8e839560 934 /**
AnnaBridge 163:e59c8e839560 935 * @brief Get comparator input plus (non-inverting).
AnnaBridge 163:e59c8e839560 936 * @note In case of comparator input selected to be connected to IO:
AnnaBridge 163:e59c8e839560 937 * GPIO pins are specific to each comparator instance.
AnnaBridge 163:e59c8e839560 938 * Refer to description of parameters or to reference manual.
AnnaBridge 163:e59c8e839560 939 * @rmtoll CSR NONINSEL LL_COMP_GetInputPlus
AnnaBridge 163:e59c8e839560 940 * @param COMPx Comparator instance
AnnaBridge 163:e59c8e839560 941 * @retval Returned value can be one of the following values:
AnnaBridge 163:e59c8e839560 942 * @arg @ref LL_COMP_INPUT_PLUS_IO1
AnnaBridge 163:e59c8e839560 943 * @arg @ref LL_COMP_INPUT_PLUS_IO2 (1)
AnnaBridge 163:e59c8e839560 944 * @arg @ref LL_COMP_INPUT_PLUS_DAC1_CH1_COMP1 (2)
AnnaBridge 163:e59c8e839560 945 * @arg @ref LL_COMP_INPUT_PLUS_DAC1_CH1_COMP2 (3)
AnnaBridge 163:e59c8e839560 946 *
AnnaBridge 163:e59c8e839560 947 * (1) Parameter available only on devices STM32F302xB/C, STM32F303xB/C, STM32F358xC.\n
AnnaBridge 163:e59c8e839560 948 * (2) Parameter available on devices: STM32F302xB/C, STM32F302xD/E, STM32F303xB/C/D/E, STM32F358xC, STM32F398xE.\n
AnnaBridge 163:e59c8e839560 949 * (3) Parameter available on devices: STM32F301x6/8, STM32F318xx, STM32F302x6/8.
AnnaBridge 163:e59c8e839560 950 */
AnnaBridge 163:e59c8e839560 951 __STATIC_INLINE uint32_t LL_COMP_GetInputPlus(COMP_TypeDef *COMPx)
AnnaBridge 163:e59c8e839560 952 {
AnnaBridge 163:e59c8e839560 953 #if defined(COMP_CSR_COMPxNONINSEL) && defined(COMP_CSR_COMPxSW1)
AnnaBridge 163:e59c8e839560 954 return (uint32_t)(READ_BIT(COMPx->CSR, (COMP_CSR_COMPxNONINSEL | COMP_CSR_COMPxSW1)));
AnnaBridge 163:e59c8e839560 955 #elif defined(COMP_CSR_COMPxNONINSEL)
AnnaBridge 163:e59c8e839560 956 return (uint32_t)(READ_BIT(COMPx->CSR, COMP_CSR_COMPxNONINSEL));
AnnaBridge 163:e59c8e839560 957 #elif defined(COMP_CSR_COMPxSW1)
AnnaBridge 163:e59c8e839560 958 return (uint32_t)(READ_BIT(COMPx->CSR, COMP_CSR_COMPxSW1));
AnnaBridge 163:e59c8e839560 959 #else
AnnaBridge 163:e59c8e839560 960 /* Device without comparator input plus configurable */
AnnaBridge 163:e59c8e839560 961 /* No update of comparator register (corresponds to setting */
AnnaBridge 163:e59c8e839560 962 /* "LL_COMP_INPUT_PLUS_IO1" or "LL_COMP_INPUT_PLUS_IO2" compared to */
AnnaBridge 163:e59c8e839560 963 /* other STM32F3 devices, depending on comparator instance */
AnnaBridge 163:e59c8e839560 964 /* (refer to reference manual)). */
AnnaBridge 163:e59c8e839560 965 return (LL_COMP_INPUT_PLUS_IO1);
AnnaBridge 163:e59c8e839560 966 #endif
AnnaBridge 163:e59c8e839560 967 }
AnnaBridge 163:e59c8e839560 968
AnnaBridge 163:e59c8e839560 969 /**
AnnaBridge 163:e59c8e839560 970 * @brief Set comparator input minus (inverting).
AnnaBridge 163:e59c8e839560 971 * @note In case of comparator input selected to be connected to IO:
AnnaBridge 163:e59c8e839560 972 * GPIO pins are specific to each comparator instance.
AnnaBridge 163:e59c8e839560 973 * Refer to description of parameters or to reference manual.
AnnaBridge 163:e59c8e839560 974 * @note On this STM32 serie, a voltage scaler is used
AnnaBridge 163:e59c8e839560 975 * when COMP input is based on VrefInt (VrefInt or subdivision
AnnaBridge 163:e59c8e839560 976 * of VrefInt):
AnnaBridge 163:e59c8e839560 977 * Voltage scaler requires a delay for voltage stabilization.
AnnaBridge 163:e59c8e839560 978 * Refer to device datasheet, parameter "tS_SC".
AnnaBridge 163:e59c8e839560 979 * @rmtoll CSR INMSEL LL_COMP_SetInputMinus
AnnaBridge 163:e59c8e839560 980 * @param COMPx Comparator instance
AnnaBridge 163:e59c8e839560 981 * @param InputMinus This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 982 * @arg @ref LL_COMP_INPUT_MINUS_1_4VREFINT
AnnaBridge 163:e59c8e839560 983 * @arg @ref LL_COMP_INPUT_MINUS_1_2VREFINT
AnnaBridge 163:e59c8e839560 984 * @arg @ref LL_COMP_INPUT_MINUS_3_4VREFINT
AnnaBridge 163:e59c8e839560 985 * @arg @ref LL_COMP_INPUT_MINUS_VREFINT
AnnaBridge 163:e59c8e839560 986 * @arg @ref LL_COMP_INPUT_MINUS_DAC1_CH1
AnnaBridge 163:e59c8e839560 987 * @arg @ref LL_COMP_INPUT_MINUS_DAC1_CH2 (3)
AnnaBridge 163:e59c8e839560 988 * @arg @ref LL_COMP_INPUT_MINUS_DAC2_CH1 (2)
AnnaBridge 163:e59c8e839560 989 * @arg @ref LL_COMP_INPUT_MINUS_IO1
AnnaBridge 163:e59c8e839560 990 * @arg @ref LL_COMP_INPUT_MINUS_IO2
AnnaBridge 163:e59c8e839560 991 * @arg @ref LL_COMP_INPUT_MINUS_IO3 (1)
AnnaBridge 163:e59c8e839560 992 * @arg @ref LL_COMP_INPUT_MINUS_IO4
AnnaBridge 163:e59c8e839560 993 * (1) Parameter available on all devices except STM32F301x6/8, STM32F318x8, STM32F302x6/8, STM32F303x6/8, STM32F328xx, STM32F334xx.\n
AnnaBridge 163:e59c8e839560 994 * (2) Parameter available only on devices STM32F303x6/8, STM32F328x8, STM32F334xx.\n
AnnaBridge 163:e59c8e839560 995 * (3) Parameter available on all devices except STM32F301x6/8, STM32F318x8, STM32F302xx.\n
AnnaBridge 163:e59c8e839560 996 * @retval None
AnnaBridge 163:e59c8e839560 997 */
AnnaBridge 163:e59c8e839560 998 __STATIC_INLINE void LL_COMP_SetInputMinus(COMP_TypeDef *COMPx, uint32_t InputMinus)
AnnaBridge 163:e59c8e839560 999 {
AnnaBridge 163:e59c8e839560 1000 MODIFY_REG(COMPx->CSR, COMP_CSR_COMPxINSEL, InputMinus);
AnnaBridge 163:e59c8e839560 1001 }
AnnaBridge 163:e59c8e839560 1002
AnnaBridge 163:e59c8e839560 1003 /**
AnnaBridge 163:e59c8e839560 1004 * @brief Get comparator input minus (inverting).
AnnaBridge 163:e59c8e839560 1005 * @note In case of comparator input selected to be connected to IO:
AnnaBridge 163:e59c8e839560 1006 * GPIO pins are specific to each comparator instance.
AnnaBridge 163:e59c8e839560 1007 * Refer to description of parameters or to reference manual.
AnnaBridge 163:e59c8e839560 1008 * @rmtoll CSR INMSEL LL_COMP_GetInputMinus
AnnaBridge 163:e59c8e839560 1009 * @param COMPx Comparator instance
AnnaBridge 163:e59c8e839560 1010 * @retval Returned value can be one of the following values:
AnnaBridge 163:e59c8e839560 1011 * @arg @ref LL_COMP_INPUT_MINUS_1_4VREFINT
AnnaBridge 163:e59c8e839560 1012 * @arg @ref LL_COMP_INPUT_MINUS_1_2VREFINT
AnnaBridge 163:e59c8e839560 1013 * @arg @ref LL_COMP_INPUT_MINUS_3_4VREFINT
AnnaBridge 163:e59c8e839560 1014 * @arg @ref LL_COMP_INPUT_MINUS_VREFINT
AnnaBridge 163:e59c8e839560 1015 * @arg @ref LL_COMP_INPUT_MINUS_DAC1_CH1
AnnaBridge 163:e59c8e839560 1016 * @arg @ref LL_COMP_INPUT_MINUS_DAC1_CH2 (3)
AnnaBridge 163:e59c8e839560 1017 * @arg @ref LL_COMP_INPUT_MINUS_DAC2_CH1 (2)
AnnaBridge 163:e59c8e839560 1018 * @arg @ref LL_COMP_INPUT_MINUS_IO1
AnnaBridge 163:e59c8e839560 1019 * @arg @ref LL_COMP_INPUT_MINUS_IO2
AnnaBridge 163:e59c8e839560 1020 * @arg @ref LL_COMP_INPUT_MINUS_IO3 (1)
AnnaBridge 163:e59c8e839560 1021 * @arg @ref LL_COMP_INPUT_MINUS_IO4
AnnaBridge 163:e59c8e839560 1022 * (1) Parameter available on all devices except STM32F301x6/8, STM32F318x8, STM32F302x6/8, STM32F303x6/8, STM32F328xx, STM32F334xx.\n
AnnaBridge 163:e59c8e839560 1023 * (2) Parameter available only on devices STM32F303x6/8, STM32F328x8, STM32F334xx.\n
AnnaBridge 163:e59c8e839560 1024 * (3) Parameter available on all devices except STM32F301x6/8, STM32F318x8, STM32F302xx.\n
AnnaBridge 163:e59c8e839560 1025 */
AnnaBridge 163:e59c8e839560 1026 __STATIC_INLINE uint32_t LL_COMP_GetInputMinus(COMP_TypeDef *COMPx)
AnnaBridge 163:e59c8e839560 1027 {
AnnaBridge 163:e59c8e839560 1028 return (uint32_t)(READ_BIT(COMPx->CSR, COMP_CSR_COMPxINSEL));
AnnaBridge 163:e59c8e839560 1029 }
AnnaBridge 163:e59c8e839560 1030
AnnaBridge 163:e59c8e839560 1031 /**
AnnaBridge 163:e59c8e839560 1032 * @brief Set comparator instance hysteresis mode of the input minus (inverting input).
AnnaBridge 163:e59c8e839560 1033 * @rmtoll CSR COMPxHYST LL_COMP_SetInputHysteresis
AnnaBridge 163:e59c8e839560 1034 * @param COMPx Comparator instance
AnnaBridge 163:e59c8e839560 1035 * @param InputHysteresis This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 1036 * @arg @ref LL_COMP_HYSTERESIS_NONE
AnnaBridge 163:e59c8e839560 1037 * @arg @ref LL_COMP_HYSTERESIS_LOW (1)
AnnaBridge 163:e59c8e839560 1038 * @arg @ref LL_COMP_HYSTERESIS_MEDIUM (1)
AnnaBridge 163:e59c8e839560 1039 * @arg @ref LL_COMP_HYSTERESIS_HIGH (1)
AnnaBridge 163:e59c8e839560 1040 *
AnnaBridge 163:e59c8e839560 1041 * (1) Parameter available only on devices: STM32F302xB/C, STM32F303xB/C, STM32F358xC
AnnaBridge 163:e59c8e839560 1042 * @retval None
AnnaBridge 163:e59c8e839560 1043 */
AnnaBridge 163:e59c8e839560 1044 __STATIC_INLINE void LL_COMP_SetInputHysteresis(COMP_TypeDef *COMPx, uint32_t InputHysteresis)
AnnaBridge 163:e59c8e839560 1045 {
AnnaBridge 163:e59c8e839560 1046 #if defined(COMP_CSR_COMPxHYST)
AnnaBridge 163:e59c8e839560 1047 MODIFY_REG(COMPx->CSR, COMP_CSR_COMPxHYST, InputHysteresis);
AnnaBridge 163:e59c8e839560 1048 #else
AnnaBridge 163:e59c8e839560 1049 /* Device without comparator input hysteresis */
AnnaBridge 163:e59c8e839560 1050 /* No update of comparator register (corresponds to setting */
AnnaBridge 163:e59c8e839560 1051 /* "LL_COMP_HYSTERESIS_NONE"). */
AnnaBridge 163:e59c8e839560 1052 #endif
AnnaBridge 163:e59c8e839560 1053 }
AnnaBridge 163:e59c8e839560 1054
AnnaBridge 163:e59c8e839560 1055 /**
AnnaBridge 163:e59c8e839560 1056 * @brief Get comparator instance hysteresis mode of the minus (inverting) input.
AnnaBridge 163:e59c8e839560 1057 * @rmtoll CSR COMPxHYST LL_COMP_GetInputHysteresis
AnnaBridge 163:e59c8e839560 1058 * @param COMPx Comparator instance
AnnaBridge 163:e59c8e839560 1059 * @retval Returned value can be one of the following values:
AnnaBridge 163:e59c8e839560 1060 * @arg @ref LL_COMP_HYSTERESIS_NONE
AnnaBridge 163:e59c8e839560 1061 * @arg @ref LL_COMP_HYSTERESIS_LOW (1)
AnnaBridge 163:e59c8e839560 1062 * @arg @ref LL_COMP_HYSTERESIS_MEDIUM (1)
AnnaBridge 163:e59c8e839560 1063 * @arg @ref LL_COMP_HYSTERESIS_HIGH (1)
AnnaBridge 163:e59c8e839560 1064 *
AnnaBridge 163:e59c8e839560 1065 * (1) Parameter available only on devices: STM32F302xB/C, STM32F303xB/C, STM32F358xC
AnnaBridge 163:e59c8e839560 1066 */
AnnaBridge 163:e59c8e839560 1067 __STATIC_INLINE uint32_t LL_COMP_GetInputHysteresis(COMP_TypeDef *COMPx)
AnnaBridge 163:e59c8e839560 1068 {
AnnaBridge 163:e59c8e839560 1069 #if defined(COMP_CSR_COMPxHYST)
AnnaBridge 163:e59c8e839560 1070 return (uint32_t)(READ_BIT(COMPx->CSR, COMP_CSR_COMPxHYST));
AnnaBridge 163:e59c8e839560 1071 #else
AnnaBridge 163:e59c8e839560 1072 /* Device without comparator input hysteresis */
AnnaBridge 163:e59c8e839560 1073 return (LL_COMP_HYSTERESIS_NONE);
AnnaBridge 163:e59c8e839560 1074 #endif
AnnaBridge 163:e59c8e839560 1075 }
AnnaBridge 163:e59c8e839560 1076
AnnaBridge 163:e59c8e839560 1077 /**
AnnaBridge 163:e59c8e839560 1078 * @}
AnnaBridge 163:e59c8e839560 1079 */
AnnaBridge 163:e59c8e839560 1080
AnnaBridge 163:e59c8e839560 1081 /** @defgroup COMP_LL_EF_Configuration_comparator_output Configuration of comparator output
AnnaBridge 163:e59c8e839560 1082 * @{
AnnaBridge 163:e59c8e839560 1083 */
AnnaBridge 163:e59c8e839560 1084
AnnaBridge 163:e59c8e839560 1085 /**
AnnaBridge 163:e59c8e839560 1086 * @brief Set comparator output selection.
AnnaBridge 163:e59c8e839560 1087 * @note Availability of parameters of output selection to timer
AnnaBridge 163:e59c8e839560 1088 * depends on timers availability on the selected device.
AnnaBridge 163:e59c8e839560 1089 * @rmtoll CSR COMPxOUTSEL LL_COMP_SetOutputSelection
AnnaBridge 163:e59c8e839560 1090 * @param COMPx Comparator instance
AnnaBridge 163:e59c8e839560 1091 * @param OutputSelection This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 1092 * @arg @ref LL_COMP_OUTPUT_NONE
AnnaBridge 163:e59c8e839560 1093 * @arg @ref LL_COMP_OUTPUT_TIM1_BKIN
AnnaBridge 163:e59c8e839560 1094 * @arg @ref LL_COMP_OUTPUT_TIM1_BKIN2
AnnaBridge 163:e59c8e839560 1095 * @arg @ref LL_COMP_OUTPUT_TIM1_TIM8_BKIN2
AnnaBridge 163:e59c8e839560 1096 * @arg @ref LL_COMP_OUTPUT_TIM8_BKIN (4)
AnnaBridge 163:e59c8e839560 1097 * @arg @ref LL_COMP_OUTPUT_TIM8_BKIN2 (4)
AnnaBridge 163:e59c8e839560 1098 * @arg @ref LL_COMP_OUTPUT_TIM1_TIM8_BKIN2 (4)
AnnaBridge 163:e59c8e839560 1099 * @arg @ref LL_COMP_OUTPUT_TIM20_BKIN (5)
AnnaBridge 163:e59c8e839560 1100 * @arg @ref LL_COMP_OUTPUT_TIM20_BKIN2 (5)
AnnaBridge 163:e59c8e839560 1101 * @arg @ref LL_COMP_OUTPUT_TIM1_TIM8_TIM20_BKIN2 (5)
AnnaBridge 163:e59c8e839560 1102 * @arg @ref LL_COMP_OUTPUT_TIM1_OCCLR_COMP1_2_3_7 (4)
AnnaBridge 163:e59c8e839560 1103 * @arg @ref LL_COMP_OUTPUT_TIM2_OCCLR_COMP1_2_3 (4)
AnnaBridge 163:e59c8e839560 1104 * @arg @ref LL_COMP_OUTPUT_TIM3_OCCLR_COMP1_2_4_5 (4)
AnnaBridge 163:e59c8e839560 1105 * @arg @ref LL_COMP_OUTPUT_TIM8_OCCLR_COMP4_5_6_7 (4)
AnnaBridge 163:e59c8e839560 1106 * @arg @ref LL_COMP_OUTPUT_TIM3_OCCLR_COMP2_4 (6)
AnnaBridge 163:e59c8e839560 1107 * @arg @ref LL_COMP_OUTPUT_TIM1_IC1_COMP2 (2)
AnnaBridge 163:e59c8e839560 1108 * @arg @ref LL_COMP_OUTPUT_TIM2_IC4_COMP2 (2)
AnnaBridge 163:e59c8e839560 1109 * @arg @ref LL_COMP_OUTPUT_TIM3_IC1_COMP2 (1)
AnnaBridge 163:e59c8e839560 1110 * @arg @ref LL_COMP_OUTPUT_TIM1_IC1_COMP1_2 (3)
AnnaBridge 163:e59c8e839560 1111 * @arg @ref LL_COMP_OUTPUT_TIM2_IC4_COMP1_2 (3)
AnnaBridge 163:e59c8e839560 1112 * @arg @ref LL_COMP_OUTPUT_TIM3_IC1_COMP1_2 (3)
AnnaBridge 163:e59c8e839560 1113 * @arg @ref LL_COMP_OUTPUT_TIM20_OCCLR_COMP2 (5)
AnnaBridge 163:e59c8e839560 1114 * @arg @ref LL_COMP_OUTPUT_TIM3_IC2_COMP3 (4)
AnnaBridge 163:e59c8e839560 1115 * @arg @ref LL_COMP_OUTPUT_TIM4_IC1_COMP3 (4)
AnnaBridge 163:e59c8e839560 1116 * @arg @ref LL_COMP_OUTPUT_TIM15_IC1_COMP3 (4)
AnnaBridge 163:e59c8e839560 1117 * @arg @ref LL_COMP_OUTPUT_TIM15_BKIN
AnnaBridge 163:e59c8e839560 1118 * @arg @ref LL_COMP_OUTPUT_TIM3_IC3_COMP4 (1)
AnnaBridge 163:e59c8e839560 1119 * @arg @ref LL_COMP_OUTPUT_TIM4_IC2_COMP4
AnnaBridge 163:e59c8e839560 1120 * @arg @ref LL_COMP_OUTPUT_TIM15_IC2_COMP4
AnnaBridge 163:e59c8e839560 1121 * @arg @ref LL_COMP_OUTPUT_TIM15_OCCLR_COMP4
AnnaBridge 163:e59c8e839560 1122 * @arg @ref LL_COMP_OUTPUT_TIM2_IC1_COMP5 (4)
AnnaBridge 163:e59c8e839560 1123 * @arg @ref LL_COMP_OUTPUT_TIM4_IC3_COMP5 (4)
AnnaBridge 163:e59c8e839560 1124 * @arg @ref LL_COMP_OUTPUT_TIM17_IC1_COMP5 (4)
AnnaBridge 163:e59c8e839560 1125 * @arg @ref LL_COMP_OUTPUT_TIM16_BKIN
AnnaBridge 163:e59c8e839560 1126 * @arg @ref LL_COMP_OUTPUT_TIM2_IC2_COMP6
AnnaBridge 163:e59c8e839560 1127 * @arg @ref LL_COMP_OUTPUT_TIM2_OCCLR_COMP6
AnnaBridge 163:e59c8e839560 1128 * @arg @ref LL_COMP_OUTPUT_TIM4_IC4_COMP6
AnnaBridge 163:e59c8e839560 1129 * @arg @ref LL_COMP_OUTPUT_TIM16_IC1_COMP6
AnnaBridge 163:e59c8e839560 1130 * @arg @ref LL_COMP_OUTPUT_TIM16_OCCLR_COMP6
AnnaBridge 163:e59c8e839560 1131 * @arg @ref LL_COMP_OUTPUT_TIM1_IC2_COMP7 (4)
AnnaBridge 163:e59c8e839560 1132 * @arg @ref LL_COMP_OUTPUT_TIM2_IC3_COMP7 (4)
AnnaBridge 163:e59c8e839560 1133 * @arg @ref LL_COMP_OUTPUT_TIM17_OCCLR_COMP7 (4)
AnnaBridge 163:e59c8e839560 1134 * @arg @ref LL_COMP_OUTPUT_TIM17_BKIN (4)
AnnaBridge 163:e59c8e839560 1135 *
AnnaBridge 163:e59c8e839560 1136 * (1) Parameter available on devices: STM32F302x8, STM32F318xx, STM32F303x8, STM32F328xx, STM32F334x8, STM32F302xC, STM32F302xE, STM32F303xC, STM32F358xx, STM32F303xE, STM32F398xx.\n
AnnaBridge 163:e59c8e839560 1137 * (2) Parameter available on devices: STM32F301x8, STM32F302x8, STM32F318xx, STM32F303x8, STM32F328xx, STM32F334x8.\n
AnnaBridge 163:e59c8e839560 1138 * (3) Parameter available on devices: STM32F302xC, STM32F302xE, STM32F303xC, STM32F358xx, STM32F303xE, STM32F398xx.\n
AnnaBridge 163:e59c8e839560 1139 * (4) Parameter available on devices: STM32F303xC, STM32F358xx, STM32F303xE, STM32F398xx.\n
AnnaBridge 163:e59c8e839560 1140 * (5) Parameter available on devices: STM32F303xE, STM32F398xx.\n
AnnaBridge 163:e59c8e839560 1141 * (6) Parameter available on devices: STM32F303x8, STM32F328xx, STM32F334x8.
AnnaBridge 163:e59c8e839560 1142 * @retval None
AnnaBridge 163:e59c8e839560 1143 */
AnnaBridge 163:e59c8e839560 1144 __STATIC_INLINE void LL_COMP_SetOutputSelection(COMP_TypeDef *COMPx, uint32_t OutputSelection)
AnnaBridge 163:e59c8e839560 1145 {
AnnaBridge 163:e59c8e839560 1146 MODIFY_REG(COMPx->CSR, COMP_CSR_COMPxOUTSEL , OutputSelection);
AnnaBridge 163:e59c8e839560 1147 }
AnnaBridge 163:e59c8e839560 1148
AnnaBridge 163:e59c8e839560 1149 /**
AnnaBridge 163:e59c8e839560 1150 * @brief Get comparator output selection.
AnnaBridge 163:e59c8e839560 1151 * @note Availability of parameters of output selection to timer
AnnaBridge 163:e59c8e839560 1152 * depends on timers availability on the selected device.
AnnaBridge 163:e59c8e839560 1153 * @rmtoll CSR COMPxOUTSEL LL_COMP_GetOutputSelection
AnnaBridge 163:e59c8e839560 1154 * @param COMPx Comparator instance
AnnaBridge 163:e59c8e839560 1155 * @retval Returned value can be one of the following values:
AnnaBridge 163:e59c8e839560 1156 * @arg @ref LL_COMP_OUTPUT_NONE
AnnaBridge 163:e59c8e839560 1157 * @arg @ref LL_COMP_OUTPUT_TIM1_BKIN
AnnaBridge 163:e59c8e839560 1158 * @arg @ref LL_COMP_OUTPUT_TIM1_BKIN2
AnnaBridge 163:e59c8e839560 1159 * @arg @ref LL_COMP_OUTPUT_TIM1_TIM8_BKIN2
AnnaBridge 163:e59c8e839560 1160 * @arg @ref LL_COMP_OUTPUT_TIM8_BKIN (4)
AnnaBridge 163:e59c8e839560 1161 * @arg @ref LL_COMP_OUTPUT_TIM8_BKIN2 (4)
AnnaBridge 163:e59c8e839560 1162 * @arg @ref LL_COMP_OUTPUT_TIM1_TIM8_BKIN2 (4)
AnnaBridge 163:e59c8e839560 1163 * @arg @ref LL_COMP_OUTPUT_TIM20_BKIN (5)
AnnaBridge 163:e59c8e839560 1164 * @arg @ref LL_COMP_OUTPUT_TIM20_BKIN2 (5)
AnnaBridge 163:e59c8e839560 1165 * @arg @ref LL_COMP_OUTPUT_TIM1_TIM8_TIM20_BKIN2 (5)
AnnaBridge 163:e59c8e839560 1166 * @arg @ref LL_COMP_OUTPUT_TIM1_OCCLR_COMP1_2_3_7 (4)
AnnaBridge 163:e59c8e839560 1167 * @arg @ref LL_COMP_OUTPUT_TIM2_OCCLR_COMP1_2_3 (4)
AnnaBridge 163:e59c8e839560 1168 * @arg @ref LL_COMP_OUTPUT_TIM3_OCCLR_COMP1_2_4_5 (4)
AnnaBridge 163:e59c8e839560 1169 * @arg @ref LL_COMP_OUTPUT_TIM8_OCCLR_COMP4_5_6_7 (4)
AnnaBridge 163:e59c8e839560 1170 * @arg @ref LL_COMP_OUTPUT_TIM3_OCCLR_COMP2_4 (6)
AnnaBridge 163:e59c8e839560 1171 * @arg @ref LL_COMP_OUTPUT_TIM1_IC1_COMP2 (2)
AnnaBridge 163:e59c8e839560 1172 * @arg @ref LL_COMP_OUTPUT_TIM2_IC4_COMP2 (2)
AnnaBridge 163:e59c8e839560 1173 * @arg @ref LL_COMP_OUTPUT_TIM3_IC1_COMP2 (1)
AnnaBridge 163:e59c8e839560 1174 * @arg @ref LL_COMP_OUTPUT_TIM1_IC1_COMP1_2 (3)
AnnaBridge 163:e59c8e839560 1175 * @arg @ref LL_COMP_OUTPUT_TIM2_IC4_COMP1_2 (3)
AnnaBridge 163:e59c8e839560 1176 * @arg @ref LL_COMP_OUTPUT_TIM3_IC1_COMP1_2 (3)
AnnaBridge 163:e59c8e839560 1177 * @arg @ref LL_COMP_OUTPUT_TIM20_OCCLR_COMP2 (5)
AnnaBridge 163:e59c8e839560 1178 * @arg @ref LL_COMP_OUTPUT_TIM3_IC2_COMP3 (4)
AnnaBridge 163:e59c8e839560 1179 * @arg @ref LL_COMP_OUTPUT_TIM4_IC1_COMP3 (4)
AnnaBridge 163:e59c8e839560 1180 * @arg @ref LL_COMP_OUTPUT_TIM15_IC1_COMP3 (4)
AnnaBridge 163:e59c8e839560 1181 * @arg @ref LL_COMP_OUTPUT_TIM15_BKIN
AnnaBridge 163:e59c8e839560 1182 * @arg @ref LL_COMP_OUTPUT_TIM3_IC3_COMP4 (1)
AnnaBridge 163:e59c8e839560 1183 * @arg @ref LL_COMP_OUTPUT_TIM4_IC2_COMP4
AnnaBridge 163:e59c8e839560 1184 * @arg @ref LL_COMP_OUTPUT_TIM15_IC2_COMP4
AnnaBridge 163:e59c8e839560 1185 * @arg @ref LL_COMP_OUTPUT_TIM15_OCCLR_COMP4
AnnaBridge 163:e59c8e839560 1186 * @arg @ref LL_COMP_OUTPUT_TIM2_IC1_COMP5 (4)
AnnaBridge 163:e59c8e839560 1187 * @arg @ref LL_COMP_OUTPUT_TIM4_IC3_COMP5 (4)
AnnaBridge 163:e59c8e839560 1188 * @arg @ref LL_COMP_OUTPUT_TIM17_IC1_COMP5 (4)
AnnaBridge 163:e59c8e839560 1189 * @arg @ref LL_COMP_OUTPUT_TIM16_BKIN
AnnaBridge 163:e59c8e839560 1190 * @arg @ref LL_COMP_OUTPUT_TIM2_IC2_COMP6
AnnaBridge 163:e59c8e839560 1191 * @arg @ref LL_COMP_OUTPUT_TIM2_OCCLR_COMP6
AnnaBridge 163:e59c8e839560 1192 * @arg @ref LL_COMP_OUTPUT_TIM4_IC4_COMP6
AnnaBridge 163:e59c8e839560 1193 * @arg @ref LL_COMP_OUTPUT_TIM16_IC1_COMP6
AnnaBridge 163:e59c8e839560 1194 * @arg @ref LL_COMP_OUTPUT_TIM16_OCCLR_COMP6
AnnaBridge 163:e59c8e839560 1195 * @arg @ref LL_COMP_OUTPUT_TIM1_IC2_COMP7 (4)
AnnaBridge 163:e59c8e839560 1196 * @arg @ref LL_COMP_OUTPUT_TIM2_IC3_COMP7 (4)
AnnaBridge 163:e59c8e839560 1197 * @arg @ref LL_COMP_OUTPUT_TIM17_OCCLR_COMP7 (4)
AnnaBridge 163:e59c8e839560 1198 * @arg @ref LL_COMP_OUTPUT_TIM17_BKIN (4)
AnnaBridge 163:e59c8e839560 1199 *
AnnaBridge 163:e59c8e839560 1200 * (1) Parameter available on devices: STM32F302x8, STM32F318xx, STM32F303x8, STM32F328xx, STM32F334x8, STM32F302xC, STM32F302xE, STM32F303xC, STM32F358xx, STM32F303xE, STM32F398xx.\n
AnnaBridge 163:e59c8e839560 1201 * (2) Parameter available on devices: STM32F301x8, STM32F302x8, STM32F318xx, STM32F303x8, STM32F328xx, STM32F334x8.\n
AnnaBridge 163:e59c8e839560 1202 * (3) Parameter available on devices: STM32F302xC, STM32F302xE, STM32F303xC, STM32F358xx, STM32F303xE, STM32F398xx.\n
AnnaBridge 163:e59c8e839560 1203 * (4) Parameter available on devices: STM32F303xC, STM32F358xx, STM32F303xE, STM32F398xx.\n
AnnaBridge 163:e59c8e839560 1204 * (5) Parameter available on devices: STM32F303xE, STM32F398xx.\n
AnnaBridge 163:e59c8e839560 1205 * (6) Parameter available on devices: STM32F303x8, STM32F328xx, STM32F334x8.
AnnaBridge 163:e59c8e839560 1206 */
AnnaBridge 163:e59c8e839560 1207 __STATIC_INLINE uint32_t LL_COMP_GetOutputSelection(COMP_TypeDef *COMPx)
AnnaBridge 163:e59c8e839560 1208 {
AnnaBridge 163:e59c8e839560 1209 return (uint32_t)(READ_BIT(COMPx->CSR, COMP_CSR_COMPxOUTSEL));
AnnaBridge 163:e59c8e839560 1210 }
AnnaBridge 163:e59c8e839560 1211
AnnaBridge 163:e59c8e839560 1212 /**
AnnaBridge 163:e59c8e839560 1213 * @brief Set comparator instance output polarity.
AnnaBridge 163:e59c8e839560 1214 * @rmtoll CSR COMPxPOL LL_COMP_SetOutputPolarity
AnnaBridge 163:e59c8e839560 1215 * @param COMPx Comparator instance
AnnaBridge 163:e59c8e839560 1216 * @param OutputPolarity This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 1217 * @arg @ref LL_COMP_OUTPUTPOL_NONINVERTED
AnnaBridge 163:e59c8e839560 1218 * @arg @ref LL_COMP_OUTPUTPOL_INVERTED
AnnaBridge 163:e59c8e839560 1219 * @retval None
AnnaBridge 163:e59c8e839560 1220 */
AnnaBridge 163:e59c8e839560 1221 __STATIC_INLINE void LL_COMP_SetOutputPolarity(COMP_TypeDef *COMPx, uint32_t OutputPolarity)
AnnaBridge 163:e59c8e839560 1222 {
AnnaBridge 163:e59c8e839560 1223 MODIFY_REG(COMPx->CSR, COMP_CSR_COMPxPOL, OutputPolarity);
AnnaBridge 163:e59c8e839560 1224 }
AnnaBridge 163:e59c8e839560 1225
AnnaBridge 163:e59c8e839560 1226 /**
AnnaBridge 163:e59c8e839560 1227 * @brief Get comparator instance output polarity.
AnnaBridge 163:e59c8e839560 1228 * @rmtoll CSR COMPxPOL LL_COMP_GetOutputPolarity
AnnaBridge 163:e59c8e839560 1229 * @param COMPx Comparator instance
AnnaBridge 163:e59c8e839560 1230 * @retval Returned value can be one of the following values:
AnnaBridge 163:e59c8e839560 1231 * @arg @ref LL_COMP_OUTPUTPOL_NONINVERTED
AnnaBridge 163:e59c8e839560 1232 * @arg @ref LL_COMP_OUTPUTPOL_INVERTED
AnnaBridge 163:e59c8e839560 1233 */
AnnaBridge 163:e59c8e839560 1234 __STATIC_INLINE uint32_t LL_COMP_GetOutputPolarity(COMP_TypeDef *COMPx)
AnnaBridge 163:e59c8e839560 1235 {
AnnaBridge 163:e59c8e839560 1236 return (uint32_t)(READ_BIT(COMPx->CSR, COMP_CSR_COMPxPOL));
AnnaBridge 163:e59c8e839560 1237 }
AnnaBridge 163:e59c8e839560 1238
AnnaBridge 163:e59c8e839560 1239 /**
AnnaBridge 163:e59c8e839560 1240 * @brief Set comparator instance blanking source.
AnnaBridge 163:e59c8e839560 1241 * @note Blanking source may be specific to each comparator instance.
AnnaBridge 163:e59c8e839560 1242 * Refer to description of parameters or to reference manual.
AnnaBridge 163:e59c8e839560 1243 * @note Availability of parameters of blanking source from timer
AnnaBridge 163:e59c8e839560 1244 * depends on timers availability on the selected device.
AnnaBridge 163:e59c8e839560 1245 * @rmtoll CSR COMPxBLANKING LL_COMP_SetOutputBlankingSource
AnnaBridge 163:e59c8e839560 1246 * @param COMPx Comparator instance
AnnaBridge 163:e59c8e839560 1247 * @param BlankingSource This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 1248 * @arg @ref LL_COMP_BLANKINGSRC_NONE
AnnaBridge 163:e59c8e839560 1249 * @arg @ref LL_COMP_BLANKINGSRC_TIM1_OC5_COMP2 (1)
AnnaBridge 163:e59c8e839560 1250 * @arg @ref LL_COMP_BLANKINGSRC_TIM2_OC3_COMP2 (1)
AnnaBridge 163:e59c8e839560 1251 * @arg @ref LL_COMP_BLANKINGSRC_TIM3_OC3_COMP2 (1)
AnnaBridge 163:e59c8e839560 1252 * @arg @ref LL_COMP_BLANKINGSRC_TIM1_OC5_COMP1_2 (2)(3)
AnnaBridge 163:e59c8e839560 1253 * @arg @ref LL_COMP_BLANKINGSRC_TIM2_OC3_COMP1_2 (2)(3)
AnnaBridge 163:e59c8e839560 1254 * @arg @ref LL_COMP_BLANKINGSRC_TIM3_OC3_COMP1_2 (2)(3)
AnnaBridge 163:e59c8e839560 1255 * @arg @ref LL_COMP_BLANKINGSRC_TIM3_OC4_COMP4
AnnaBridge 163:e59c8e839560 1256 * @arg @ref LL_COMP_BLANKINGSRC_TIM15_OC1_COMP4
AnnaBridge 163:e59c8e839560 1257 * @arg @ref LL_COMP_BLANKINGSRC_TIM2_OC4_COMP6 (2)
AnnaBridge 163:e59c8e839560 1258 * @arg @ref LL_COMP_BLANKINGSRC_TIM15_OC2_COMP6 (1)(2)
AnnaBridge 163:e59c8e839560 1259 * @arg @ref LL_COMP_BLANKINGSRC_TIM1_OC5_COMP1_2_7 (3)
AnnaBridge 163:e59c8e839560 1260 * @arg @ref LL_COMP_BLANKINGSRC_TIM2_OC4_COMP3_6 (3)
AnnaBridge 163:e59c8e839560 1261 * @arg @ref LL_COMP_BLANKINGSRC_TIM8_OC5_COMP4_5_6_7 (3)
AnnaBridge 163:e59c8e839560 1262 * @arg @ref LL_COMP_BLANKINGSRC_TIM15_OC2_COMP6_7 (3)
AnnaBridge 163:e59c8e839560 1263 *
AnnaBridge 163:e59c8e839560 1264 * (1) Parameter available on devices: STM32F301x8, STM32F302x8, STM32F318xx, STM32F303x8, STM32F334x8, STM32F328xx.\n
AnnaBridge 163:e59c8e839560 1265 * (2) Parameter available on devices: STM32F302xE, STM32F302xC.\n
AnnaBridge 163:e59c8e839560 1266 * (3) Parameter available on devices: STM32F303xE, STM32F398xx, STM32F303xC, STM32F358xx.
AnnaBridge 163:e59c8e839560 1267 * @retval None
AnnaBridge 163:e59c8e839560 1268 */
AnnaBridge 163:e59c8e839560 1269 __STATIC_INLINE void LL_COMP_SetOutputBlankingSource(COMP_TypeDef *COMPx, uint32_t BlankingSource)
AnnaBridge 163:e59c8e839560 1270 {
AnnaBridge 163:e59c8e839560 1271 MODIFY_REG(COMPx->CSR, COMP_CSR_COMPxBLANKING, BlankingSource);
AnnaBridge 163:e59c8e839560 1272 }
AnnaBridge 163:e59c8e839560 1273
AnnaBridge 163:e59c8e839560 1274 /**
AnnaBridge 163:e59c8e839560 1275 * @brief Get comparator instance blanking source.
AnnaBridge 163:e59c8e839560 1276 * @note Availability of parameters of blanking source from timer
AnnaBridge 163:e59c8e839560 1277 * depends on timers availability on the selected device.
AnnaBridge 163:e59c8e839560 1278 * @note Blanking source may be specific to each comparator instance.
AnnaBridge 163:e59c8e839560 1279 * Refer to description of parameters or to reference manual.
AnnaBridge 163:e59c8e839560 1280 * @rmtoll CSR COMPxBLANKING LL_COMP_GetOutputBlankingSource
AnnaBridge 163:e59c8e839560 1281 * @param COMPx Comparator instance
AnnaBridge 163:e59c8e839560 1282 * @retval Returned value can be one of the following values:
AnnaBridge 163:e59c8e839560 1283 * @arg @ref LL_COMP_BLANKINGSRC_NONE
AnnaBridge 163:e59c8e839560 1284 * @arg @ref LL_COMP_BLANKINGSRC_TIM1_OC5_COMP2 (1)
AnnaBridge 163:e59c8e839560 1285 * @arg @ref LL_COMP_BLANKINGSRC_TIM2_OC3_COMP2 (1)
AnnaBridge 163:e59c8e839560 1286 * @arg @ref LL_COMP_BLANKINGSRC_TIM3_OC3_COMP2 (1)
AnnaBridge 163:e59c8e839560 1287 * @arg @ref LL_COMP_BLANKINGSRC_TIM1_OC5_COMP1_2 (2)(3)
AnnaBridge 163:e59c8e839560 1288 * @arg @ref LL_COMP_BLANKINGSRC_TIM2_OC3_COMP1_2 (2)(3)
AnnaBridge 163:e59c8e839560 1289 * @arg @ref LL_COMP_BLANKINGSRC_TIM3_OC3_COMP1_2 (2)(3)
AnnaBridge 163:e59c8e839560 1290 * @arg @ref LL_COMP_BLANKINGSRC_TIM3_OC4_COMP4
AnnaBridge 163:e59c8e839560 1291 * @arg @ref LL_COMP_BLANKINGSRC_TIM15_OC1_COMP4
AnnaBridge 163:e59c8e839560 1292 * @arg @ref LL_COMP_BLANKINGSRC_TIM2_OC4_COMP6 (2)
AnnaBridge 163:e59c8e839560 1293 * @arg @ref LL_COMP_BLANKINGSRC_TIM15_OC2_COMP6 (1)(2)
AnnaBridge 163:e59c8e839560 1294 * @arg @ref LL_COMP_BLANKINGSRC_TIM1_OC5_COMP1_2_7 (3)
AnnaBridge 163:e59c8e839560 1295 * @arg @ref LL_COMP_BLANKINGSRC_TIM2_OC4_COMP3_6 (3)
AnnaBridge 163:e59c8e839560 1296 * @arg @ref LL_COMP_BLANKINGSRC_TIM8_OC5_COMP4_5_6_7 (3)
AnnaBridge 163:e59c8e839560 1297 * @arg @ref LL_COMP_BLANKINGSRC_TIM15_OC2_COMP6_7 (3)
AnnaBridge 163:e59c8e839560 1298 *
AnnaBridge 163:e59c8e839560 1299 * (1) Parameter available on devices: STM32F301x8, STM32F302x8, STM32F318xx, STM32F303x8, STM32F334x8, STM32F328xx.\n
AnnaBridge 163:e59c8e839560 1300 * (2) Parameter available on devices: STM32F302xE, STM32F302xC.\n
AnnaBridge 163:e59c8e839560 1301 * (3) Parameter available on devices: STM32F303xE, STM32F398xx, STM32F303xC, STM32F358xx.
AnnaBridge 163:e59c8e839560 1302 */
AnnaBridge 163:e59c8e839560 1303 __STATIC_INLINE uint32_t LL_COMP_GetOutputBlankingSource(COMP_TypeDef *COMPx)
AnnaBridge 163:e59c8e839560 1304 {
AnnaBridge 163:e59c8e839560 1305 return (uint32_t)(READ_BIT(COMPx->CSR, COMP_CSR_COMPxBLANKING));
AnnaBridge 163:e59c8e839560 1306 }
AnnaBridge 163:e59c8e839560 1307
AnnaBridge 163:e59c8e839560 1308 /**
AnnaBridge 163:e59c8e839560 1309 * @}
AnnaBridge 163:e59c8e839560 1310 */
AnnaBridge 163:e59c8e839560 1311
AnnaBridge 163:e59c8e839560 1312 /** @defgroup COMP_LL_EF_Operation Operation on comparator instance
AnnaBridge 163:e59c8e839560 1313 * @{
AnnaBridge 163:e59c8e839560 1314 */
AnnaBridge 163:e59c8e839560 1315
AnnaBridge 163:e59c8e839560 1316 /**
AnnaBridge 163:e59c8e839560 1317 * @brief Enable comparator instance.
AnnaBridge 163:e59c8e839560 1318 * @note After enable from off state, comparator requires a delay
AnnaBridge 163:e59c8e839560 1319 * to reach reach propagation delay specification.
AnnaBridge 163:e59c8e839560 1320 * Refer to device datasheet, parameter "tSTART".
AnnaBridge 163:e59c8e839560 1321 * @rmtoll CSR COMPxEN LL_COMP_Enable
AnnaBridge 163:e59c8e839560 1322 * @param COMPx Comparator instance
AnnaBridge 163:e59c8e839560 1323 * @retval None
AnnaBridge 163:e59c8e839560 1324 */
AnnaBridge 163:e59c8e839560 1325 __STATIC_INLINE void LL_COMP_Enable(COMP_TypeDef *COMPx)
AnnaBridge 163:e59c8e839560 1326 {
AnnaBridge 163:e59c8e839560 1327 SET_BIT(COMPx->CSR, COMP_CSR_COMPxEN);
AnnaBridge 163:e59c8e839560 1328 }
AnnaBridge 163:e59c8e839560 1329
AnnaBridge 163:e59c8e839560 1330 /**
AnnaBridge 163:e59c8e839560 1331 * @brief Disable comparator instance.
AnnaBridge 163:e59c8e839560 1332 * @rmtoll CSR COMPxEN LL_COMP_Disable
AnnaBridge 163:e59c8e839560 1333 * @param COMPx Comparator instance
AnnaBridge 163:e59c8e839560 1334 * @retval None
AnnaBridge 163:e59c8e839560 1335 */
AnnaBridge 163:e59c8e839560 1336 __STATIC_INLINE void LL_COMP_Disable(COMP_TypeDef *COMPx)
AnnaBridge 163:e59c8e839560 1337 {
AnnaBridge 163:e59c8e839560 1338 CLEAR_BIT(COMPx->CSR, COMP_CSR_COMPxEN);
AnnaBridge 163:e59c8e839560 1339 }
AnnaBridge 163:e59c8e839560 1340
AnnaBridge 163:e59c8e839560 1341 /**
AnnaBridge 163:e59c8e839560 1342 * @brief Get comparator enable state
AnnaBridge 163:e59c8e839560 1343 * (0: COMP is disabled, 1: COMP is enabled)
AnnaBridge 163:e59c8e839560 1344 * @rmtoll CSR COMPxEN LL_COMP_IsEnabled
AnnaBridge 163:e59c8e839560 1345 * @param COMPx Comparator instance
AnnaBridge 163:e59c8e839560 1346 * @retval State of bit (1 or 0).
AnnaBridge 163:e59c8e839560 1347 */
AnnaBridge 163:e59c8e839560 1348 __STATIC_INLINE uint32_t LL_COMP_IsEnabled(COMP_TypeDef *COMPx)
AnnaBridge 163:e59c8e839560 1349 {
AnnaBridge 163:e59c8e839560 1350 return (READ_BIT(COMPx->CSR, COMP_CSR_COMPxEN) == (COMP_CSR_COMPxEN));
AnnaBridge 163:e59c8e839560 1351 }
AnnaBridge 163:e59c8e839560 1352
AnnaBridge 163:e59c8e839560 1353 /**
AnnaBridge 163:e59c8e839560 1354 * @brief Lock comparator instance.
AnnaBridge 163:e59c8e839560 1355 * @note Once locked, comparator configuration can be accessed in read-only.
AnnaBridge 163:e59c8e839560 1356 * @note The only way to unlock the comparator is a device hardware reset.
AnnaBridge 163:e59c8e839560 1357 * @rmtoll CSR COMPxLOCK LL_COMP_Lock
AnnaBridge 163:e59c8e839560 1358 * @param COMPx Comparator instance
AnnaBridge 163:e59c8e839560 1359 * @retval None
AnnaBridge 163:e59c8e839560 1360 */
AnnaBridge 163:e59c8e839560 1361 __STATIC_INLINE void LL_COMP_Lock(COMP_TypeDef *COMPx)
AnnaBridge 163:e59c8e839560 1362 {
AnnaBridge 163:e59c8e839560 1363 SET_BIT(COMPx->CSR, COMP_CSR_COMPxLOCK);
AnnaBridge 163:e59c8e839560 1364 }
AnnaBridge 163:e59c8e839560 1365
AnnaBridge 163:e59c8e839560 1366 /**
AnnaBridge 163:e59c8e839560 1367 * @brief Get comparator lock state
AnnaBridge 163:e59c8e839560 1368 * (0: COMP is unlocked, 1: COMP is locked).
AnnaBridge 163:e59c8e839560 1369 * @note Once locked, comparator configuration can be accessed in read-only.
AnnaBridge 163:e59c8e839560 1370 * @note The only way to unlock the comparator is a device hardware reset.
AnnaBridge 163:e59c8e839560 1371 * @rmtoll CSR COMPxLOCK LL_COMP_IsLocked
AnnaBridge 163:e59c8e839560 1372 * @param COMPx Comparator instance
AnnaBridge 163:e59c8e839560 1373 * @retval State of bit (1 or 0).
AnnaBridge 163:e59c8e839560 1374 */
AnnaBridge 163:e59c8e839560 1375 __STATIC_INLINE uint32_t LL_COMP_IsLocked(COMP_TypeDef *COMPx)
AnnaBridge 163:e59c8e839560 1376 {
AnnaBridge 163:e59c8e839560 1377 return (READ_BIT(COMPx->CSR, COMP_CSR_COMPxLOCK) == (COMP_CSR_COMPxLOCK));
AnnaBridge 163:e59c8e839560 1378 }
AnnaBridge 163:e59c8e839560 1379
AnnaBridge 163:e59c8e839560 1380 /**
AnnaBridge 163:e59c8e839560 1381 * @brief Read comparator instance output level.
AnnaBridge 163:e59c8e839560 1382 * @note The comparator output level depends on the selected polarity
AnnaBridge 163:e59c8e839560 1383 * (Refer to function @ref LL_COMP_SetOutputPolarity()).
AnnaBridge 163:e59c8e839560 1384 * If the comparator polarity is not inverted:
AnnaBridge 163:e59c8e839560 1385 * - Comparator output is low when the input plus
AnnaBridge 163:e59c8e839560 1386 * is at a lower voltage than the input minus
AnnaBridge 163:e59c8e839560 1387 * - Comparator output is high when the input plus
AnnaBridge 163:e59c8e839560 1388 * is at a higher voltage than the input minus
AnnaBridge 163:e59c8e839560 1389 * If the comparator polarity is inverted:
AnnaBridge 163:e59c8e839560 1390 * - Comparator output is high when the input plus
AnnaBridge 163:e59c8e839560 1391 * is at a lower voltage than the input minus
AnnaBridge 163:e59c8e839560 1392 * - Comparator output is low when the input plus
AnnaBridge 163:e59c8e839560 1393 * is at a higher voltage than the input minus
AnnaBridge 163:e59c8e839560 1394 * @rmtoll CSR COMPxOUT LL_COMP_ReadOutputLevel
AnnaBridge 163:e59c8e839560 1395 * @param COMPx Comparator instance
AnnaBridge 163:e59c8e839560 1396 * @retval Returned value can be one of the following values:
AnnaBridge 163:e59c8e839560 1397 * @arg @ref LL_COMP_OUTPUT_LEVEL_LOW
AnnaBridge 163:e59c8e839560 1398 * @arg @ref LL_COMP_OUTPUT_LEVEL_HIGH
AnnaBridge 163:e59c8e839560 1399 */
AnnaBridge 163:e59c8e839560 1400 __STATIC_INLINE uint32_t LL_COMP_ReadOutputLevel(COMP_TypeDef *COMPx)
AnnaBridge 163:e59c8e839560 1401 {
AnnaBridge 163:e59c8e839560 1402 return (uint32_t)(READ_BIT(COMPx->CSR, COMP_CSR_COMPxOUT)
AnnaBridge 163:e59c8e839560 1403 >> LL_COMP_OUTPUT_LEVEL_BITOFFSET_POS);
AnnaBridge 163:e59c8e839560 1404 }
AnnaBridge 163:e59c8e839560 1405
AnnaBridge 163:e59c8e839560 1406 /**
AnnaBridge 163:e59c8e839560 1407 * @}
AnnaBridge 163:e59c8e839560 1408 */
AnnaBridge 163:e59c8e839560 1409
AnnaBridge 163:e59c8e839560 1410 #if defined(USE_FULL_LL_DRIVER)
AnnaBridge 163:e59c8e839560 1411 /** @defgroup COMP_LL_EF_Init Initialization and de-initialization functions
AnnaBridge 163:e59c8e839560 1412 * @{
AnnaBridge 163:e59c8e839560 1413 */
AnnaBridge 163:e59c8e839560 1414
AnnaBridge 163:e59c8e839560 1415 ErrorStatus LL_COMP_DeInit(COMP_TypeDef *COMPx);
AnnaBridge 163:e59c8e839560 1416 ErrorStatus LL_COMP_Init(COMP_TypeDef *COMPx, LL_COMP_InitTypeDef *COMP_InitStruct);
AnnaBridge 163:e59c8e839560 1417 void LL_COMP_StructInit(LL_COMP_InitTypeDef *COMP_InitStruct);
AnnaBridge 163:e59c8e839560 1418
AnnaBridge 163:e59c8e839560 1419 /**
AnnaBridge 163:e59c8e839560 1420 * @}
AnnaBridge 163:e59c8e839560 1421 */
AnnaBridge 163:e59c8e839560 1422 #endif /* USE_FULL_LL_DRIVER */
AnnaBridge 163:e59c8e839560 1423
AnnaBridge 163:e59c8e839560 1424 /**
AnnaBridge 163:e59c8e839560 1425 * @}
AnnaBridge 163:e59c8e839560 1426 */
AnnaBridge 163:e59c8e839560 1427
AnnaBridge 163:e59c8e839560 1428 /**
AnnaBridge 163:e59c8e839560 1429 * @}
AnnaBridge 163:e59c8e839560 1430 */
AnnaBridge 163:e59c8e839560 1431
AnnaBridge 163:e59c8e839560 1432 #endif /* COMP1 || COMP2 || COMP3 || COMP4 || COMP5 || COMP6 || COMP7 */
AnnaBridge 163:e59c8e839560 1433
AnnaBridge 163:e59c8e839560 1434
AnnaBridge 163:e59c8e839560 1435 #endif /* STM32F301x8 || STM32F302x8 || STM32F302xC || STM32F302xE || STM32F303x8 || STM32F303xC || STM32F303xE || STM32F318xx || STM32F328xx || STM32F334x8 || STM32F358xx || STM32F398xx */
AnnaBridge 163:e59c8e839560 1436
AnnaBridge 163:e59c8e839560 1437 #if defined (COMP_V1_1_0_0)
AnnaBridge 163:e59c8e839560 1438
AnnaBridge 163:e59c8e839560 1439 #if defined (COMP1) || defined (COMP2)
AnnaBridge 163:e59c8e839560 1440
AnnaBridge 163:e59c8e839560 1441 /** @defgroup COMP_LL COMP
AnnaBridge 163:e59c8e839560 1442 * @{
AnnaBridge 163:e59c8e839560 1443 */
AnnaBridge 163:e59c8e839560 1444
AnnaBridge 163:e59c8e839560 1445 /* Private types -------------------------------------------------------------*/
AnnaBridge 163:e59c8e839560 1446 /* Private variables ---------------------------------------------------------*/
AnnaBridge 163:e59c8e839560 1447 /* Private constants ---------------------------------------------------------*/
AnnaBridge 163:e59c8e839560 1448 /** @defgroup COMP_LL_Private_Constants COMP Private Constants
AnnaBridge 163:e59c8e839560 1449 * @{
AnnaBridge 163:e59c8e839560 1450 */
AnnaBridge 163:e59c8e839560 1451
AnnaBridge 163:e59c8e839560 1452 /* Differentiation between COMP instances */
AnnaBridge 163:e59c8e839560 1453 /* Note: Value not corresponding to a register offset since both */
AnnaBridge 163:e59c8e839560 1454 /* COMP instances are sharing the same register) . */
AnnaBridge 163:e59c8e839560 1455 #define COMPX_BASE COMP_BASE
AnnaBridge 163:e59c8e839560 1456 #define COMPX (COMP1 - COMP2)
AnnaBridge 163:e59c8e839560 1457
AnnaBridge 163:e59c8e839560 1458 /* COMP registers bits positions */
AnnaBridge 163:e59c8e839560 1459 #define LL_COMP_OUTPUT_LEVEL_BITOFFSET_POS ((uint32_t)14U) /* Value equivalent to POSITION_VAL(COMP_CSR_COMP1OUT) */
AnnaBridge 163:e59c8e839560 1460
AnnaBridge 163:e59c8e839560 1461 /**
AnnaBridge 163:e59c8e839560 1462 * @}
AnnaBridge 163:e59c8e839560 1463 */
AnnaBridge 163:e59c8e839560 1464
AnnaBridge 163:e59c8e839560 1465 /* Private macros ------------------------------------------------------------*/
AnnaBridge 163:e59c8e839560 1466 /** @defgroup COMP_LL_Private_Macros COMP Private Macros
AnnaBridge 163:e59c8e839560 1467 * @{
AnnaBridge 163:e59c8e839560 1468 */
AnnaBridge 163:e59c8e839560 1469
AnnaBridge 163:e59c8e839560 1470 /**
AnnaBridge 163:e59c8e839560 1471 * @brief Driver macro reserved for internal use: if COMP instance selected
AnnaBridge 163:e59c8e839560 1472 * is odd (COMP1, COMP3, ...), return value '1', else return '0'.
AnnaBridge 163:e59c8e839560 1473 * @param __COMP_INSTANCE__ COMP instance
AnnaBridge 163:e59c8e839560 1474 * @retval If COMP instance is odd, value '1'. Else, value '0'.
AnnaBridge 163:e59c8e839560 1475 */
AnnaBridge 163:e59c8e839560 1476 #define __COMP_IS_INSTANCE_ODD(__COMP_INSTANCE__) \
AnnaBridge 163:e59c8e839560 1477 ((~(((uint32_t)(__COMP_INSTANCE__) - COMP_BASE) >> 1U)) & 0x00000001)
AnnaBridge 163:e59c8e839560 1478
AnnaBridge 163:e59c8e839560 1479 /**
AnnaBridge 163:e59c8e839560 1480 * @brief Driver macro reserved for internal use: if COMP instance selected
AnnaBridge 163:e59c8e839560 1481 * is even (COMP2, COMP4, ...), return value '1', else return '0'.
AnnaBridge 163:e59c8e839560 1482 * @param __COMP_INSTANCE__ COMP instance
AnnaBridge 163:e59c8e839560 1483 * @retval If COMP instance is even, value '1'. Else, value '0'.
AnnaBridge 163:e59c8e839560 1484 */
AnnaBridge 163:e59c8e839560 1485 #define __COMP_IS_INSTANCE_EVEN(__COMP_INSTANCE__) \
AnnaBridge 163:e59c8e839560 1486 (((uint32_t)(__COMP_INSTANCE__) - COMP_BASE) >> 1U)
AnnaBridge 163:e59c8e839560 1487
AnnaBridge 163:e59c8e839560 1488 /**
AnnaBridge 163:e59c8e839560 1489 * @brief Driver macro reserved for internal use: from COMP instance
AnnaBridge 163:e59c8e839560 1490 * selected, set offset of bits into COMP register.
AnnaBridge 163:e59c8e839560 1491 * @note Since both COMP instances are sharing the same register
AnnaBridge 163:e59c8e839560 1492 * with 2 area of bits with an offset of 16 bits, this function
AnnaBridge 163:e59c8e839560 1493 * returns value "0" if COMP1 is selected and "16" if COMP2 is
AnnaBridge 163:e59c8e839560 1494 * selected.
AnnaBridge 163:e59c8e839560 1495 * @param __COMP_INSTANCE__ COMP instance
AnnaBridge 163:e59c8e839560 1496 * @retval Bits offset in register 32 bits
AnnaBridge 163:e59c8e839560 1497 */
AnnaBridge 163:e59c8e839560 1498 #define __COMP_BITOFFSET_INSTANCE(__COMP_INSTANCE__) \
AnnaBridge 163:e59c8e839560 1499 (((uint32_t)(__COMP_INSTANCE__) - COMP_BASE) << 3U)
AnnaBridge 163:e59c8e839560 1500
AnnaBridge 163:e59c8e839560 1501 /**
AnnaBridge 163:e59c8e839560 1502 * @}
AnnaBridge 163:e59c8e839560 1503 */
AnnaBridge 163:e59c8e839560 1504
AnnaBridge 163:e59c8e839560 1505 /* Exported types ------------------------------------------------------------*/
AnnaBridge 163:e59c8e839560 1506 #if defined(USE_FULL_LL_DRIVER)
AnnaBridge 163:e59c8e839560 1507 /** @defgroup COMP_LL_ES_INIT COMP Exported Init structure
AnnaBridge 163:e59c8e839560 1508 * @{
AnnaBridge 163:e59c8e839560 1509 */
AnnaBridge 163:e59c8e839560 1510
AnnaBridge 163:e59c8e839560 1511 /**
AnnaBridge 163:e59c8e839560 1512 * @brief Structure definition of some features of COMP instance.
AnnaBridge 163:e59c8e839560 1513 */
AnnaBridge 163:e59c8e839560 1514 typedef struct
AnnaBridge 163:e59c8e839560 1515 {
AnnaBridge 163:e59c8e839560 1516 uint32_t PowerMode; /*!< Set comparator operating mode to adjust power and speed.
AnnaBridge 163:e59c8e839560 1517 This parameter can be a value of @ref COMP_LL_EC_POWERMODE
AnnaBridge 163:e59c8e839560 1518
AnnaBridge 163:e59c8e839560 1519 This feature can be modified afterwards using unitary function @ref LL_COMP_SetPowerMode(). */
AnnaBridge 163:e59c8e839560 1520
AnnaBridge 163:e59c8e839560 1521 uint32_t InputPlus; /*!< Set comparator input plus (non-inverting input).
AnnaBridge 163:e59c8e839560 1522 This parameter can be a value of @ref COMP_LL_EC_INPUT_PLUS
AnnaBridge 163:e59c8e839560 1523
AnnaBridge 163:e59c8e839560 1524 This feature can be modified afterwards using unitary function @ref LL_COMP_SetInputPlus(). */
AnnaBridge 163:e59c8e839560 1525
AnnaBridge 163:e59c8e839560 1526 uint32_t InputMinus; /*!< Set comparator input minus (inverting input).
AnnaBridge 163:e59c8e839560 1527 This parameter can be a value of @ref COMP_LL_EC_INPUT_MINUS
AnnaBridge 163:e59c8e839560 1528
AnnaBridge 163:e59c8e839560 1529 This feature can be modified afterwards using unitary function @ref LL_COMP_SetInputMinus(). */
AnnaBridge 163:e59c8e839560 1530
AnnaBridge 163:e59c8e839560 1531 uint32_t InputHysteresis; /*!< Set comparator hysteresis mode of the input minus.
AnnaBridge 163:e59c8e839560 1532 This parameter can be a value of @ref COMP_LL_EC_INPUT_HYSTERESIS
AnnaBridge 163:e59c8e839560 1533
AnnaBridge 163:e59c8e839560 1534 This feature can be modified afterwards using unitary function @ref LL_COMP_SetInputHysteresis(). */
AnnaBridge 163:e59c8e839560 1535
AnnaBridge 163:e59c8e839560 1536 uint32_t OutputSelection; /*!< Set comparator output selection.
AnnaBridge 163:e59c8e839560 1537 This parameter can be a value of @ref COMP_LL_EC_OUTPUT_SELECTION
AnnaBridge 163:e59c8e839560 1538
AnnaBridge 163:e59c8e839560 1539 This feature can be modified afterwards using unitary function @ref LL_COMP_SetOutputSelection(). */
AnnaBridge 163:e59c8e839560 1540
AnnaBridge 163:e59c8e839560 1541 uint32_t OutputPolarity; /*!< Set comparator output polarity.
AnnaBridge 163:e59c8e839560 1542 This parameter can be a value of @ref COMP_LL_EC_OUTPUT_POLARITY
AnnaBridge 163:e59c8e839560 1543
AnnaBridge 163:e59c8e839560 1544 This feature can be modified afterwards using unitary function @ref LL_COMP_SetOutputPolarity(). */
AnnaBridge 163:e59c8e839560 1545
AnnaBridge 163:e59c8e839560 1546 } LL_COMP_InitTypeDef;
AnnaBridge 163:e59c8e839560 1547
AnnaBridge 163:e59c8e839560 1548 /**
AnnaBridge 163:e59c8e839560 1549 * @}
AnnaBridge 163:e59c8e839560 1550 */
AnnaBridge 163:e59c8e839560 1551 #endif /* USE_FULL_LL_DRIVER */
AnnaBridge 163:e59c8e839560 1552
AnnaBridge 163:e59c8e839560 1553 /* Exported constants --------------------------------------------------------*/
AnnaBridge 163:e59c8e839560 1554 /** @defgroup COMP_LL_Exported_Constants COMP Exported Constants
AnnaBridge 163:e59c8e839560 1555 * @{
AnnaBridge 163:e59c8e839560 1556 */
AnnaBridge 163:e59c8e839560 1557
AnnaBridge 163:e59c8e839560 1558 /** @defgroup COMP_LL_EC_COMMON_WINDOWMODE Comparator common modes - Window mode
AnnaBridge 163:e59c8e839560 1559 * @{
AnnaBridge 163:e59c8e839560 1560 */
AnnaBridge 163:e59c8e839560 1561 #define LL_COMP_WINDOWMODE_DISABLE ((uint32_t)0x00000000U) /*!< Window mode disable: Comparators 1 and 2 are independent */
AnnaBridge 163:e59c8e839560 1562 #define LL_COMP_WINDOWMODE_COMP1_INPUT_PLUS_COMMON (COMP_CSR_WNDWEN) /*!< 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 163:e59c8e839560 1563 /**
AnnaBridge 163:e59c8e839560 1564 * @}
AnnaBridge 163:e59c8e839560 1565 */
AnnaBridge 163:e59c8e839560 1566
AnnaBridge 163:e59c8e839560 1567 /** @defgroup COMP_LL_EC_POWERMODE Comparator modes - Power mode
AnnaBridge 163:e59c8e839560 1568 * @{
AnnaBridge 163:e59c8e839560 1569 */
AnnaBridge 163:e59c8e839560 1570 #define LL_COMP_POWERMODE_HIGHSPEED ((uint32_t)0x00000000U) /*!< COMP power mode to high speed */
AnnaBridge 163:e59c8e839560 1571 #define LL_COMP_POWERMODE_MEDIUMSPEED (COMP_CSR_COMP1MODE_0) /*!< COMP power mode to medium speed */
AnnaBridge 163:e59c8e839560 1572 #define LL_COMP_POWERMODE_LOWPOWER (COMP_CSR_COMP1MODE_1) /*!< COMP power mode to low power */
AnnaBridge 163:e59c8e839560 1573 #define LL_COMP_POWERMODE_ULTRALOWPOWER (COMP_CSR_COMP1MODE_1 | COMP_CSR_COMP1MODE_0) /*!< COMP power mode to ultra-low power */
AnnaBridge 163:e59c8e839560 1574 /**
AnnaBridge 163:e59c8e839560 1575 * @}
AnnaBridge 163:e59c8e839560 1576 */
AnnaBridge 163:e59c8e839560 1577
AnnaBridge 163:e59c8e839560 1578 /** @defgroup COMP_LL_EC_INPUT_PLUS Comparator inputs - Input plus (input non-inverting) selection
AnnaBridge 163:e59c8e839560 1579 * @{
AnnaBridge 163:e59c8e839560 1580 */
AnnaBridge 163:e59c8e839560 1581 #define LL_COMP_INPUT_PLUS_IO1 ((uint32_t)0x00000000U) /*!< Comparator input plus connected to IO1 (pin PA1 for COMP1, pin PA3 for COMP2) */
AnnaBridge 163:e59c8e839560 1582 #define LL_COMP_INPUT_PLUS_DAC1_CH1 (COMP_CSR_COMP1SW1) /*!< Comparator input plus connected to DAC1 channel 1 (DAC_OUT1), through dedicated switch (Note: this switch is solely intended to redirect signals onto high impedance input, such as COMP1 input plus (highly resistive switch)) (specific to COMP instance: COMP1) */
AnnaBridge 163:e59c8e839560 1583 /**
AnnaBridge 163:e59c8e839560 1584 * @}
AnnaBridge 163:e59c8e839560 1585 */
AnnaBridge 163:e59c8e839560 1586
AnnaBridge 163:e59c8e839560 1587 /** @defgroup COMP_LL_EC_INPUT_MINUS Comparator inputs - Input minus (input inverting) selection
AnnaBridge 163:e59c8e839560 1588 * @{
AnnaBridge 163:e59c8e839560 1589 */
AnnaBridge 163:e59c8e839560 1590 #define LL_COMP_INPUT_MINUS_1_4VREFINT ((uint32_t)0x00000000U) /*!< Comparator input minus connected to 1/4 VrefInt */
AnnaBridge 163:e59c8e839560 1591 #define LL_COMP_INPUT_MINUS_1_2VREFINT ( COMP_CSR_COMP1INSEL_0) /*!< Comparator input minus connected to 1/2 VrefInt */
AnnaBridge 163:e59c8e839560 1592 #define LL_COMP_INPUT_MINUS_3_4VREFINT ( COMP_CSR_COMP1INSEL_1 ) /*!< Comparator input minus connected to 3/4 VrefInt */
AnnaBridge 163:e59c8e839560 1593 #define LL_COMP_INPUT_MINUS_VREFINT ( COMP_CSR_COMP1INSEL_1 | COMP_CSR_COMP1INSEL_0) /*!< Comparator input minus connected to VrefInt */
AnnaBridge 163:e59c8e839560 1594 #define LL_COMP_INPUT_MINUS_DAC1_CH1 (COMP_CSR_COMP1INSEL_2 ) /*!< Comparator input minus connected to DAC1 channel 1 (DAC_OUT1) */
AnnaBridge 163:e59c8e839560 1595 #define LL_COMP_INPUT_MINUS_DAC1_CH2 (COMP_CSR_COMP1INSEL_2 | COMP_CSR_COMP1INSEL_0) /*!< Comparator input minus connected to DAC1 channel 2 (DAC_OUT2) */
AnnaBridge 163:e59c8e839560 1596 #define LL_COMP_INPUT_MINUS_IO1 (COMP_CSR_COMP1INSEL_2 | COMP_CSR_COMP1INSEL_1 ) /*!< Comparator input minus connected to IO1 (pin PA0 for COMP1, pin PA2 for COMP2) */
AnnaBridge 163:e59c8e839560 1597 #define LL_COMP_INPUT_MINUS_IO2 (COMP_CSR_COMP1INSEL_2 | COMP_CSR_COMP1INSEL_1 | COMP_CSR_COMP1INSEL_0) /*!< Comparator input minus connected to IO2 (pin PA6 for COMP1 & COMP2) */
AnnaBridge 163:e59c8e839560 1598 #define LL_COMP_INPUT_MINUS_IO3 (COMP_CSR_COMP1INSEL_2 | COMP_CSR_COMP1INSEL_0) /*!< Comparator input minus connected to IO3 (pin PA5 for COMP1 & COMP2) */
AnnaBridge 163:e59c8e839560 1599 #define LL_COMP_INPUT_MINUS_IO4 (COMP_CSR_COMP1INSEL_2 ) /*!< Comparator input minus connected to IO4 (pin PA4 for COMP1 & COMP2) */
AnnaBridge 163:e59c8e839560 1600 #define LL_COMP_INPUT_MINUS_DAC2_CH1 (COMP_CSR_COMP1INSEL_2 | COMP_CSR_COMP1INSEL_1 | COMP_CSR_COMP1INSEL_0) /*!< Comparator input minus connected to DAC2 channel 1 (DAC2_OUT1) */
AnnaBridge 163:e59c8e839560 1601 /**
AnnaBridge 163:e59c8e839560 1602 * @}
AnnaBridge 163:e59c8e839560 1603 */
AnnaBridge 163:e59c8e839560 1604
AnnaBridge 163:e59c8e839560 1605 /** @defgroup COMP_LL_EC_INPUT_HYSTERESIS Comparator input - Hysteresis
AnnaBridge 163:e59c8e839560 1606 * @{
AnnaBridge 163:e59c8e839560 1607 */
AnnaBridge 163:e59c8e839560 1608 #define LL_COMP_HYSTERESIS_NONE ((uint32_t)0x00000000U) /*!< No hysteresis */
AnnaBridge 163:e59c8e839560 1609 #define LL_COMP_HYSTERESIS_LOW ( COMP_CSR_COMP1HYST_0) /*!< Hysteresis level low */
AnnaBridge 163:e59c8e839560 1610 #define LL_COMP_HYSTERESIS_MEDIUM (COMP_CSR_COMP1HYST_1 ) /*!< Hysteresis level medium */
AnnaBridge 163:e59c8e839560 1611 #define LL_COMP_HYSTERESIS_HIGH (COMP_CSR_COMP1HYST_1 | COMP_CSR_COMP1HYST_0) /*!< Hysteresis level high */
AnnaBridge 163:e59c8e839560 1612 /**
AnnaBridge 163:e59c8e839560 1613 * @}
AnnaBridge 163:e59c8e839560 1614 */
AnnaBridge 163:e59c8e839560 1615
AnnaBridge 163:e59c8e839560 1616 /** @defgroup COMP_LL_EC_OUTPUT_SELECTION Comparator output - Output selection
AnnaBridge 163:e59c8e839560 1617 * @{
AnnaBridge 163:e59c8e839560 1618 */
AnnaBridge 163:e59c8e839560 1619 /* Note: Output redirection is common for COMP1 and COMP2 */
AnnaBridge 163:e59c8e839560 1620 #define LL_COMP_OUTPUT_NONE ((uint32_t)0x00000000U) /*!< COMP output is not connected to other peripherals (except GPIO and EXTI that are always connected to COMP output) */
AnnaBridge 163:e59c8e839560 1621 #define LL_COMP_OUTPUT_TIM2_IC4 (COMP_CSR_COMP1OUTSEL_2) /*!< COMP output connected to TIM2 input capture 4 */
AnnaBridge 163:e59c8e839560 1622 #define LL_COMP_OUTPUT_TIM2_OCCLR (COMP_CSR_COMP1OUTSEL_2 | COMP_CSR_COMP1OUTSEL_0) /*!< COMP output connected to TIM2 OCREF clear */
AnnaBridge 163:e59c8e839560 1623
AnnaBridge 163:e59c8e839560 1624 /* Note: Output redirection specific to COMP instance: COMP1 */
AnnaBridge 163:e59c8e839560 1625 #define LL_COMP_OUTPUT_TIM15_BKIN_COMP1 (COMP_CSR_COMP1OUTSEL_0) /*!< COMP output connected to TIM15 break input (BKIN) (specific to COMP instance: COMP1) */
AnnaBridge 163:e59c8e839560 1626 #define LL_COMP_OUTPUT_TIM3_IC1_COMP1 (COMP_CSR_COMP1OUTSEL_1) /*!< COMP output connected to TIM3 input capture 1 (specific to COMP instance: COMP1) */
AnnaBridge 163:e59c8e839560 1627 #define LL_COMP_OUTPUT_TIM3_OCCLR_COMP1 (COMP_CSR_COMP1OUTSEL_1 | COMP_CSR_COMP1OUTSEL_0) /*!< COMP output connected to TIM3 OCREF clear (specific to COMP instance: COMP1) */
AnnaBridge 163:e59c8e839560 1628 #define LL_COMP_OUTPUT_TIM5_IC4_COMP1 (COMP_CSR_COMP1OUTSEL_2 | COMP_CSR_COMP1OUTSEL_1) /*!< COMP output connected to TIM5 input capture 4 (specific to COMP instance: COMP1) */
AnnaBridge 163:e59c8e839560 1629 #define LL_COMP_OUTPUT_TIM5_OCCLR_COMP1 (COMP_CSR_COMP1OUTSEL_2 | COMP_CSR_COMP1OUTSEL_1 | COMP_CSR_COMP1OUTSEL_0) /*!< COMP output connected to TIM5 OCREF clear (specific to COMP instance: COMP1) */
AnnaBridge 163:e59c8e839560 1630
AnnaBridge 163:e59c8e839560 1631 /* Note: Output redirection specific to COMP instance: COMP2 */
AnnaBridge 163:e59c8e839560 1632 #define LL_COMP_OUTPUT_TIM16_BKIN_COMP2 (COMP_CSR_COMP1OUTSEL_0) /*!< COMP output connected to TIM16 break input (BKIN) (specific to COMP instance: COMP2) */
AnnaBridge 163:e59c8e839560 1633 #define LL_COMP_OUTPUT_TIM4_IC1_COMP2 (COMP_CSR_COMP1OUTSEL_1) /*!< COMP output connected to TIM4 input capture 1 (specific to COMP instance: COMP2) */
AnnaBridge 163:e59c8e839560 1634 #define LL_COMP_OUTPUT_TIM4_OCCLR_COMP2 (COMP_CSR_COMP1OUTSEL_1 | COMP_CSR_COMP1OUTSEL_0) /*!< COMP output connected to TIM4 OCREF clear (specific to COMP instance: COMP2) */
AnnaBridge 163:e59c8e839560 1635 #define LL_COMP_OUTPUT_TIM3_IC1_COMP2 (COMP_CSR_COMP1OUTSEL_2 | COMP_CSR_COMP1OUTSEL_1) /*!< COMP output connected to TIM3 input capture 1 (specific to COMP instance: COMP2) */
AnnaBridge 163:e59c8e839560 1636 #define LL_COMP_OUTPUT_TIM3_OCCLR_COMP2 (COMP_CSR_COMP1OUTSEL_2 | COMP_CSR_COMP1OUTSEL_1 | COMP_CSR_COMP1OUTSEL_0) /*!< COMP output connected to TIM3 OCREF clear (specific to COMP instance: COMP2) */
AnnaBridge 163:e59c8e839560 1637
AnnaBridge 163:e59c8e839560 1638 /* Note: Output redirection specific to COMP instances, defined with */
AnnaBridge 163:e59c8e839560 1639 /* generic naming not taking into account COMP instance constraints. */
AnnaBridge 163:e59c8e839560 1640 /* Refer to literal definitions above for COMP instance constraints. */
AnnaBridge 163:e59c8e839560 1641 /* Note: Some output redirections cannot have a generic naming, */
AnnaBridge 163:e59c8e839560 1642 /* due to literal value different depending on COMP instance. */
AnnaBridge 163:e59c8e839560 1643 /* (For exemple: LL_COMP_OUTPUT_TIM3_IC1_COMP1 and */
AnnaBridge 163:e59c8e839560 1644 /* LL_COMP_OUTPUT_TIM3_IC1_COMP2). */
AnnaBridge 163:e59c8e839560 1645 #define LL_COMP_OUTPUT_TIM15_BKIN LL_COMP_OUTPUT_TIM15_BKIN_COMP1 /*!< COMP output connected to TIM15 break input (BKIN). Caution: Parameter specific to COMP instances, defined with generic naming, not taking into account COMP instance constraints. Refer to literal definitions above for COMP instance constraints. */
AnnaBridge 163:e59c8e839560 1646 #define LL_COMP_OUTPUT_TIM16_BKIN LL_COMP_OUTPUT_TIM16_BKIN_COMP2 /*!< COMP output connected to TIM16 break input (BKIN). Caution: Parameter specific to COMP instances, defined with generic naming, not taking into account COMP instance constraints. Refer to literal definitions above for COMP instance constraints. */
AnnaBridge 163:e59c8e839560 1647 #define LL_COMP_OUTPUT_TIM4_IC1 LL_COMP_OUTPUT_TIM4_IC1_COMP2 /*!< COMP output connected to TIM4 input capture 1. Caution: Parameter specific to COMP instances, defined with generic naming, not taking into account COMP instance constraints. Refer to literal definitions above for COMP instance constraints. */
AnnaBridge 163:e59c8e839560 1648 #define LL_COMP_OUTPUT_TIM4_OCCLR LL_COMP_OUTPUT_TIM4_OCCLR_COMP2 /*!< COMP output connected to TIM4 OCREF clear. Caution: Parameter specific to COMP instances, defined with generic naming, not taking into account COMP instance constraints. Refer to literal definitions above for COMP instance constraints. */
AnnaBridge 163:e59c8e839560 1649 #define LL_COMP_OUTPUT_TIM5_IC4 LL_COMP_OUTPUT_TIM5_IC1_COMP1 /*!< COMP output connected to TIM5 input capture 4. Caution: Parameter specific to COMP instances, defined with generic naming, not taking into account COMP instance constraints. Refer to literal definitions above for COMP instance constraints. */
AnnaBridge 163:e59c8e839560 1650 #define LL_COMP_OUTPUT_TIM5_OCCLR LL_COMP_OUTPUT_TIM5_OCCLR_COMP1 /*!< COMP output connected to TIM5 OCREF clear. Caution: Parameter specific to COMP instances, defined with generic naming, not taking into account COMP instance constraints. Refer to literal definitions above for COMP instance constraints. */
AnnaBridge 163:e59c8e839560 1651 /**
AnnaBridge 163:e59c8e839560 1652 * @}
AnnaBridge 163:e59c8e839560 1653 */
AnnaBridge 163:e59c8e839560 1654
AnnaBridge 163:e59c8e839560 1655 /** @defgroup COMP_LL_EC_OUTPUT_POLARITY Comparator output - Output polarity
AnnaBridge 163:e59c8e839560 1656 * @{
AnnaBridge 163:e59c8e839560 1657 */
AnnaBridge 163:e59c8e839560 1658 #define LL_COMP_OUTPUTPOL_NONINVERTED ((uint32_t)0x00000000U) /*!< COMP output polarity is not inverted: comparator output is high when the plus (non-inverting) input is at a higher voltage than the minus (inverting) input */
AnnaBridge 163:e59c8e839560 1659 #define LL_COMP_OUTPUTPOL_INVERTED (COMP_CSR_COMP1POL) /*!< COMP output polarity is inverted: comparator output is low when the plus (non-inverting) input is at a lower voltage than the minus (inverting) input */
AnnaBridge 163:e59c8e839560 1660 /**
AnnaBridge 163:e59c8e839560 1661 * @}
AnnaBridge 163:e59c8e839560 1662 */
AnnaBridge 163:e59c8e839560 1663
AnnaBridge 163:e59c8e839560 1664 /** @defgroup COMP_LL_EC_OUTPUT_LEVEL Comparator output - Output level
AnnaBridge 163:e59c8e839560 1665 * @{
AnnaBridge 163:e59c8e839560 1666 */
AnnaBridge 163:e59c8e839560 1667 #define LL_COMP_OUTPUT_LEVEL_LOW ((uint32_t)0x00000000U) /*!< Comparator output level low (if the polarity is not inverted, otherwise to be complemented) */
AnnaBridge 163:e59c8e839560 1668 #define LL_COMP_OUTPUT_LEVEL_HIGH ((uint32_t)0x00000001U) /*!< Comparator output level high (if the polarity is not inverted, otherwise to be complemented) */
AnnaBridge 163:e59c8e839560 1669 /**
AnnaBridge 163:e59c8e839560 1670 * @}
AnnaBridge 163:e59c8e839560 1671 */
AnnaBridge 163:e59c8e839560 1672
AnnaBridge 163:e59c8e839560 1673 /** @defgroup COMP_LL_EC_HW_DELAYS Definitions of COMP hardware constraints delays
AnnaBridge 163:e59c8e839560 1674 * @note Only COMP IP HW delays are defined in COMP LL driver driver,
AnnaBridge 163:e59c8e839560 1675 * not timeout values.
AnnaBridge 163:e59c8e839560 1676 * For details on delays values, refer to descriptions in source code
AnnaBridge 163:e59c8e839560 1677 * above each literal definition.
AnnaBridge 163:e59c8e839560 1678 * @{
AnnaBridge 163:e59c8e839560 1679 */
AnnaBridge 163:e59c8e839560 1680
AnnaBridge 163:e59c8e839560 1681 /* Delay for comparator startup time. */
AnnaBridge 163:e59c8e839560 1682 /* Note: Delay required to reach propagation delay specification. */
AnnaBridge 163:e59c8e839560 1683 /* Literal set to maximum value (refer to device datasheet, */
AnnaBridge 163:e59c8e839560 1684 /* parameter "tSTART"). */
AnnaBridge 163:e59c8e839560 1685 /* Unit: us */
AnnaBridge 163:e59c8e839560 1686 #define LL_COMP_DELAY_STARTUP_US ((uint32_t) 60U) /*!< Delay for COMP startup time */
AnnaBridge 163:e59c8e839560 1687
AnnaBridge 163:e59c8e839560 1688 /* Delay for comparator voltage scaler stabilization time */
AnnaBridge 163:e59c8e839560 1689 /* (voltage from VrefInt, delay based on VrefInt startup time). */
AnnaBridge 163:e59c8e839560 1690 /* Literal set to maximum value (refer to device datasheet, */
AnnaBridge 163:e59c8e839560 1691 /* parameter "tS_SC"). */
AnnaBridge 163:e59c8e839560 1692 /* Unit: us */
AnnaBridge 163:e59c8e839560 1693 #define LL_COMP_DELAY_VOLTAGE_SCALER_STAB_US ((uint32_t) 200U) /*!< Delay for COMP voltage scaler stabilization time */
AnnaBridge 163:e59c8e839560 1694
AnnaBridge 163:e59c8e839560 1695
AnnaBridge 163:e59c8e839560 1696 /**
AnnaBridge 163:e59c8e839560 1697 * @}
AnnaBridge 163:e59c8e839560 1698 */
AnnaBridge 163:e59c8e839560 1699
AnnaBridge 163:e59c8e839560 1700 /**
AnnaBridge 163:e59c8e839560 1701 * @}
AnnaBridge 163:e59c8e839560 1702 */
AnnaBridge 163:e59c8e839560 1703
AnnaBridge 163:e59c8e839560 1704 /* Exported macro ------------------------------------------------------------*/
AnnaBridge 163:e59c8e839560 1705 /** @defgroup COMP_LL_Exported_Macros COMP Exported Macros
AnnaBridge 163:e59c8e839560 1706 * @{
AnnaBridge 163:e59c8e839560 1707 */
AnnaBridge 163:e59c8e839560 1708 /** @defgroup COMP_LL_EM_WRITE_READ Common write and read registers macro
AnnaBridge 163:e59c8e839560 1709 * @{
AnnaBridge 163:e59c8e839560 1710 */
AnnaBridge 163:e59c8e839560 1711
AnnaBridge 163:e59c8e839560 1712 /**
AnnaBridge 163:e59c8e839560 1713 * @brief Write a value in COMP register
AnnaBridge 163:e59c8e839560 1714 * @param __INSTANCE__ comparator instance
AnnaBridge 163:e59c8e839560 1715 * @param __REG__ Register to be written
AnnaBridge 163:e59c8e839560 1716 * @param __VALUE__ Value to be written in the register
AnnaBridge 163:e59c8e839560 1717 * @retval None
AnnaBridge 163:e59c8e839560 1718 */
AnnaBridge 163:e59c8e839560 1719 #define LL_COMP_WriteReg(__INSTANCE__, __REG__, __VALUE__) WRITE_REG(__INSTANCE__->__REG__, (__VALUE__))
AnnaBridge 163:e59c8e839560 1720
AnnaBridge 163:e59c8e839560 1721 /**
AnnaBridge 163:e59c8e839560 1722 * @brief Read a value in COMP register
AnnaBridge 163:e59c8e839560 1723 * @param __INSTANCE__ comparator instance
AnnaBridge 163:e59c8e839560 1724 * @param __REG__ Register to be read
AnnaBridge 163:e59c8e839560 1725 * @retval Register value
AnnaBridge 163:e59c8e839560 1726 */
AnnaBridge 163:e59c8e839560 1727 #define LL_COMP_ReadReg(__INSTANCE__, __REG__) READ_REG(__INSTANCE__->__REG__)
AnnaBridge 163:e59c8e839560 1728 /**
AnnaBridge 163:e59c8e839560 1729 * @}
AnnaBridge 163:e59c8e839560 1730 */
AnnaBridge 163:e59c8e839560 1731
AnnaBridge 163:e59c8e839560 1732 /** @defgroup COMP_LL_EM_HELPER_MACRO COMP helper macro
AnnaBridge 163:e59c8e839560 1733 * @{
AnnaBridge 163:e59c8e839560 1734 */
AnnaBridge 163:e59c8e839560 1735
AnnaBridge 163:e59c8e839560 1736 /**
AnnaBridge 163:e59c8e839560 1737 * @brief Helper macro to select the COMP common instance
AnnaBridge 163:e59c8e839560 1738 * to which is belonging the selected COMP instance.
AnnaBridge 163:e59c8e839560 1739 * @note COMP common register instance can be used to
AnnaBridge 163:e59c8e839560 1740 * set parameters common to several COMP instances.
AnnaBridge 163:e59c8e839560 1741 * Refer to functions having argument "COMPxy_COMMON" as parameter.
AnnaBridge 163:e59c8e839560 1742 * @param __COMPx__ COMP instance
AnnaBridge 163:e59c8e839560 1743 * @retval COMP common instance or value "0" if there is no COMP common instance.
AnnaBridge 163:e59c8e839560 1744 */
AnnaBridge 163:e59c8e839560 1745 #define __LL_COMP_COMMON_INSTANCE(__COMPx__) \
AnnaBridge 163:e59c8e839560 1746 (COMP12_COMMON)
AnnaBridge 163:e59c8e839560 1747
AnnaBridge 163:e59c8e839560 1748 /**
AnnaBridge 163:e59c8e839560 1749 * @}
AnnaBridge 163:e59c8e839560 1750 */
AnnaBridge 163:e59c8e839560 1751
AnnaBridge 163:e59c8e839560 1752 /**
AnnaBridge 163:e59c8e839560 1753 * @}
AnnaBridge 163:e59c8e839560 1754 */
AnnaBridge 163:e59c8e839560 1755
AnnaBridge 163:e59c8e839560 1756 /* Exported functions --------------------------------------------------------*/
AnnaBridge 163:e59c8e839560 1757 /** @defgroup COMP_LL_Exported_Functions COMP Exported Functions
AnnaBridge 163:e59c8e839560 1758 * @{
AnnaBridge 163:e59c8e839560 1759 */
AnnaBridge 163:e59c8e839560 1760
AnnaBridge 163:e59c8e839560 1761 /** @defgroup COMP_LL_EF_Configuration_comparator_common Configuration of COMP hierarchical scope: common to several COMP instances
AnnaBridge 163:e59c8e839560 1762 * @{
AnnaBridge 163:e59c8e839560 1763 */
AnnaBridge 163:e59c8e839560 1764
AnnaBridge 163:e59c8e839560 1765 /**
AnnaBridge 163:e59c8e839560 1766 * @brief Set window mode of a pair of comparators instances
AnnaBridge 163:e59c8e839560 1767 * (2 consecutive COMP instances odd and even COMP<x> and COMP<x+1>).
AnnaBridge 163:e59c8e839560 1768 * @rmtoll CSR WNDWEN LL_COMP_SetCommonWindowMode
AnnaBridge 163:e59c8e839560 1769 * @param COMPxy_COMMON Comparator common instance
AnnaBridge 163:e59c8e839560 1770 * (can be set directly from CMSIS definition or by using helper macro @ref __LL_COMP_COMMON_INSTANCE() )
AnnaBridge 163:e59c8e839560 1771 * @param WindowMode This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 1772 * @arg @ref LL_COMP_WINDOWMODE_DISABLE
AnnaBridge 163:e59c8e839560 1773 * @arg @ref LL_COMP_WINDOWMODE_COMP1_INPUT_PLUS_COMMON
AnnaBridge 163:e59c8e839560 1774 * @retval None
AnnaBridge 163:e59c8e839560 1775 */
AnnaBridge 163:e59c8e839560 1776 __STATIC_INLINE void LL_COMP_SetCommonWindowMode(COMP_Common_TypeDef *COMPxy_COMMON, uint32_t WindowMode)
AnnaBridge 163:e59c8e839560 1777 {
AnnaBridge 163:e59c8e839560 1778 MODIFY_REG(COMPxy_COMMON->CSR, COMP_CSR_WNDWEN, WindowMode);
AnnaBridge 163:e59c8e839560 1779 }
AnnaBridge 163:e59c8e839560 1780
AnnaBridge 163:e59c8e839560 1781 /**
AnnaBridge 163:e59c8e839560 1782 * @brief Get window mode of a pair of comparators instances
AnnaBridge 163:e59c8e839560 1783 * (2 consecutive COMP instances odd and even COMP<x> and COMP<x+1>).
AnnaBridge 163:e59c8e839560 1784 * @rmtoll CSR WNDWEN LL_COMP_GetCommonWindowMode
AnnaBridge 163:e59c8e839560 1785 * @param COMPxy_COMMON Comparator common instance
AnnaBridge 163:e59c8e839560 1786 * (can be set directly from CMSIS definition or by using helper macro @ref __LL_COMP_COMMON_INSTANCE() )
AnnaBridge 163:e59c8e839560 1787 * @retval Returned value can be one of the following values:
AnnaBridge 163:e59c8e839560 1788 * @arg @ref LL_COMP_WINDOWMODE_DISABLE
AnnaBridge 163:e59c8e839560 1789 * @arg @ref LL_COMP_WINDOWMODE_COMP1_INPUT_PLUS_COMMON
AnnaBridge 163:e59c8e839560 1790 */
AnnaBridge 163:e59c8e839560 1791 __STATIC_INLINE uint32_t LL_COMP_GetCommonWindowMode(COMP_Common_TypeDef *COMPxy_COMMON)
AnnaBridge 163:e59c8e839560 1792 {
AnnaBridge 163:e59c8e839560 1793 return (uint32_t)(READ_BIT(COMPxy_COMMON->CSR, COMP_CSR_WNDWEN));
AnnaBridge 163:e59c8e839560 1794 }
AnnaBridge 163:e59c8e839560 1795
AnnaBridge 163:e59c8e839560 1796 /**
AnnaBridge 163:e59c8e839560 1797 * @}
AnnaBridge 163:e59c8e839560 1798 */
AnnaBridge 163:e59c8e839560 1799
AnnaBridge 163:e59c8e839560 1800 /** @defgroup COMP_LL_EF_Configuration_comparator_modes Configuration of comparator modes
AnnaBridge 163:e59c8e839560 1801 * @{
AnnaBridge 163:e59c8e839560 1802 */
AnnaBridge 163:e59c8e839560 1803
AnnaBridge 163:e59c8e839560 1804 /**
AnnaBridge 163:e59c8e839560 1805 * @brief Set comparator instance operating mode to adjust power and speed.
AnnaBridge 163:e59c8e839560 1806 * @rmtoll CSR COMP1MODE LL_COMP_SetPowerMode\n
AnnaBridge 163:e59c8e839560 1807 * COMP2MODE LL_COMP_SetPowerMode
AnnaBridge 163:e59c8e839560 1808 * @param COMPx Comparator instance
AnnaBridge 163:e59c8e839560 1809 * @param PowerMode This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 1810 * @arg @ref LL_COMP_POWERMODE_HIGHSPEED
AnnaBridge 163:e59c8e839560 1811 * @arg @ref LL_COMP_POWERMODE_MEDIUMSPEED
AnnaBridge 163:e59c8e839560 1812 * @arg @ref LL_COMP_POWERMODE_LOWPOWER
AnnaBridge 163:e59c8e839560 1813 * @arg @ref LL_COMP_POWERMODE_ULTRALOWPOWER
AnnaBridge 163:e59c8e839560 1814 * @retval None
AnnaBridge 163:e59c8e839560 1815 */
AnnaBridge 163:e59c8e839560 1816 __STATIC_INLINE void LL_COMP_SetPowerMode(COMP_TypeDef *COMPx, uint32_t PowerMode)
AnnaBridge 163:e59c8e839560 1817 {
AnnaBridge 163:e59c8e839560 1818 MODIFY_REG(COMP->CSR,
AnnaBridge 163:e59c8e839560 1819 COMP_CSR_COMP1MODE << __COMP_BITOFFSET_INSTANCE(COMPx),
AnnaBridge 163:e59c8e839560 1820 PowerMode << __COMP_BITOFFSET_INSTANCE(COMPx) );
AnnaBridge 163:e59c8e839560 1821 }
AnnaBridge 163:e59c8e839560 1822
AnnaBridge 163:e59c8e839560 1823 /**
AnnaBridge 163:e59c8e839560 1824 * @brief Get comparator instance operating mode to adjust power and speed.
AnnaBridge 163:e59c8e839560 1825 * @rmtoll CSR COMP1MODE LL_COMP_GetPowerMode\n
AnnaBridge 163:e59c8e839560 1826 * COMP2MODE LL_COMP_GetPowerMode
AnnaBridge 163:e59c8e839560 1827 * @param COMPx Comparator instance
AnnaBridge 163:e59c8e839560 1828 * @retval Returned value can be one of the following values:
AnnaBridge 163:e59c8e839560 1829 * @arg @ref LL_COMP_POWERMODE_HIGHSPEED
AnnaBridge 163:e59c8e839560 1830 * @arg @ref LL_COMP_POWERMODE_MEDIUMSPEED
AnnaBridge 163:e59c8e839560 1831 * @arg @ref LL_COMP_POWERMODE_LOWPOWER
AnnaBridge 163:e59c8e839560 1832 * @arg @ref LL_COMP_POWERMODE_ULTRALOWPOWER
AnnaBridge 163:e59c8e839560 1833 */
AnnaBridge 163:e59c8e839560 1834 __STATIC_INLINE uint32_t LL_COMP_GetPowerMode(COMP_TypeDef *COMPx)
AnnaBridge 163:e59c8e839560 1835 {
AnnaBridge 163:e59c8e839560 1836 return (uint32_t)(READ_BIT(COMP->CSR,
AnnaBridge 163:e59c8e839560 1837 COMP_CSR_COMP1MODE << __COMP_BITOFFSET_INSTANCE(COMPx))
AnnaBridge 163:e59c8e839560 1838 >> __COMP_BITOFFSET_INSTANCE(COMPx)
AnnaBridge 163:e59c8e839560 1839 );
AnnaBridge 163:e59c8e839560 1840 }
AnnaBridge 163:e59c8e839560 1841
AnnaBridge 163:e59c8e839560 1842 /**
AnnaBridge 163:e59c8e839560 1843 * @}
AnnaBridge 163:e59c8e839560 1844 */
AnnaBridge 163:e59c8e839560 1845
AnnaBridge 163:e59c8e839560 1846 /** @defgroup COMP_LL_EF_Configuration_comparator_inputs Configuration of comparator inputs
AnnaBridge 163:e59c8e839560 1847 * @{
AnnaBridge 163:e59c8e839560 1848 */
AnnaBridge 163:e59c8e839560 1849
AnnaBridge 163:e59c8e839560 1850 /**
AnnaBridge 163:e59c8e839560 1851 * @brief Set comparator inputs minus (inverting) and plus (non-inverting).
AnnaBridge 163:e59c8e839560 1852 * @note In case of comparator input selected to be connected to IO:
AnnaBridge 163:e59c8e839560 1853 * GPIO pins are specific to each comparator instance.
AnnaBridge 163:e59c8e839560 1854 * Refer to description of parameters or to reference manual.
AnnaBridge 163:e59c8e839560 1855 * @rmtoll CSR COMP1INSEL LL_COMP_ConfigInputs\n
AnnaBridge 163:e59c8e839560 1856 * CSR COMP2INSEL LL_COMP_ConfigInputs\n
AnnaBridge 163:e59c8e839560 1857 * CSR COMP1SW1 LL_COMP_ConfigInputs
AnnaBridge 163:e59c8e839560 1858 * @param COMPx Comparator instance
AnnaBridge 163:e59c8e839560 1859 * @param InputMinus This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 1860 * @arg @ref LL_COMP_INPUT_MINUS_1_4VREFINT
AnnaBridge 163:e59c8e839560 1861 * @arg @ref LL_COMP_INPUT_MINUS_1_2VREFINT
AnnaBridge 163:e59c8e839560 1862 * @arg @ref LL_COMP_INPUT_MINUS_3_4VREFINT
AnnaBridge 163:e59c8e839560 1863 * @arg @ref LL_COMP_INPUT_MINUS_VREFINT
AnnaBridge 163:e59c8e839560 1864 * @arg @ref LL_COMP_INPUT_MINUS_DAC1_CH1
AnnaBridge 163:e59c8e839560 1865 * @arg @ref LL_COMP_INPUT_MINUS_DAC1_CH2
AnnaBridge 163:e59c8e839560 1866 * @arg @ref LL_COMP_INPUT_MINUS_IO1
AnnaBridge 163:e59c8e839560 1867 * @arg @ref LL_COMP_INPUT_MINUS_IO2
AnnaBridge 163:e59c8e839560 1868 * @arg @ref LL_COMP_INPUT_MINUS_IO3
AnnaBridge 163:e59c8e839560 1869 * @arg @ref LL_COMP_INPUT_MINUS_IO4
AnnaBridge 163:e59c8e839560 1870 * @arg @ref LL_COMP_INPUT_MINUS_DAC2_CH1
AnnaBridge 163:e59c8e839560 1871 * @param InputPlus This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 1872 * @arg @ref LL_COMP_INPUT_PLUS_IO1
AnnaBridge 163:e59c8e839560 1873 * @arg @ref LL_COMP_INPUT_PLUS_DAC1_CH1 (1)
AnnaBridge 163:e59c8e839560 1874 *
AnnaBridge 163:e59c8e839560 1875 * (1) Parameter available only on COMP instance: COMP1.
AnnaBridge 163:e59c8e839560 1876 * @retval None
AnnaBridge 163:e59c8e839560 1877 */
AnnaBridge 163:e59c8e839560 1878 __STATIC_INLINE void LL_COMP_ConfigInputs(COMP_TypeDef *COMPx, uint32_t InputMinus, uint32_t InputPlus)
AnnaBridge 163:e59c8e839560 1879 {
AnnaBridge 163:e59c8e839560 1880 /* Note: Connection switch is applicable only to COMP instance COMP1, */
AnnaBridge 163:e59c8e839560 1881 /* therefore if COMP2 is selected the equivalent bit is */
AnnaBridge 163:e59c8e839560 1882 /* kept unmodified. */
AnnaBridge 163:e59c8e839560 1883 MODIFY_REG(COMP->CSR,
AnnaBridge 163:e59c8e839560 1884 (COMP_CSR_COMP1INSEL | (COMP_CSR_COMP1SW1 * __COMP_IS_INSTANCE_ODD(COMPx))) << __COMP_BITOFFSET_INSTANCE(COMPx),
AnnaBridge 163:e59c8e839560 1885 (InputMinus | InputPlus) << __COMP_BITOFFSET_INSTANCE(COMPx) );
AnnaBridge 163:e59c8e839560 1886 }
AnnaBridge 163:e59c8e839560 1887
AnnaBridge 163:e59c8e839560 1888 /**
AnnaBridge 163:e59c8e839560 1889 * @brief Set comparator input plus (non-inverting).
AnnaBridge 163:e59c8e839560 1890 * @note In case of comparator input selected to be connected to IO:
AnnaBridge 163:e59c8e839560 1891 * GPIO pins are specific to each comparator instance.
AnnaBridge 163:e59c8e839560 1892 * Refer to description of parameters or to reference manual.
AnnaBridge 163:e59c8e839560 1893 * @rmtoll CSR COMP1INSEL LL_COMP_SetInputPlus\n
AnnaBridge 163:e59c8e839560 1894 * CSR COMP2INSEL LL_COMP_SetInputPlus
AnnaBridge 163:e59c8e839560 1895 * @param COMPx Comparator instance
AnnaBridge 163:e59c8e839560 1896 * @param InputPlus This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 1897 * @arg @ref LL_COMP_INPUT_PLUS_IO1
AnnaBridge 163:e59c8e839560 1898 * @arg @ref LL_COMP_INPUT_PLUS_DAC1_CH1 (1)
AnnaBridge 163:e59c8e839560 1899 *
AnnaBridge 163:e59c8e839560 1900 * (1) Parameter available only on COMP instance: COMP1.
AnnaBridge 163:e59c8e839560 1901 * @retval None
AnnaBridge 163:e59c8e839560 1902 */
AnnaBridge 163:e59c8e839560 1903 __STATIC_INLINE void LL_COMP_SetInputPlus(COMP_TypeDef *COMPx, uint32_t InputPlus)
AnnaBridge 163:e59c8e839560 1904 {
AnnaBridge 163:e59c8e839560 1905 /* Note: Connection switch is applicable only to COMP instance COMP1, */
AnnaBridge 163:e59c8e839560 1906 /* therefore if COMP2 is selected the equivalent bit is */
AnnaBridge 163:e59c8e839560 1907 /* kept unmodified. */
AnnaBridge 163:e59c8e839560 1908 MODIFY_REG(COMP->CSR,
AnnaBridge 163:e59c8e839560 1909 (COMP_CSR_COMP1SW1 * __COMP_IS_INSTANCE_ODD(COMPx)) << __COMP_BITOFFSET_INSTANCE(COMPx),
AnnaBridge 163:e59c8e839560 1910 InputPlus << __COMP_BITOFFSET_INSTANCE(COMPx) );
AnnaBridge 163:e59c8e839560 1911 }
AnnaBridge 163:e59c8e839560 1912
AnnaBridge 163:e59c8e839560 1913 /**
AnnaBridge 163:e59c8e839560 1914 * @brief Get comparator input plus (non-inverting).
AnnaBridge 163:e59c8e839560 1915 * @note In case of comparator input selected to be connected to IO:
AnnaBridge 163:e59c8e839560 1916 * GPIO pins are specific to each comparator instance.
AnnaBridge 163:e59c8e839560 1917 * Refer to description of parameters or to reference manual.
AnnaBridge 163:e59c8e839560 1918 * @rmtoll CSR COMP1INSEL LL_COMP_GetInputPlus\n
AnnaBridge 163:e59c8e839560 1919 * CSR COMP2INSEL LL_COMP_GetInputPlus
AnnaBridge 163:e59c8e839560 1920 * @param COMPx Comparator instance
AnnaBridge 163:e59c8e839560 1921 * @retval Returned value can be one of the following values:
AnnaBridge 163:e59c8e839560 1922 * @arg @ref LL_COMP_INPUT_PLUS_IO1
AnnaBridge 163:e59c8e839560 1923 * @arg @ref LL_COMP_INPUT_PLUS_DAC1_CH1 (1)
AnnaBridge 163:e59c8e839560 1924 *
AnnaBridge 163:e59c8e839560 1925 * (1) Parameter available only on COMP instance: COMP1.
AnnaBridge 163:e59c8e839560 1926 */
AnnaBridge 163:e59c8e839560 1927 __STATIC_INLINE uint32_t LL_COMP_GetInputPlus(COMP_TypeDef *COMPx)
AnnaBridge 163:e59c8e839560 1928 {
AnnaBridge 163:e59c8e839560 1929 /* Note: Connection switch is applicable only to COMP instance COMP1, */
AnnaBridge 163:e59c8e839560 1930 /* therefore is COMP2 is selected the returned value will be null. */
AnnaBridge 163:e59c8e839560 1931 return (uint32_t)(READ_BIT(COMP->CSR,
AnnaBridge 163:e59c8e839560 1932 COMP_CSR_COMP1SW1 << __COMP_BITOFFSET_INSTANCE(COMPx))
AnnaBridge 163:e59c8e839560 1933 >> __COMP_BITOFFSET_INSTANCE(COMPx)
AnnaBridge 163:e59c8e839560 1934 );
AnnaBridge 163:e59c8e839560 1935 }
AnnaBridge 163:e59c8e839560 1936
AnnaBridge 163:e59c8e839560 1937 /**
AnnaBridge 163:e59c8e839560 1938 * @brief Set comparator input minus (inverting).
AnnaBridge 163:e59c8e839560 1939 * @note In case of comparator input selected to be connected to IO:
AnnaBridge 163:e59c8e839560 1940 * GPIO pins are specific to each comparator instance.
AnnaBridge 163:e59c8e839560 1941 * Refer to description of parameters or to reference manual.
AnnaBridge 163:e59c8e839560 1942 * @rmtoll CSR COMP1SW1 LL_COMP_SetInputMinus
AnnaBridge 163:e59c8e839560 1943 * @param COMPx Comparator instance
AnnaBridge 163:e59c8e839560 1944 * @param InputMinus This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 1945 * @arg @ref LL_COMP_INPUT_MINUS_1_4VREFINT
AnnaBridge 163:e59c8e839560 1946 * @arg @ref LL_COMP_INPUT_MINUS_1_2VREFINT
AnnaBridge 163:e59c8e839560 1947 * @arg @ref LL_COMP_INPUT_MINUS_3_4VREFINT
AnnaBridge 163:e59c8e839560 1948 * @arg @ref LL_COMP_INPUT_MINUS_VREFINT
AnnaBridge 163:e59c8e839560 1949 * @arg @ref LL_COMP_INPUT_MINUS_DAC1_CH1
AnnaBridge 163:e59c8e839560 1950 * @arg @ref LL_COMP_INPUT_MINUS_DAC1_CH2
AnnaBridge 163:e59c8e839560 1951 * @arg @ref LL_COMP_INPUT_MINUS_IO1
AnnaBridge 163:e59c8e839560 1952 * @arg @ref LL_COMP_INPUT_MINUS_IO2
AnnaBridge 163:e59c8e839560 1953 * @arg @ref LL_COMP_INPUT_MINUS_IO3
AnnaBridge 163:e59c8e839560 1954 * @arg @ref LL_COMP_INPUT_MINUS_IO4
AnnaBridge 163:e59c8e839560 1955 * @arg @ref LL_COMP_INPUT_MINUS_DAC2_CH1
AnnaBridge 163:e59c8e839560 1956 * @retval None
AnnaBridge 163:e59c8e839560 1957 */
AnnaBridge 163:e59c8e839560 1958 __STATIC_INLINE void LL_COMP_SetInputMinus(COMP_TypeDef *COMPx, uint32_t InputMinus)
AnnaBridge 163:e59c8e839560 1959 {
AnnaBridge 163:e59c8e839560 1960 MODIFY_REG(COMP->CSR,
AnnaBridge 163:e59c8e839560 1961 COMP_CSR_COMP1INSEL << __COMP_BITOFFSET_INSTANCE(COMPx),
AnnaBridge 163:e59c8e839560 1962 InputMinus << __COMP_BITOFFSET_INSTANCE(COMPx) );
AnnaBridge 163:e59c8e839560 1963 }
AnnaBridge 163:e59c8e839560 1964
AnnaBridge 163:e59c8e839560 1965 /**
AnnaBridge 163:e59c8e839560 1966 * @brief Get comparator input minus (inverting).
AnnaBridge 163:e59c8e839560 1967 * @note In case of comparator input selected to be connected to IO:
AnnaBridge 163:e59c8e839560 1968 * GPIO pins are specific to each comparator instance.
AnnaBridge 163:e59c8e839560 1969 * Refer to description of parameters or to reference manual.
AnnaBridge 163:e59c8e839560 1970 * @rmtoll CSR COMP1SW1 LL_COMP_GetInputMinus
AnnaBridge 163:e59c8e839560 1971 * @param COMPx Comparator instance
AnnaBridge 163:e59c8e839560 1972 * @retval Returned value can be one of the following values:
AnnaBridge 163:e59c8e839560 1973 * @arg @ref LL_COMP_INPUT_MINUS_1_4VREFINT
AnnaBridge 163:e59c8e839560 1974 * @arg @ref LL_COMP_INPUT_MINUS_1_2VREFINT
AnnaBridge 163:e59c8e839560 1975 * @arg @ref LL_COMP_INPUT_MINUS_3_4VREFINT
AnnaBridge 163:e59c8e839560 1976 * @arg @ref LL_COMP_INPUT_MINUS_VREFINT
AnnaBridge 163:e59c8e839560 1977 * @arg @ref LL_COMP_INPUT_MINUS_DAC1_CH1
AnnaBridge 163:e59c8e839560 1978 * @arg @ref LL_COMP_INPUT_MINUS_DAC1_CH2
AnnaBridge 163:e59c8e839560 1979 * @arg @ref LL_COMP_INPUT_MINUS_IO1
AnnaBridge 163:e59c8e839560 1980 * @arg @ref LL_COMP_INPUT_MINUS_IO2
AnnaBridge 163:e59c8e839560 1981 * @arg @ref LL_COMP_INPUT_MINUS_IO3
AnnaBridge 163:e59c8e839560 1982 * @arg @ref LL_COMP_INPUT_MINUS_IO4
AnnaBridge 163:e59c8e839560 1983 * @arg @ref LL_COMP_INPUT_MINUS_DAC2_CH1
AnnaBridge 163:e59c8e839560 1984 */
AnnaBridge 163:e59c8e839560 1985 __STATIC_INLINE uint32_t LL_COMP_GetInputMinus(COMP_TypeDef *COMPx)
AnnaBridge 163:e59c8e839560 1986 {
AnnaBridge 163:e59c8e839560 1987 return (uint32_t)(READ_BIT(COMP->CSR,
AnnaBridge 163:e59c8e839560 1988 COMP_CSR_COMP1INSEL << __COMP_BITOFFSET_INSTANCE(COMPx))
AnnaBridge 163:e59c8e839560 1989 >> __COMP_BITOFFSET_INSTANCE(COMPx)
AnnaBridge 163:e59c8e839560 1990 );
AnnaBridge 163:e59c8e839560 1991 }
AnnaBridge 163:e59c8e839560 1992
AnnaBridge 163:e59c8e839560 1993 /**
AnnaBridge 163:e59c8e839560 1994 * @brief Set comparator instance hysteresis mode of the input minus (inverting input).
AnnaBridge 163:e59c8e839560 1995 * @rmtoll CSR COMP1HYST LL_COMP_SetInputHysteresis\n
AnnaBridge 163:e59c8e839560 1996 * COMP2HYST LL_COMP_SetInputHysteresis
AnnaBridge 163:e59c8e839560 1997 * @param COMPx Comparator instance
AnnaBridge 163:e59c8e839560 1998 * @param InputHysteresis This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 1999 * @arg @ref LL_COMP_HYSTERESIS_NONE
AnnaBridge 163:e59c8e839560 2000 * @arg @ref LL_COMP_HYSTERESIS_LOW
AnnaBridge 163:e59c8e839560 2001 * @arg @ref LL_COMP_HYSTERESIS_MEDIUM
AnnaBridge 163:e59c8e839560 2002 * @arg @ref LL_COMP_HYSTERESIS_HIGH
AnnaBridge 163:e59c8e839560 2003 * @retval None
AnnaBridge 163:e59c8e839560 2004 */
AnnaBridge 163:e59c8e839560 2005 __STATIC_INLINE void LL_COMP_SetInputHysteresis(COMP_TypeDef *COMPx, uint32_t InputHysteresis)
AnnaBridge 163:e59c8e839560 2006 {
AnnaBridge 163:e59c8e839560 2007 MODIFY_REG(COMP->CSR,
AnnaBridge 163:e59c8e839560 2008 COMP_CSR_COMP1HYST << __COMP_BITOFFSET_INSTANCE(COMPx),
AnnaBridge 163:e59c8e839560 2009 InputHysteresis << __COMP_BITOFFSET_INSTANCE(COMPx) );
AnnaBridge 163:e59c8e839560 2010 }
AnnaBridge 163:e59c8e839560 2011
AnnaBridge 163:e59c8e839560 2012 /**
AnnaBridge 163:e59c8e839560 2013 * @brief Get comparator instance hysteresis mode of the minus (inverting) input.
AnnaBridge 163:e59c8e839560 2014 * @rmtoll CSR COMP1HYST LL_COMP_GetInputHysteresis\n
AnnaBridge 163:e59c8e839560 2015 * COMP2HYST LL_COMP_GetInputHysteresis
AnnaBridge 163:e59c8e839560 2016 * @param COMPx Comparator instance
AnnaBridge 163:e59c8e839560 2017 * @retval Returned value can be one of the following values:
AnnaBridge 163:e59c8e839560 2018 * @arg @ref LL_COMP_HYSTERESIS_NONE
AnnaBridge 163:e59c8e839560 2019 * @arg @ref LL_COMP_HYSTERESIS_LOW
AnnaBridge 163:e59c8e839560 2020 * @arg @ref LL_COMP_HYSTERESIS_MEDIUM
AnnaBridge 163:e59c8e839560 2021 * @arg @ref LL_COMP_HYSTERESIS_HIGH
AnnaBridge 163:e59c8e839560 2022 */
AnnaBridge 163:e59c8e839560 2023 __STATIC_INLINE uint32_t LL_COMP_GetInputHysteresis(COMP_TypeDef *COMPx)
AnnaBridge 163:e59c8e839560 2024 {
AnnaBridge 163:e59c8e839560 2025 return (uint32_t)(READ_BIT(COMP->CSR,
AnnaBridge 163:e59c8e839560 2026 COMP_CSR_COMP1HYST << __COMP_BITOFFSET_INSTANCE(COMPx))
AnnaBridge 163:e59c8e839560 2027 >> __COMP_BITOFFSET_INSTANCE(COMPx)
AnnaBridge 163:e59c8e839560 2028 );
AnnaBridge 163:e59c8e839560 2029
AnnaBridge 163:e59c8e839560 2030 }
AnnaBridge 163:e59c8e839560 2031
AnnaBridge 163:e59c8e839560 2032 /**
AnnaBridge 163:e59c8e839560 2033 * @}
AnnaBridge 163:e59c8e839560 2034 */
AnnaBridge 163:e59c8e839560 2035
AnnaBridge 163:e59c8e839560 2036 /** @defgroup COMP_LL_EF_Configuration_comparator_output Configuration of comparator output
AnnaBridge 163:e59c8e839560 2037 * @{
AnnaBridge 163:e59c8e839560 2038 */
AnnaBridge 163:e59c8e839560 2039
AnnaBridge 163:e59c8e839560 2040 /**
AnnaBridge 163:e59c8e839560 2041 * @brief Set comparator output selection.
AnnaBridge 163:e59c8e839560 2042 * @note Availability of parameters of output selection to timer
AnnaBridge 163:e59c8e839560 2043 * depends on timers availability on the selected device.
AnnaBridge 163:e59c8e839560 2044 * @rmtoll CSR COMP1OUTSEL LL_COMP_SetOutputSelection\n
AnnaBridge 163:e59c8e839560 2045 * COMP2OUTSEL LL_COMP_SetOutputSelection
AnnaBridge 163:e59c8e839560 2046 * @param COMPx Comparator instance
AnnaBridge 163:e59c8e839560 2047 * @param OutputSelection This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 2048 * @arg @ref LL_COMP_OUTPUT_NONE
AnnaBridge 163:e59c8e839560 2049 * @arg @ref LL_COMP_OUTPUT_TIM16_BKIN (1)
AnnaBridge 163:e59c8e839560 2050 * @arg @ref LL_COMP_OUTPUT_TIM4_IC1 (1)
AnnaBridge 163:e59c8e839560 2051 * @arg @ref LL_COMP_OUTPUT_TIM4_OCCLR (1)
AnnaBridge 163:e59c8e839560 2052 * @arg @ref LL_COMP_OUTPUT_TIM2_IC4 (1)
AnnaBridge 163:e59c8e839560 2053 * @arg @ref LL_COMP_OUTPUT_TIM2_OCCLR (1)
AnnaBridge 163:e59c8e839560 2054 * @arg @ref LL_COMP_OUTPUT_TIM3_IC1 (1)
AnnaBridge 163:e59c8e839560 2055 * @arg @ref LL_COMP_OUTPUT_TIM3_OCCLR (1)
AnnaBridge 163:e59c8e839560 2056 *
AnnaBridge 163:e59c8e839560 2057 * (1) Parameter availability depending on timer availability
AnnaBridge 163:e59c8e839560 2058 * on the selected device.
AnnaBridge 163:e59c8e839560 2059 * @retval None
AnnaBridge 163:e59c8e839560 2060 */
AnnaBridge 163:e59c8e839560 2061 __STATIC_INLINE void LL_COMP_SetOutputSelection(COMP_TypeDef *COMPx, uint32_t OutputSelection)
AnnaBridge 163:e59c8e839560 2062 {
AnnaBridge 163:e59c8e839560 2063 MODIFY_REG(COMP->CSR,
AnnaBridge 163:e59c8e839560 2064 COMP_CSR_COMP1OUTSEL << __COMP_BITOFFSET_INSTANCE(COMPx),
AnnaBridge 163:e59c8e839560 2065 OutputSelection << __COMP_BITOFFSET_INSTANCE(COMPx) );
AnnaBridge 163:e59c8e839560 2066 }
AnnaBridge 163:e59c8e839560 2067
AnnaBridge 163:e59c8e839560 2068 /**
AnnaBridge 163:e59c8e839560 2069 * @brief Get comparator output selection.
AnnaBridge 163:e59c8e839560 2070 * @note Availability of parameters of output selection to timer
AnnaBridge 163:e59c8e839560 2071 * depends on timers availability on the selected device.
AnnaBridge 163:e59c8e839560 2072 * @rmtoll CSR COMP1OUTSEL LL_COMP_GetOutputSelection\n
AnnaBridge 163:e59c8e839560 2073 * COMP2OUTSEL LL_COMP_GetOutputSelection
AnnaBridge 163:e59c8e839560 2074 * @param COMPx Comparator instance
AnnaBridge 163:e59c8e839560 2075 * @retval Returned value can be one of the following values:
AnnaBridge 163:e59c8e839560 2076 * @arg @ref LL_COMP_OUTPUT_NONE
AnnaBridge 163:e59c8e839560 2077 * @arg @ref LL_COMP_OUTPUT_TIM16_BKIN (1)
AnnaBridge 163:e59c8e839560 2078 * @arg @ref LL_COMP_OUTPUT_TIM4_IC1 (1)
AnnaBridge 163:e59c8e839560 2079 * @arg @ref LL_COMP_OUTPUT_TIM4_OCCLR (1)
AnnaBridge 163:e59c8e839560 2080 * @arg @ref LL_COMP_OUTPUT_TIM2_IC4 (1)
AnnaBridge 163:e59c8e839560 2081 * @arg @ref LL_COMP_OUTPUT_TIM2_OCCLR (1)
AnnaBridge 163:e59c8e839560 2082 * @arg @ref LL_COMP_OUTPUT_TIM3_IC1 (1)
AnnaBridge 163:e59c8e839560 2083 * @arg @ref LL_COMP_OUTPUT_TIM3_OCCLR (1)
AnnaBridge 163:e59c8e839560 2084 *
AnnaBridge 163:e59c8e839560 2085 * (1) Parameter availability depending on timer availability
AnnaBridge 163:e59c8e839560 2086 * on the selected device.
AnnaBridge 163:e59c8e839560 2087 */
AnnaBridge 163:e59c8e839560 2088 __STATIC_INLINE uint32_t LL_COMP_GetOutputSelection(COMP_TypeDef *COMPx)
AnnaBridge 163:e59c8e839560 2089 {
AnnaBridge 163:e59c8e839560 2090 return (uint32_t)(READ_BIT(COMP->CSR,
AnnaBridge 163:e59c8e839560 2091 COMP_CSR_COMP1OUTSEL << __COMP_BITOFFSET_INSTANCE(COMPx))
AnnaBridge 163:e59c8e839560 2092 >> __COMP_BITOFFSET_INSTANCE(COMPx)
AnnaBridge 163:e59c8e839560 2093 );
AnnaBridge 163:e59c8e839560 2094 }
AnnaBridge 163:e59c8e839560 2095
AnnaBridge 163:e59c8e839560 2096 /**
AnnaBridge 163:e59c8e839560 2097 * @brief Set comparator instance output polarity.
AnnaBridge 163:e59c8e839560 2098 * @rmtoll CSR COMP1POL LL_COMP_SetOutputPolarity\n
AnnaBridge 163:e59c8e839560 2099 * COMP2POL LL_COMP_SetOutputPolarity
AnnaBridge 163:e59c8e839560 2100 * @param COMPx Comparator instance
AnnaBridge 163:e59c8e839560 2101 * @param OutputPolarity This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 2102 * @arg @ref LL_COMP_OUTPUTPOL_NONINVERTED
AnnaBridge 163:e59c8e839560 2103 * @arg @ref LL_COMP_OUTPUTPOL_INVERTED
AnnaBridge 163:e59c8e839560 2104 * @retval None
AnnaBridge 163:e59c8e839560 2105 */
AnnaBridge 163:e59c8e839560 2106 __STATIC_INLINE void LL_COMP_SetOutputPolarity(COMP_TypeDef *COMPx, uint32_t OutputPolarity)
AnnaBridge 163:e59c8e839560 2107 {
AnnaBridge 163:e59c8e839560 2108 MODIFY_REG(COMP->CSR,
AnnaBridge 163:e59c8e839560 2109 COMP_CSR_COMP1POL << __COMP_BITOFFSET_INSTANCE(COMPx),
AnnaBridge 163:e59c8e839560 2110 OutputPolarity << __COMP_BITOFFSET_INSTANCE(COMPx) );
AnnaBridge 163:e59c8e839560 2111 }
AnnaBridge 163:e59c8e839560 2112
AnnaBridge 163:e59c8e839560 2113 /**
AnnaBridge 163:e59c8e839560 2114 * @brief Get comparator instance output polarity.
AnnaBridge 163:e59c8e839560 2115 * @rmtoll CSR COMP1POL LL_COMP_GetOutputPolarity\n
AnnaBridge 163:e59c8e839560 2116 * COMP2POL LL_COMP_GetOutputPolarity
AnnaBridge 163:e59c8e839560 2117 * @param COMPx Comparator instance
AnnaBridge 163:e59c8e839560 2118 * @retval Returned value can be one of the following values:
AnnaBridge 163:e59c8e839560 2119 * @arg @ref LL_COMP_OUTPUTPOL_NONINVERTED
AnnaBridge 163:e59c8e839560 2120 * @arg @ref LL_COMP_OUTPUTPOL_INVERTED
AnnaBridge 163:e59c8e839560 2121 */
AnnaBridge 163:e59c8e839560 2122 __STATIC_INLINE uint32_t LL_COMP_GetOutputPolarity(COMP_TypeDef *COMPx)
AnnaBridge 163:e59c8e839560 2123 {
AnnaBridge 163:e59c8e839560 2124 return (uint32_t)(READ_BIT(COMP->CSR,
AnnaBridge 163:e59c8e839560 2125 COMP_CSR_COMP1POL << __COMP_BITOFFSET_INSTANCE(COMPx))
AnnaBridge 163:e59c8e839560 2126 >> __COMP_BITOFFSET_INSTANCE(COMPx)
AnnaBridge 163:e59c8e839560 2127 );
AnnaBridge 163:e59c8e839560 2128 }
AnnaBridge 163:e59c8e839560 2129
AnnaBridge 163:e59c8e839560 2130 /**
AnnaBridge 163:e59c8e839560 2131 * @}
AnnaBridge 163:e59c8e839560 2132 */
AnnaBridge 163:e59c8e839560 2133
AnnaBridge 163:e59c8e839560 2134 /** @defgroup COMP_LL_EF_Operation Operation on comparator instance
AnnaBridge 163:e59c8e839560 2135 * @{
AnnaBridge 163:e59c8e839560 2136 */
AnnaBridge 163:e59c8e839560 2137
AnnaBridge 163:e59c8e839560 2138 /**
AnnaBridge 163:e59c8e839560 2139 * @brief Enable comparator instance.
AnnaBridge 163:e59c8e839560 2140 * @note After enable from off state, comparator requires a delay
AnnaBridge 163:e59c8e839560 2141 * to reach reach propagation delay specification.
AnnaBridge 163:e59c8e839560 2142 * Refer to device datasheet, parameter "tSTART".
AnnaBridge 163:e59c8e839560 2143 * @rmtoll CSR COMP1EN LL_COMP_Enable\n
AnnaBridge 163:e59c8e839560 2144 * COMP2EN LL_COMP_Enable
AnnaBridge 163:e59c8e839560 2145 * @param COMPx Comparator instance
AnnaBridge 163:e59c8e839560 2146 * @retval None
AnnaBridge 163:e59c8e839560 2147 */
AnnaBridge 163:e59c8e839560 2148 __STATIC_INLINE void LL_COMP_Enable(COMP_TypeDef *COMPx)
AnnaBridge 163:e59c8e839560 2149 {
AnnaBridge 163:e59c8e839560 2150 SET_BIT(COMP->CSR, COMP_CSR_COMP1EN << __COMP_BITOFFSET_INSTANCE(COMPx));
AnnaBridge 163:e59c8e839560 2151 }
AnnaBridge 163:e59c8e839560 2152
AnnaBridge 163:e59c8e839560 2153 /**
AnnaBridge 163:e59c8e839560 2154 * @brief Disable comparator instance.
AnnaBridge 163:e59c8e839560 2155 * @rmtoll CSR COMP1EN LL_COMP_Disable\n
AnnaBridge 163:e59c8e839560 2156 * COMP2EN LL_COMP_Disable
AnnaBridge 163:e59c8e839560 2157 * @param COMPx Comparator instance
AnnaBridge 163:e59c8e839560 2158 * @retval None
AnnaBridge 163:e59c8e839560 2159 */
AnnaBridge 163:e59c8e839560 2160 __STATIC_INLINE void LL_COMP_Disable(COMP_TypeDef *COMPx)
AnnaBridge 163:e59c8e839560 2161 {
AnnaBridge 163:e59c8e839560 2162 CLEAR_BIT(COMP->CSR, COMP_CSR_COMP1EN << __COMP_BITOFFSET_INSTANCE(COMPx));
AnnaBridge 163:e59c8e839560 2163 }
AnnaBridge 163:e59c8e839560 2164
AnnaBridge 163:e59c8e839560 2165 /**
AnnaBridge 163:e59c8e839560 2166 * @brief Get comparator enable state
AnnaBridge 163:e59c8e839560 2167 * (0: COMP is disabled, 1: COMP is enabled)
AnnaBridge 163:e59c8e839560 2168 * @rmtoll CSR COMP1EN LL_COMP_IsEnabled\n
AnnaBridge 163:e59c8e839560 2169 * COMP2EN LL_COMP_IsEnabled
AnnaBridge 163:e59c8e839560 2170 * @param COMPx Comparator instance
AnnaBridge 163:e59c8e839560 2171 * @retval State of bit (1 or 0).
AnnaBridge 163:e59c8e839560 2172 */
AnnaBridge 163:e59c8e839560 2173 __STATIC_INLINE uint32_t LL_COMP_IsEnabled(COMP_TypeDef *COMPx)
AnnaBridge 163:e59c8e839560 2174 {
AnnaBridge 163:e59c8e839560 2175 return (READ_BIT(COMP->CSR, COMP_CSR_COMP1EN << __COMP_BITOFFSET_INSTANCE(COMPx)) == COMP_CSR_COMP1EN << __COMP_BITOFFSET_INSTANCE(COMPx));
AnnaBridge 163:e59c8e839560 2176 }
AnnaBridge 163:e59c8e839560 2177
AnnaBridge 163:e59c8e839560 2178 /**
AnnaBridge 163:e59c8e839560 2179 * @brief Lock comparator instance.
AnnaBridge 163:e59c8e839560 2180 * @note Once locked, comparator configuration can be accessed in read-only.
AnnaBridge 163:e59c8e839560 2181 * @note The only way to unlock the comparator is a device hardware reset.
AnnaBridge 163:e59c8e839560 2182 * @rmtoll CSR COMP1LOCK LL_COMP_Lock\n
AnnaBridge 163:e59c8e839560 2183 * COMP2LOCK LL_COMP_Lock
AnnaBridge 163:e59c8e839560 2184 * @param COMPx Comparator instance
AnnaBridge 163:e59c8e839560 2185 * @retval None
AnnaBridge 163:e59c8e839560 2186 */
AnnaBridge 163:e59c8e839560 2187 __STATIC_INLINE void LL_COMP_Lock(COMP_TypeDef *COMPx)
AnnaBridge 163:e59c8e839560 2188 {
AnnaBridge 163:e59c8e839560 2189 SET_BIT(COMP->CSR, COMP_CSR_COMP1LOCK << __COMP_BITOFFSET_INSTANCE(COMPx));
AnnaBridge 163:e59c8e839560 2190 }
AnnaBridge 163:e59c8e839560 2191
AnnaBridge 163:e59c8e839560 2192 /**
AnnaBridge 163:e59c8e839560 2193 * @brief Get comparator lock state
AnnaBridge 163:e59c8e839560 2194 * (0: COMP is unlocked, 1: COMP is locked).
AnnaBridge 163:e59c8e839560 2195 * @note Once locked, comparator configuration can be accessed in read-only.
AnnaBridge 163:e59c8e839560 2196 * @note The only way to unlock the comparator is a device hardware reset.
AnnaBridge 163:e59c8e839560 2197 * @rmtoll CSR COMP1LOCK LL_COMP_IsLocked\n
AnnaBridge 163:e59c8e839560 2198 * COMP2LOCK LL_COMP_IsLocked
AnnaBridge 163:e59c8e839560 2199 * @param COMPx Comparator instance
AnnaBridge 163:e59c8e839560 2200 * @retval State of bit (1 or 0).
AnnaBridge 163:e59c8e839560 2201 */
AnnaBridge 163:e59c8e839560 2202 __STATIC_INLINE uint32_t LL_COMP_IsLocked(COMP_TypeDef *COMPx)
AnnaBridge 163:e59c8e839560 2203 {
AnnaBridge 163:e59c8e839560 2204 return (READ_BIT(COMP->CSR, COMP_CSR_COMP1LOCK << __COMP_BITOFFSET_INSTANCE(COMPx)) == COMP_CSR_COMP1LOCK << __COMP_BITOFFSET_INSTANCE(COMPx));
AnnaBridge 163:e59c8e839560 2205 }
AnnaBridge 163:e59c8e839560 2206
AnnaBridge 163:e59c8e839560 2207 /**
AnnaBridge 163:e59c8e839560 2208 * @brief Read comparator instance output level.
AnnaBridge 163:e59c8e839560 2209 * @note The comparator output level depends on the selected polarity
AnnaBridge 163:e59c8e839560 2210 * (Refer to function @ref LL_COMP_SetOutputPolarity()).
AnnaBridge 163:e59c8e839560 2211 * If the comparator polarity is not inverted:
AnnaBridge 163:e59c8e839560 2212 * - Comparator output is low when the input plus
AnnaBridge 163:e59c8e839560 2213 * is at a lower voltage than the input minus
AnnaBridge 163:e59c8e839560 2214 * - Comparator output is high when the input plus
AnnaBridge 163:e59c8e839560 2215 * is at a higher voltage than the input minus
AnnaBridge 163:e59c8e839560 2216 * If the comparator polarity is inverted:
AnnaBridge 163:e59c8e839560 2217 * - Comparator output is high when the input plus
AnnaBridge 163:e59c8e839560 2218 * is at a lower voltage than the input minus
AnnaBridge 163:e59c8e839560 2219 * - Comparator output is low when the input plus
AnnaBridge 163:e59c8e839560 2220 * is at a higher voltage than the input minus
AnnaBridge 163:e59c8e839560 2221 * @rmtoll CSR COMP1OUT LL_COMP_ReadOutputLevel\n
AnnaBridge 163:e59c8e839560 2222 * COMP2OUT LL_COMP_ReadOutputLevel
AnnaBridge 163:e59c8e839560 2223 * @param COMPx Comparator instance
AnnaBridge 163:e59c8e839560 2224 * @retval Returned value can be one of the following values:
AnnaBridge 163:e59c8e839560 2225 * @arg @ref LL_COMP_OUTPUT_LEVEL_LOW
AnnaBridge 163:e59c8e839560 2226 * @arg @ref LL_COMP_OUTPUT_LEVEL_HIGH
AnnaBridge 163:e59c8e839560 2227 */
AnnaBridge 163:e59c8e839560 2228 __STATIC_INLINE uint32_t LL_COMP_ReadOutputLevel(COMP_TypeDef *COMPx)
AnnaBridge 163:e59c8e839560 2229 {
AnnaBridge 163:e59c8e839560 2230 return (uint32_t)(READ_BIT(COMP->CSR,
AnnaBridge 163:e59c8e839560 2231 COMP_CSR_COMP1OUT << __COMP_BITOFFSET_INSTANCE(COMPx))
AnnaBridge 163:e59c8e839560 2232 >> (__COMP_BITOFFSET_INSTANCE(COMPx) + LL_COMP_OUTPUT_LEVEL_BITOFFSET_POS)
AnnaBridge 163:e59c8e839560 2233 );
AnnaBridge 163:e59c8e839560 2234 }
AnnaBridge 163:e59c8e839560 2235
AnnaBridge 163:e59c8e839560 2236 /**
AnnaBridge 163:e59c8e839560 2237 * @}
AnnaBridge 163:e59c8e839560 2238 */
AnnaBridge 163:e59c8e839560 2239
AnnaBridge 163:e59c8e839560 2240 #if defined(USE_FULL_LL_DRIVER)
AnnaBridge 163:e59c8e839560 2241 /** @defgroup COMP_LL_EF_Init Initialization and de-initialization functions
AnnaBridge 163:e59c8e839560 2242 * @{
AnnaBridge 163:e59c8e839560 2243 */
AnnaBridge 163:e59c8e839560 2244
AnnaBridge 163:e59c8e839560 2245 ErrorStatus LL_COMP_DeInit(COMP_TypeDef *COMPx);
AnnaBridge 163:e59c8e839560 2246 ErrorStatus LL_COMP_Init(COMP_TypeDef *COMPx, LL_COMP_InitTypeDef *COMP_InitStruct);
AnnaBridge 163:e59c8e839560 2247 void LL_COMP_StructInit(LL_COMP_InitTypeDef *COMP_InitStruct);
AnnaBridge 163:e59c8e839560 2248
AnnaBridge 163:e59c8e839560 2249 /**
AnnaBridge 163:e59c8e839560 2250 * @}
AnnaBridge 163:e59c8e839560 2251 */
AnnaBridge 163:e59c8e839560 2252 #endif /* USE_FULL_LL_DRIVER */
AnnaBridge 163:e59c8e839560 2253
AnnaBridge 163:e59c8e839560 2254 /**
AnnaBridge 163:e59c8e839560 2255 * @}
AnnaBridge 163:e59c8e839560 2256 */
AnnaBridge 163:e59c8e839560 2257
AnnaBridge 163:e59c8e839560 2258 /**
AnnaBridge 163:e59c8e839560 2259 * @}
AnnaBridge 163:e59c8e839560 2260 */
AnnaBridge 163:e59c8e839560 2261
AnnaBridge 163:e59c8e839560 2262 #endif /* COMP1 || COMP2 */
AnnaBridge 163:e59c8e839560 2263
AnnaBridge 163:e59c8e839560 2264
AnnaBridge 163:e59c8e839560 2265 #endif /* STM32F373xC || STM32F378xx */
AnnaBridge 163:e59c8e839560 2266
AnnaBridge 163:e59c8e839560 2267 /**
AnnaBridge 163:e59c8e839560 2268 * @}
AnnaBridge 163:e59c8e839560 2269 */
AnnaBridge 163:e59c8e839560 2270
AnnaBridge 163:e59c8e839560 2271 #ifdef __cplusplus
AnnaBridge 163:e59c8e839560 2272 }
AnnaBridge 163:e59c8e839560 2273 #endif
AnnaBridge 163:e59c8e839560 2274
AnnaBridge 163:e59c8e839560 2275 #endif /* __STM32F3xx_LL_COMP_H */
AnnaBridge 163:e59c8e839560 2276
AnnaBridge 163:e59c8e839560 2277 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/