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:
Thu Nov 08 11:45:42 2018 +0000
Revision:
171:3a7713b1edbc
Parent:
TARGET_DISCO_F303VC/TARGET_STM/TARGET_STM32F3/device/stm32f3xx_ll_comp.h@168:b9e159c1930a
mbed library. Release version 164

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