Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Fork of TUKS-COURSE-TIMER by
stm32l4xx_ll_comp.h
00001 /** 00002 ****************************************************************************** 00003 * @file stm32l4xx_ll_comp.h 00004 * @author MCD Application Team 00005 * @version V1.5.1 00006 * @date 31-May-2016 00007 * @brief Header file of COMP LL module. 00008 ****************************************************************************** 00009 * @attention 00010 * 00011 * <h2><center>© COPYRIGHT(c) 2016 STMicroelectronics</center></h2> 00012 * 00013 * Redistribution and use in source and binary forms, with or without modification, 00014 * are permitted provided that the following conditions are met: 00015 * 1. Redistributions of source code must retain the above copyright notice, 00016 * this list of conditions and the following disclaimer. 00017 * 2. Redistributions in binary form must reproduce the above copyright notice, 00018 * this list of conditions and the following disclaimer in the documentation 00019 * and/or other materials provided with the distribution. 00020 * 3. Neither the name of STMicroelectronics nor the names of its contributors 00021 * may be used to endorse or promote products derived from this software 00022 * without specific prior written permission. 00023 * 00024 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 00025 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 00026 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 00027 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 00028 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 00029 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 00030 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 00031 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 00032 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 00033 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 00034 * 00035 ****************************************************************************** 00036 */ 00037 00038 /* Define to prevent recursive inclusion -------------------------------------*/ 00039 #ifndef __STM32L4xx_LL_COMP_H 00040 #define __STM32L4xx_LL_COMP_H 00041 00042 #ifdef __cplusplus 00043 extern "C" { 00044 #endif 00045 00046 /* Includes ------------------------------------------------------------------*/ 00047 #include "stm32l4xx.h" 00048 00049 /** @addtogroup STM32L4xx_LL_Driver 00050 * @{ 00051 */ 00052 00053 #if defined (COMP1) || defined (COMP2) 00054 00055 /** @defgroup COMP_LL COMP 00056 * @{ 00057 */ 00058 00059 /* Private types -------------------------------------------------------------*/ 00060 /* Private variables ---------------------------------------------------------*/ 00061 /* Private constants ---------------------------------------------------------*/ 00062 /** @defgroup COMP_LL_Private_Constants COMP Private Constants 00063 * @{ 00064 */ 00065 00066 /* COMP registers bits positions */ 00067 #define LL_COMP_OUTPUT_LEVEL_BITOFFSET_POS ((uint32_t)30U) /* Value equivalent to POSITION_VAL(COMP_CSR_VALUE) */ 00068 00069 /** 00070 * @} 00071 */ 00072 00073 /* Private macros ------------------------------------------------------------*/ 00074 /* Exported types ------------------------------------------------------------*/ 00075 #if defined(USE_FULL_LL_DRIVER) 00076 /** @defgroup COMP_LL_ES_INIT COMP Exported Init structure 00077 * @{ 00078 */ 00079 00080 /** 00081 * @brief Structure definition of some features of COMP instance. 00082 */ 00083 typedef struct 00084 { 00085 uint32_t PowerMode; /*!< Set comparator operating mode to adjust power and speed. 00086 This parameter can be a value of @ref COMP_LL_EC_POWERMODE 00087 00088 This feature can be modified afterwards using unitary function @ref LL_COMP_SetPowerMode(). */ 00089 00090 uint32_t InputPlus; /*!< Set comparator input plus (non-inverting input). 00091 This parameter can be a value of @ref COMP_LL_EC_INPUT_PLUS 00092 00093 This feature can be modified afterwards using unitary function @ref LL_COMP_SetInputPlus(). */ 00094 00095 uint32_t InputMinus; /*!< Set comparator input minus (inverting input). 00096 This parameter can be a value of @ref COMP_LL_EC_INPUT_MINUS 00097 00098 This feature can be modified afterwards using unitary function @ref LL_COMP_SetInputMinus(). */ 00099 00100 uint32_t InputHysteresis; /*!< Set comparator hysteresis mode of the input minus. 00101 This parameter can be a value of @ref COMP_LL_EC_INPUT_HYSTERESIS 00102 00103 This feature can be modified afterwards using unitary function @ref LL_COMP_SetInputHysteresis(). */ 00104 00105 uint32_t OutputPolarity; /*!< Set comparator output polarity. 00106 This parameter can be a value of @ref COMP_LL_EC_OUTPUT_POLARITY 00107 00108 This feature can be modified afterwards using unitary function @ref LL_COMP_SetOutputPolarity(). */ 00109 00110 uint32_t OutputBlankingSource; /*!< Set comparator blanking source. 00111 This parameter can be a value of @ref COMP_LL_EC_OUTPUT_BLANKING_SOURCE 00112 00113 This feature can be modified afterwards using unitary function @ref LL_COMP_SetOutputBlankingSource(). */ 00114 00115 } LL_COMP_InitTypeDef; 00116 00117 /** 00118 * @} 00119 */ 00120 #endif /* USE_FULL_LL_DRIVER */ 00121 00122 /* Exported constants --------------------------------------------------------*/ 00123 /** @defgroup COMP_LL_Exported_Constants COMP Exported Constants 00124 * @{ 00125 */ 00126 00127 /** @defgroup COMP_LL_EC_COMMON_WINDOWMODE Comparator common modes - Window mode 00128 * @{ 00129 */ 00130 #define LL_COMP_WINDOWMODE_DISABLE ((uint32_t)0x00000000U) /*!< Window mode disable: Comparators 1 and 2 are independent */ 00131 #define LL_COMP_WINDOWMODE_COMP1_INPUT_PLUS_COMMON (COMP_CSR_WINMODE) /*!< Window mode enable: Comparators instances pair COMP1 and COMP2 have their input plus connected together. The common input is COMP1 input plus (COMP2 input plus is no more accessible). */ 00132 /** 00133 * @} 00134 */ 00135 00136 /** @defgroup COMP_LL_EC_POWERMODE Comparator modes - Power mode 00137 * @{ 00138 */ 00139 #define LL_COMP_POWERMODE_HIGHSPEED ((uint32_t)0x00000000U) /*!< COMP power mode to high speed */ 00140 #define LL_COMP_POWERMODE_MEDIUMSPEED (COMP_CSR_PWRMODE_0) /*!< COMP power mode to medium speed */ 00141 #define LL_COMP_POWERMODE_ULTRALOWPOWER (COMP_CSR_PWRMODE_1 | COMP_CSR_PWRMODE_0) /*!< COMP power mode to ultra-low power */ 00142 /** 00143 * @} 00144 */ 00145 00146 /** @defgroup COMP_LL_EC_INPUT_PLUS Comparator inputs - Input plus (input non-inverting) selection 00147 * @{ 00148 */ 00149 #define LL_COMP_INPUT_PLUS_IO1 ((uint32_t)0x00000000U) /*!< Comparator input plus connected to IO1 (pin PC5 for COMP1, pin PB4 for COMP2) */ 00150 #define LL_COMP_INPUT_PLUS_IO2 (COMP_CSR_INPSEL_0) /*!< Comparator input plus connected to IO2 (pin PB2 for COMP1, pin PB6 for COMP2) */ 00151 #if defined(COMP_CSR_INPSEL_1) 00152 #define LL_COMP_INPUT_PLUS_IO3 (COMP_CSR_INPSEL_1 | COMP_CSR_INPSEL_0) /*!< Comparator input plus connected to IO3 (pin PA1 for COMP1, pin PA3 for COMP2) */ 00153 #endif 00154 /** 00155 * @} 00156 */ 00157 00158 /** @defgroup COMP_LL_EC_INPUT_MINUS Comparator inputs - Input minus (input inverting) selection 00159 * @{ 00160 */ 00161 #define LL_COMP_INPUT_MINUS_1_4VREFINT ( COMP_CSR_SCALEN | COMP_CSR_BRGEN) /*!< Comparator input minus connected to 1/4 VrefInt */ 00162 #define LL_COMP_INPUT_MINUS_1_2VREFINT ( COMP_CSR_INMSEL_0 | COMP_CSR_SCALEN | COMP_CSR_BRGEN) /*!< Comparator input minus connected to 1/2 VrefInt */ 00163 #define LL_COMP_INPUT_MINUS_3_4VREFINT ( COMP_CSR_INMSEL_1 | COMP_CSR_SCALEN | COMP_CSR_BRGEN) /*!< Comparator input minus connected to 3/4 VrefInt */ 00164 #define LL_COMP_INPUT_MINUS_VREFINT ( COMP_CSR_INMSEL_1 | COMP_CSR_INMSEL_0 | COMP_CSR_SCALEN ) /*!< Comparator input minus connected to VrefInt */ 00165 #define LL_COMP_INPUT_MINUS_DAC1_CH1 (COMP_CSR_INMSEL_2 ) /*!< Comparator input minus connected to DAC1 channel 1 (DAC_OUT1) */ 00166 #define LL_COMP_INPUT_MINUS_DAC1_CH2 (COMP_CSR_INMSEL_2 | COMP_CSR_INMSEL_0) /*!< Comparator input minus connected to DAC1 channel 2 (DAC_OUT2) */ 00167 #define LL_COMP_INPUT_MINUS_IO1 (COMP_CSR_INMSEL_2 | COMP_CSR_INMSEL_1 ) /*!< Comparator input minus connected to IO1 (pin PB1 for COMP1, pin PB3 for COMP2) */ 00168 #define LL_COMP_INPUT_MINUS_IO2 (COMP_CSR_INMSEL_2 | COMP_CSR_INMSEL_1 | COMP_CSR_INMSEL_0) /*!< Comparator input minus connected to IO2 (pin PC4 for COMP1, pin PB7 for COMP2) */ 00169 #if defined(COMP_CSR_INMESEL_1) 00170 #define LL_COMP_INPUT_MINUS_IO3 ( COMP_CSR_INMESEL_0 | COMP_CSR_INMSEL_2 | COMP_CSR_INMSEL_1 | COMP_CSR_INMSEL_0) /*!< Comparator input minus connected to IO3 (pin PA0 for COMP1, pin PA2 for COMP2) */ 00171 #define LL_COMP_INPUT_MINUS_IO4 (COMP_CSR_INMESEL_1 | COMP_CSR_INMSEL_2 | COMP_CSR_INMSEL_1 | COMP_CSR_INMSEL_0) /*!< Comparator input minus connected to IO4 (pin PA4 for COMP1, pin PA4 for COMP2) */ 00172 #define LL_COMP_INPUT_MINUS_IO5 (COMP_CSR_INMESEL_1 | COMP_CSR_INMESEL_0 | COMP_CSR_INMSEL_2 | COMP_CSR_INMSEL_1 | COMP_CSR_INMSEL_0) /*!< Comparator input minus connected to IO5 (pin PA5 for COMP1, pin PA5 for COMP2) */ 00173 #endif 00174 /** 00175 * @} 00176 */ 00177 00178 /** @defgroup COMP_LL_EC_INPUT_LEGACY Comparator inputs legacy literals name 00179 * @{ 00180 */ 00181 #define LL_COMP_WINDOWMODE_ENABLE LL_COMP_WINDOWMODE_COMP1_INPUT_PLUS_COMMON 00182 00183 #define LL_COMP_INVERTINGINPUT_1_4VREFINT LL_COMP_INPUT_MINUS_1_4VREFINT 00184 #define LL_COMP_INVERTINGINPUT_1_2VREFINT LL_COMP_INPUT_MINUS_1_2VREFINT 00185 #define LL_COMP_INVERTINGINPUT_3_4VREFINT LL_COMP_INPUT_MINUS_3_4VREFINT 00186 #define LL_COMP_INVERTINGINPUT_VREFINT LL_COMP_INPUT_MINUS_VREFINT 00187 #define LL_COMP_INVERTINGINPUT_DAC1 LL_COMP_INPUT_MINUS_DAC1_CH1 00188 #define LL_COMP_INVERTINGINPUT_DAC2 LL_COMP_INPUT_MINUS_DAC1_CH2 00189 #define LL_COMP_INVERTINGINPUT_IO1 LL_COMP_INPUT_MINUS_IO1 00190 #define LL_COMP_INVERTINGINPUT_IO2 LL_COMP_INPUT_MINUS_IO2 00191 #if defined(COMP_CSR_INMESEL_1) 00192 #define LL_COMP_INVERTINGINPUT_IO3 LL_COMP_INPUT_MINUS_IO3 00193 #define LL_COMP_INVERTINGINPUT_IO4 LL_COMP_INPUT_MINUS_IO4 00194 #define LL_COMP_INVERTINGINPUT_IO5 LL_COMP_INPUT_MINUS_IO5 00195 #endif 00196 00197 #define LL_COMP_NONINVERTINGINPUT_IO1 LL_COMP_INPUT_PLUS_IO1 00198 #define LL_COMP_NONINVERTINGINPUT_IO2 LL_COMP_INPUT_PLUS_IO2 00199 #if defined(COMP_CSR_INPSEL_1) 00200 #define LL_COMP_NONINVERTINGINPUT_IO3 LL_COMP_INPUT_PLUS_IO3 00201 #endif 00202 /** 00203 * @} 00204 */ 00205 00206 /** @defgroup COMP_LL_EC_INPUT_HYSTERESIS Comparator input - Hysteresis 00207 * @{ 00208 */ 00209 #define LL_COMP_HYSTERESIS_NONE ((uint32_t)0x00000000U) /*!< No hysteresis */ 00210 #define LL_COMP_HYSTERESIS_LOW ( COMP_CSR_HYST_0) /*!< Hysteresis level low */ 00211 #define LL_COMP_HYSTERESIS_MEDIUM (COMP_CSR_HYST_1 ) /*!< Hysteresis level medium */ 00212 #define LL_COMP_HYSTERESIS_HIGH (COMP_CSR_HYST_1 | COMP_CSR_HYST_0) /*!< Hysteresis level high */ 00213 /** 00214 * @} 00215 */ 00216 00217 /** @defgroup COMP_LL_EC_OUTPUT_POLARITY Comparator output - Output polarity 00218 * @{ 00219 */ 00220 #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 */ 00221 #define LL_COMP_OUTPUTPOL_INVERTED (COMP_CSR_POLARITY) /*!< 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 */ 00222 /** 00223 * @} 00224 */ 00225 00226 /** @defgroup COMP_LL_EC_OUTPUT_BLANKING_SOURCE Comparator output - Blanking source 00227 * @{ 00228 */ 00229 #define LL_COMP_BLANKINGSRC_NONE ((uint32_t)0x00000000U) /*!<Comparator output without blanking */ 00230 #define LL_COMP_BLANKINGSRC_TIM1_OC5_COMP1 (COMP_CSR_BLANKING_0) /*!< Comparator output blanking source TIM1 OC5 (specific to COMP instance: COMP1) */ 00231 #define LL_COMP_BLANKINGSRC_TIM2_OC3_COMP1 (COMP_CSR_BLANKING_1) /*!< Comparator output blanking source TIM2 OC3 (specific to COMP instance: COMP1) */ 00232 #define LL_COMP_BLANKINGSRC_TIM3_OC3_COMP1 (COMP_CSR_BLANKING_2) /*!< Comparator output blanking source TIM3 OC3 (specific to COMP instance: COMP1) */ 00233 #define LL_COMP_BLANKINGSRC_TIM3_OC4_COMP2 (COMP_CSR_BLANKING_0) /*!< Comparator output blanking source TIM3 OC4 (specific to COMP instance: COMP2) */ 00234 #define LL_COMP_BLANKINGSRC_TIM8_OC5_COMP2 (COMP_CSR_BLANKING_1) /*!< Comparator output blanking source TIM8 OC5 (specific to COMP instance: COMP2) */ 00235 #define LL_COMP_BLANKINGSRC_TIM15_OC1_COMP2 (COMP_CSR_BLANKING_2) /*!< Comparator output blanking source TIM15 OC1 (specific to COMP instance: COMP2) */ 00236 /** 00237 * @} 00238 */ 00239 00240 /** @defgroup COMP_LL_EC_OUTPUT_BLANKING_SOURCE_LEGACY Comparator output blanking source legacy literals name 00241 * @{ 00242 */ 00243 #define LL_COMP_BLANKINGSRC_TIM1_OC5 (LL_COMP_BLANKINGSRC_TIM1_OC5_COMP1) 00244 #define LL_COMP_BLANKINGSRC_TIM2_OC3 (LL_COMP_BLANKINGSRC_TIM2_OC3_COMP1) 00245 #define LL_COMP_BLANKINGSRC_TIM3_OC3 (LL_COMP_BLANKINGSRC_TIM3_OC3_COMP1) 00246 00247 #define LL_COMP_BLANKINGSRC_TIM3_OC4 (LL_COMP_BLANKINGSRC_TIM3_OC4_COMP2) 00248 #define LL_COMP_BLANKINGSRC_TIM8_OC5 (LL_COMP_BLANKINGSRC_TIM8_OC5_COMP2) 00249 #define LL_COMP_BLANKINGSRC_TIM15_OC1 (LL_COMP_BLANKINGSRC_TIM15_OC1_COMP2) 00250 /** 00251 * @} 00252 */ 00253 00254 /** @defgroup COMP_LL_EC_OUTPUT_LEVEL Comparator output - Output level 00255 * @{ 00256 */ 00257 #define LL_COMP_OUTPUT_LEVEL_LOW ((uint32_t)0x00000000U) /*!< Comparator output level low (if the polarity is not inverted, otherwise to be complemented) */ 00258 #define LL_COMP_OUTPUT_LEVEL_HIGH ((uint32_t)0x00000001U) /*!< Comparator output level high (if the polarity is not inverted, otherwise to be complemented) */ 00259 /** 00260 * @} 00261 */ 00262 00263 /** @defgroup COMP_LL_EC_HW_DELAYS Definitions of COMP hardware constraints delays 00264 * @note Only COMP IP HW delays are defined in COMP LL driver driver, 00265 * not timeout values. 00266 * For details on delays values, refer to descriptions in source code 00267 * above each literal definition. 00268 * @{ 00269 */ 00270 00271 /* Delay for comparator startup time. */ 00272 /* Note: Delay required to reach propagation delay specification. */ 00273 /* Literal set to maximum value (refer to device datasheet, */ 00274 /* parameter "tSTART"). */ 00275 /* Unit: us */ 00276 #define LL_COMP_DELAY_STARTUP_US ((uint32_t) 80U) /*!< Delay for COMP startup time */ 00277 00278 /* Delay for comparator voltage scaler stabilization time. */ 00279 /* Note: Voltage scaler is used when selecting comparator input */ 00280 /* based on VrefInt: VrefInt or subdivision of VrefInt. */ 00281 /* Literal set to maximum value (refer to device datasheet, */ 00282 /* parameter "tSTART_SCALER"). */ 00283 /* Unit: us */ 00284 #define LL_COMP_DELAY_VOLTAGE_SCALER_STAB_US ((uint32_t) 200U) /*!< Delay for COMP voltage scaler stabilization time */ 00285 00286 /** 00287 * @} 00288 */ 00289 00290 /** 00291 * @} 00292 */ 00293 00294 /* Exported macro ------------------------------------------------------------*/ 00295 /** @defgroup COMP_LL_Exported_Macros COMP Exported Macros 00296 * @{ 00297 */ 00298 /** @defgroup COMP_LL_EM_WRITE_READ Common write and read registers macro 00299 * @{ 00300 */ 00301 00302 /** 00303 * @brief Write a value in COMP register 00304 * @param __INSTANCE__ comparator instance 00305 * @param __REG__ Register to be written 00306 * @param __VALUE__ Value to be written in the register 00307 * @retval None 00308 */ 00309 #define LL_COMP_WriteReg(__INSTANCE__, __REG__, __VALUE__) WRITE_REG(__INSTANCE__->__REG__, (__VALUE__)) 00310 00311 /** 00312 * @brief Read a value in COMP register 00313 * @param __INSTANCE__ comparator instance 00314 * @param __REG__ Register to be read 00315 * @retval Register value 00316 */ 00317 #define LL_COMP_ReadReg(__INSTANCE__, __REG__) READ_REG(__INSTANCE__->__REG__) 00318 /** 00319 * @} 00320 */ 00321 00322 /** @defgroup COMP_LL_EM_HELPER_MACRO COMP helper macro 00323 * @{ 00324 */ 00325 00326 /** 00327 * @brief Helper macro to select the COMP common instance 00328 * to which is belonging the selected COMP instance. 00329 * @note COMP common register instance can be used to 00330 * set parameters common to several COMP instances. 00331 * Refer to functions having argument "COMPxy_COMMON" as parameter. 00332 * @param __COMPx__ COMP instance 00333 * @retval COMP common instance or value "0" if there is no COMP common instance. 00334 */ 00335 #define __LL_COMP_COMMON_INSTANCE(__COMPx__) \ 00336 (COMP12_COMMON) 00337 00338 /** 00339 * @} 00340 */ 00341 00342 /** 00343 * @} 00344 */ 00345 00346 /* Exported functions --------------------------------------------------------*/ 00347 /** @defgroup COMP_LL_Exported_Functions COMP Exported Functions 00348 * @{ 00349 */ 00350 00351 /** @defgroup COMP_LL_EF_Configuration_comparator_common Configuration of COMP hierarchical scope: common to several COMP instances 00352 * @{ 00353 */ 00354 00355 /** 00356 * @brief Set window mode of a pair of comparators instances 00357 * (2 consecutive COMP instances odd and even COMP<x> and COMP<x+1>). 00358 * @rmtoll CSR WINMODE LL_COMP_SetCommonWindowMode 00359 * @param COMPxy_COMMON Comparator common instance 00360 * (can be set directly from CMSIS definition or by using helper macro @ref __LL_COMP_COMMON_INSTANCE() ) 00361 * @param WindowMode This parameter can be one of the following values: 00362 * @arg @ref LL_COMP_WINDOWMODE_DISABLE 00363 * @arg @ref LL_COMP_WINDOWMODE_COMP1_INPUT_PLUS_COMMON 00364 * @retval None 00365 */ 00366 __STATIC_INLINE void LL_COMP_SetCommonWindowMode(COMP_Common_TypeDef *COMPxy_COMMON, uint32_t WindowMode) 00367 { 00368 /* Note: On this STM32 serie, window mode can be set only */ 00369 /* from COMP instance: COMP2. */ 00370 MODIFY_REG(COMPxy_COMMON->CSR, COMP_CSR_WINMODE, WindowMode); 00371 } 00372 00373 /** 00374 * @brief Get window mode of a pair of comparators instances 00375 * (2 consecutive COMP instances odd and even COMP<x> and COMP<x+1>). 00376 * @rmtoll CSR WINMODE LL_COMP_GetCommonWindowMode 00377 * @param COMPxy_COMMON Comparator common instance 00378 * (can be set directly from CMSIS definition or by using helper macro @ref __LL_COMP_COMMON_INSTANCE() ) 00379 * @retval Returned value can be one of the following values: 00380 * @arg @ref LL_COMP_WINDOWMODE_DISABLE 00381 * @arg @ref LL_COMP_WINDOWMODE_COMP1_INPUT_PLUS_COMMON 00382 */ 00383 __STATIC_INLINE uint32_t LL_COMP_GetCommonWindowMode(COMP_Common_TypeDef *COMPxy_COMMON) 00384 { 00385 return (uint32_t)(READ_BIT(COMPxy_COMMON->CSR, COMP_CSR_WINMODE)); 00386 } 00387 00388 /** 00389 * @} 00390 */ 00391 00392 /** @defgroup COMP_LL_EF_Configuration_comparator_modes Configuration of comparator modes 00393 * @{ 00394 */ 00395 00396 /** 00397 * @brief Set comparator instance operating mode to adjust power and speed. 00398 * @rmtoll CSR PWRMODE LL_COMP_SetPowerMode 00399 * @param COMPx Comparator instance 00400 * @param PowerMode This parameter can be one of the following values: 00401 * @arg @ref LL_COMP_POWERMODE_HIGHSPEED 00402 * @arg @ref LL_COMP_POWERMODE_MEDIUMSPEED 00403 * @arg @ref LL_COMP_POWERMODE_ULTRALOWPOWER 00404 * @retval None 00405 */ 00406 __STATIC_INLINE void LL_COMP_SetPowerMode(COMP_TypeDef *COMPx, uint32_t PowerMode) 00407 { 00408 MODIFY_REG(COMPx->CSR, COMP_CSR_PWRMODE, PowerMode); 00409 } 00410 00411 /** 00412 * @brief Get comparator instance operating mode to adjust power and speed. 00413 * @rmtoll CSR PWRMODE LL_COMP_GetPowerMode 00414 * @param COMPx Comparator instance 00415 * @retval Returned value can be one of the following values: 00416 * @arg @ref LL_COMP_POWERMODE_HIGHSPEED 00417 * @arg @ref LL_COMP_POWERMODE_MEDIUMSPEED 00418 * @arg @ref LL_COMP_POWERMODE_ULTRALOWPOWER 00419 */ 00420 __STATIC_INLINE uint32_t LL_COMP_GetPowerMode(COMP_TypeDef *COMPx) 00421 { 00422 return (uint32_t)(READ_BIT(COMPx->CSR, COMP_CSR_PWRMODE)); 00423 } 00424 00425 /** 00426 * @} 00427 */ 00428 00429 /** @defgroup COMP_LL_EF_Configuration_comparator_inputs Configuration of comparator inputs 00430 * @{ 00431 */ 00432 00433 /** 00434 * @brief Set comparator inputs minus (inverting) and plus (non-inverting). 00435 * @note In case of comparator input selected to be connected to IO: 00436 * GPIO pins are specific to each comparator instance. 00437 * Refer to description of parameters or to reference manual. 00438 * @note On this STM32 serie, scaler bridge is configurable: 00439 * to optimize power consumption, this function enables the 00440 * voltage scaler bridge only when required 00441 * (when selecting comparator input based on VrefInt: VrefInt or 00442 * subdivision of VrefInt). 00443 * - For scaler bridge power consumption values, 00444 * refer to device datasheet, parameter "IDDA(SCALER)". 00445 * - Voltage scaler requires a delay for voltage stabilization. 00446 * Refer to device datasheet, parameter "tSTART_SCALER". 00447 * - Scaler bridge is common for all comparator instances, 00448 * therefore if at least one of the comparator instance 00449 * is requiring the scaler bridge, it remains enabled. 00450 * @rmtoll CSR INMSEL LL_COMP_ConfigInputs\n 00451 * CSR INPSEL LL_COMP_ConfigInputs\n 00452 * CSR BRGEN LL_COMP_ConfigInputs\n 00453 * CSR SCALEN LL_COMP_ConfigInputs 00454 * @param COMPx Comparator instance 00455 * @param InputMinus This parameter can be one of the following values: 00456 * @arg @ref LL_COMP_INPUT_MINUS_1_4VREFINT 00457 * @arg @ref LL_COMP_INPUT_MINUS_1_2VREFINT 00458 * @arg @ref LL_COMP_INPUT_MINUS_3_4VREFINT 00459 * @arg @ref LL_COMP_INPUT_MINUS_VREFINT 00460 * @arg @ref LL_COMP_INPUT_MINUS_DAC1_CH1 00461 * @arg @ref LL_COMP_INPUT_MINUS_DAC1_CH2 00462 * @arg @ref LL_COMP_INPUT_MINUS_IO1 00463 * @arg @ref LL_COMP_INPUT_MINUS_IO2 00464 * @arg @ref LL_COMP_INPUT_MINUS_IO3 (*) 00465 * @arg @ref LL_COMP_INPUT_MINUS_IO4 (*) 00466 * @arg @ref LL_COMP_INPUT_MINUS_IO5 (*) 00467 * 00468 * (*) Parameter not available on all devices. 00469 * @param InputPlus This parameter can be one of the following values: 00470 * @arg @ref LL_COMP_INPUT_PLUS_IO1 00471 * @arg @ref LL_COMP_INPUT_PLUS_IO2 00472 * @arg @ref LL_COMP_INPUT_PLUS_IO3 (*) 00473 * 00474 * (*) Parameter not available on all devices. 00475 * @retval None 00476 */ 00477 __STATIC_INLINE void LL_COMP_ConfigInputs(COMP_TypeDef *COMPx, uint32_t InputMinus, uint32_t InputPlus) 00478 { 00479 #if defined(COMP_CSR_INMESEL_1) 00480 MODIFY_REG(COMPx->CSR, 00481 COMP_CSR_INMESEL | COMP_CSR_INMSEL | COMP_CSR_INPSEL | COMP_CSR_SCALEN | COMP_CSR_BRGEN, 00482 InputMinus | InputPlus); 00483 #else 00484 MODIFY_REG(COMPx->CSR, 00485 COMP_CSR_INMSEL | COMP_CSR_INPSEL | COMP_CSR_SCALEN | COMP_CSR_BRGEN, 00486 InputMinus | InputPlus); 00487 #endif 00488 } 00489 00490 /** 00491 * @brief Set comparator input plus (non-inverting). 00492 * @note In case of comparator input selected to be connected to IO: 00493 * GPIO pins are specific to each comparator instance. 00494 * Refer to description of parameters or to reference manual. 00495 * @rmtoll CSR INPSEL LL_COMP_SetInputPlus 00496 * @param COMPx Comparator instance 00497 * @param InputPlus This parameter can be one of the following values: 00498 * @arg @ref LL_COMP_INPUT_PLUS_IO1 00499 * @arg @ref LL_COMP_INPUT_PLUS_IO2 00500 * @arg @ref LL_COMP_INPUT_PLUS_IO3 (*) 00501 * 00502 * (*) Parameter not available on all devices. 00503 * @retval None 00504 */ 00505 __STATIC_INLINE void LL_COMP_SetInputPlus(COMP_TypeDef *COMPx, uint32_t InputPlus) 00506 { 00507 MODIFY_REG(COMPx->CSR, COMP_CSR_INPSEL, InputPlus); 00508 } 00509 00510 /** 00511 * @brief Get comparator input plus (non-inverting). 00512 * @note In case of comparator input selected to be connected to IO: 00513 * GPIO pins are specific to each comparator instance. 00514 * Refer to description of parameters or to reference manual. 00515 * @rmtoll CSR INPSEL LL_COMP_GetInputPlus 00516 * @param COMPx Comparator instance 00517 * @retval Returned value can be one of the following values: 00518 * @arg @ref LL_COMP_INPUT_PLUS_IO1 00519 * @arg @ref LL_COMP_INPUT_PLUS_IO2 00520 * @arg @ref LL_COMP_INPUT_PLUS_IO3 (*) 00521 * 00522 * (*) Parameter not available on all devices. 00523 */ 00524 __STATIC_INLINE uint32_t LL_COMP_GetInputPlus(COMP_TypeDef *COMPx) 00525 { 00526 return (uint32_t)(READ_BIT(COMPx->CSR, COMP_CSR_INPSEL)); 00527 } 00528 00529 /** 00530 * @brief Set comparator input minus (inverting). 00531 * @note In case of comparator input selected to be connected to IO: 00532 * GPIO pins are specific to each comparator instance. 00533 * Refer to description of parameters or to reference manual. 00534 * @note On this STM32 serie, scaler bridge is configurable: 00535 * to optimize power consumption, this function enables the 00536 * voltage scaler bridge only when required 00537 * (when selecting comparator input based on VrefInt: VrefInt or 00538 * subdivision of VrefInt). 00539 * - For scaler bridge power consumption values, 00540 * refer to device datasheet, parameter "IDDA(SCALER)". 00541 * - Voltage scaler requires a delay for voltage stabilization. 00542 * Refer to device datasheet, parameter "tSTART_SCALER". 00543 * - Scaler bridge is common for all comparator instances, 00544 * therefore if at least one of the comparator instance 00545 * is requiring the scaler bridge, it remains enabled. 00546 * @rmtoll CSR INMSEL LL_COMP_SetInputMinus\n 00547 * CSR BRGEN LL_COMP_SetInputMinus\n 00548 * CSR SCALEN LL_COMP_SetInputMinus 00549 * @param COMPx Comparator instance 00550 * @param InputMinus This parameter can be one of the following values: 00551 * @arg @ref LL_COMP_INPUT_MINUS_1_4VREFINT 00552 * @arg @ref LL_COMP_INPUT_MINUS_1_2VREFINT 00553 * @arg @ref LL_COMP_INPUT_MINUS_3_4VREFINT 00554 * @arg @ref LL_COMP_INPUT_MINUS_VREFINT 00555 * @arg @ref LL_COMP_INPUT_MINUS_DAC1_CH1 00556 * @arg @ref LL_COMP_INPUT_MINUS_DAC1_CH2 00557 * @arg @ref LL_COMP_INPUT_MINUS_IO1 00558 * @arg @ref LL_COMP_INPUT_MINUS_IO2 00559 * @arg @ref LL_COMP_INPUT_MINUS_IO3 (*) 00560 * @arg @ref LL_COMP_INPUT_MINUS_IO4 (*) 00561 * @arg @ref LL_COMP_INPUT_MINUS_IO5 (*) 00562 * 00563 * (*) Parameter not available on all devices. 00564 * @retval None 00565 */ 00566 __STATIC_INLINE void LL_COMP_SetInputMinus(COMP_TypeDef *COMPx, uint32_t InputMinus) 00567 { 00568 #if defined(COMP_CSR_INMESEL_1) 00569 MODIFY_REG(COMPx->CSR, COMP_CSR_INMESEL | COMP_CSR_INMSEL | COMP_CSR_SCALEN | COMP_CSR_BRGEN, InputMinus); 00570 #else 00571 MODIFY_REG(COMPx->CSR, COMP_CSR_INMSEL | COMP_CSR_SCALEN | COMP_CSR_BRGEN, InputMinus); 00572 #endif 00573 } 00574 00575 /** 00576 * @brief Get comparator input minus (inverting). 00577 * @note In case of comparator input selected to be connected to IO: 00578 * GPIO pins are specific to each comparator instance. 00579 * Refer to description of parameters or to reference manual. 00580 * @rmtoll CSR INMSEL LL_COMP_GetInputMinus\n 00581 * CSR BRGEN LL_COMP_GetInputMinus\n 00582 * CSR SCALEN LL_COMP_GetInputMinus 00583 * @param COMPx Comparator instance 00584 * @retval Returned value can be one of the following values: 00585 * @arg @ref LL_COMP_INPUT_MINUS_1_4VREFINT 00586 * @arg @ref LL_COMP_INPUT_MINUS_1_2VREFINT 00587 * @arg @ref LL_COMP_INPUT_MINUS_3_4VREFINT 00588 * @arg @ref LL_COMP_INPUT_MINUS_VREFINT 00589 * @arg @ref LL_COMP_INPUT_MINUS_DAC1_CH1 00590 * @arg @ref LL_COMP_INPUT_MINUS_DAC1_CH2 00591 * @arg @ref LL_COMP_INPUT_MINUS_IO1 00592 * @arg @ref LL_COMP_INPUT_MINUS_IO2 00593 * @arg @ref LL_COMP_INPUT_MINUS_IO3 (*) 00594 * @arg @ref LL_COMP_INPUT_MINUS_IO4 (*) 00595 * @arg @ref LL_COMP_INPUT_MINUS_IO5 (*) 00596 * 00597 * (*) Parameter not available on all devices. 00598 */ 00599 __STATIC_INLINE uint32_t LL_COMP_GetInputMinus(COMP_TypeDef *COMPx) 00600 { 00601 #if defined(COMP_CSR_INMESEL_1) 00602 return (uint32_t)(READ_BIT(COMPx->CSR, COMP_CSR_INMESEL | COMP_CSR_INMSEL | COMP_CSR_SCALEN | COMP_CSR_BRGEN)); 00603 #else 00604 return (uint32_t)(READ_BIT(COMPx->CSR, COMP_CSR_INMSEL | COMP_CSR_SCALEN | COMP_CSR_BRGEN)); 00605 #endif 00606 } 00607 00608 /** 00609 * @brief Set comparator instance hysteresis mode of the input minus (inverting input). 00610 * @rmtoll CSR HYST LL_COMP_SetInputHysteresis 00611 * @param COMPx Comparator instance 00612 * @param InputHysteresis This parameter can be one of the following values: 00613 * @arg @ref LL_COMP_HYSTERESIS_NONE 00614 * @arg @ref LL_COMP_HYSTERESIS_LOW 00615 * @arg @ref LL_COMP_HYSTERESIS_MEDIUM 00616 * @arg @ref LL_COMP_HYSTERESIS_HIGH 00617 * @retval None 00618 */ 00619 __STATIC_INLINE void LL_COMP_SetInputHysteresis(COMP_TypeDef *COMPx, uint32_t InputHysteresis) 00620 { 00621 MODIFY_REG(COMPx->CSR, COMP_CSR_HYST, InputHysteresis); 00622 } 00623 00624 /** 00625 * @brief Get comparator instance hysteresis mode of the minus (inverting) input. 00626 * @rmtoll CSR HYST LL_COMP_GetInputHysteresis 00627 * @param COMPx Comparator instance 00628 * @retval Returned value can be one of the following values: 00629 * @arg @ref LL_COMP_HYSTERESIS_NONE 00630 * @arg @ref LL_COMP_HYSTERESIS_LOW 00631 * @arg @ref LL_COMP_HYSTERESIS_MEDIUM 00632 * @arg @ref LL_COMP_HYSTERESIS_HIGH 00633 */ 00634 __STATIC_INLINE uint32_t LL_COMP_GetInputHysteresis(COMP_TypeDef *COMPx) 00635 { 00636 return (uint32_t)(READ_BIT(COMPx->CSR, COMP_CSR_HYST)); 00637 } 00638 00639 /** 00640 * @} 00641 */ 00642 00643 /** @defgroup COMP_LL_EF_Configuration_comparator_output Configuration of comparator output 00644 * @{ 00645 */ 00646 00647 /** 00648 * @brief Set comparator instance output polarity. 00649 * @rmtoll CSR POLARITY LL_COMP_SetOutputPolarity 00650 * @param COMPx Comparator instance 00651 * @param OutputPolarity This parameter can be one of the following values: 00652 * @arg @ref LL_COMP_OUTPUTPOL_NONINVERTED 00653 * @arg @ref LL_COMP_OUTPUTPOL_INVERTED 00654 * @retval None 00655 */ 00656 __STATIC_INLINE void LL_COMP_SetOutputPolarity(COMP_TypeDef *COMPx, uint32_t OutputPolarity) 00657 { 00658 MODIFY_REG(COMPx->CSR, COMP_CSR_POLARITY, OutputPolarity); 00659 } 00660 00661 /** 00662 * @brief Get comparator instance output polarity. 00663 * @rmtoll CSR POLARITY LL_COMP_GetOutputPolarity 00664 * @param COMPx Comparator instance 00665 * @retval Returned value can be one of the following values: 00666 * @arg @ref LL_COMP_OUTPUTPOL_NONINVERTED 00667 * @arg @ref LL_COMP_OUTPUTPOL_INVERTED 00668 */ 00669 __STATIC_INLINE uint32_t LL_COMP_GetOutputPolarity(COMP_TypeDef *COMPx) 00670 { 00671 return (uint32_t)(READ_BIT(COMPx->CSR, COMP_CSR_POLARITY)); 00672 } 00673 00674 /** 00675 * @brief Set comparator instance blanking source. 00676 * @note Blanking source may be specific to each comparator instance. 00677 * Refer to description of parameters or to reference manual. 00678 * @note Availability of parameters of blanking source from timer 00679 * depends on timers availability on the selected device. 00680 * @rmtoll CSR BLANKING LL_COMP_SetOutputBlankingSource 00681 * @param COMPx Comparator instance 00682 * @param BlankingSource This parameter can be one of the following values: 00683 * @arg @ref LL_COMP_BLANKINGSRC_NONE 00684 * @arg @ref LL_COMP_BLANKINGSRC_TIM1_OC5_COMP1 (1)(2) 00685 * @arg @ref LL_COMP_BLANKINGSRC_TIM2_OC3_COMP1 (1)(2) 00686 * @arg @ref LL_COMP_BLANKINGSRC_TIM3_OC3_COMP1 (1)(2) 00687 * @arg @ref LL_COMP_BLANKINGSRC_TIM3_OC4_COMP2 (1)(3) 00688 * @arg @ref LL_COMP_BLANKINGSRC_TIM8_OC5_COMP2 (1)(3) 00689 * @arg @ref LL_COMP_BLANKINGSRC_TIM15_OC1_COMP2 (1)(3) 00690 * 00691 * (1) Parameter availability depending on timer availability 00692 * on the selected device. 00693 * (2) On STM32L4, parameter available only on comparator instance: COMP1. 00694 * (3) On STM32L4, parameter available only on comparator instance: COMP2. 00695 * @retval None 00696 */ 00697 __STATIC_INLINE void LL_COMP_SetOutputBlankingSource(COMP_TypeDef *COMPx, uint32_t BlankingSource) 00698 { 00699 MODIFY_REG(COMPx->CSR, COMP_CSR_BLANKING, BlankingSource); 00700 } 00701 00702 /** 00703 * @brief Get comparator instance blanking source. 00704 * @note Availability of parameters of blanking source from timer 00705 * depends on timers availability on the selected device. 00706 * @note Blanking source may be specific to each comparator instance. 00707 * Refer to description of parameters or to reference manual. 00708 * @rmtoll CSR BLANKING LL_COMP_GetOutputBlankingSource 00709 * @param COMPx Comparator instance 00710 * @retval Returned value can be one of the following values: 00711 * @arg @ref LL_COMP_BLANKINGSRC_NONE 00712 * @arg @ref LL_COMP_BLANKINGSRC_TIM1_OC5_COMP1 (1)(2) 00713 * @arg @ref LL_COMP_BLANKINGSRC_TIM2_OC3_COMP1 (1)(2) 00714 * @arg @ref LL_COMP_BLANKINGSRC_TIM3_OC3_COMP1 (1)(2) 00715 * @arg @ref LL_COMP_BLANKINGSRC_TIM3_OC4_COMP2 (1)(3) 00716 * @arg @ref LL_COMP_BLANKINGSRC_TIM8_OC5_COMP2 (1)(3) 00717 * @arg @ref LL_COMP_BLANKINGSRC_TIM15_OC1_COMP2 (1)(3) 00718 * 00719 * (1) Parameter availability depending on timer availability 00720 * on the selected device. 00721 * (2) On STM32L4, parameter available only on comparator instance: COMP1. 00722 * (3) On STM32L4, parameter available only on comparator instance: COMP2. 00723 */ 00724 __STATIC_INLINE uint32_t LL_COMP_GetOutputBlankingSource(COMP_TypeDef *COMPx) 00725 { 00726 return (uint32_t)(READ_BIT(COMPx->CSR, COMP_CSR_BLANKING)); 00727 } 00728 00729 /** 00730 * @} 00731 */ 00732 00733 /** @defgroup COMP_LL_EF_Configuration_Legacy_Functions Configuration of COMP, legacy functions name 00734 * @{ 00735 */ 00736 /* Old functions name kept for legacy purpose, to be replaced by the */ 00737 /* current functions name. */ 00738 __STATIC_INLINE void LL_COMP_SetInputNonInverting(COMP_TypeDef *COMPx, uint32_t InputNonInverting) 00739 { 00740 LL_COMP_SetInputPlus(COMPx, InputNonInverting); 00741 } 00742 __STATIC_INLINE uint32_t LL_COMP_GetInputNonInverting(COMP_TypeDef *COMPx) 00743 { 00744 return LL_COMP_GetInputPlus(COMPx); 00745 } 00746 00747 __STATIC_INLINE void LL_COMP_SetInputInverting(COMP_TypeDef *COMPx, uint32_t InputInverting) 00748 { 00749 LL_COMP_SetInputMinus(COMPx, InputInverting); 00750 } 00751 __STATIC_INLINE uint32_t LL_COMP_GetInputInverting(COMP_TypeDef *COMPx) 00752 { 00753 return LL_COMP_GetInputMinus(COMPx); 00754 } 00755 00756 /** 00757 * @} 00758 */ 00759 00760 /** @defgroup COMP_LL_EF_Operation Operation on comparator instance 00761 * @{ 00762 */ 00763 00764 /** 00765 * @brief Enable comparator instance. 00766 * @note After enable from off state, comparator requires a delay 00767 * to reach reach propagation delay specification. 00768 * Refer to device datasheet, parameter "tSTART". 00769 * @rmtoll CSR EN LL_COMP_Enable 00770 * @param COMPx Comparator instance 00771 * @retval None 00772 */ 00773 __STATIC_INLINE void LL_COMP_Enable(COMP_TypeDef *COMPx) 00774 { 00775 SET_BIT(COMPx->CSR, COMP_CSR_EN); 00776 } 00777 00778 /** 00779 * @brief Disable comparator instance. 00780 * @rmtoll CSR EN LL_COMP_Disable 00781 * @param COMPx Comparator instance 00782 * @retval None 00783 */ 00784 __STATIC_INLINE void LL_COMP_Disable(COMP_TypeDef *COMPx) 00785 { 00786 CLEAR_BIT(COMPx->CSR, COMP_CSR_EN); 00787 } 00788 00789 /** 00790 * @brief Get comparator enable state 00791 * (0: COMP is disabled, 1: COMP is enabled) 00792 * @rmtoll CSR EN LL_COMP_IsEnabled 00793 * @param COMPx Comparator instance 00794 * @retval State of bit (1 or 0). 00795 */ 00796 __STATIC_INLINE uint32_t LL_COMP_IsEnabled(COMP_TypeDef *COMPx) 00797 { 00798 return (READ_BIT(COMPx->CSR, COMP_CSR_EN) == (COMP_CSR_EN)); 00799 } 00800 00801 /** 00802 * @brief Lock comparator instance. 00803 * @note Once locked, comparator configuration can be accessed in read-only. 00804 * @note The only way to unlock the comparator is a device hardware reset. 00805 * @rmtoll CSR LOCK LL_COMP_Lock 00806 * @param COMPx Comparator instance 00807 * @retval None 00808 */ 00809 __STATIC_INLINE void LL_COMP_Lock(COMP_TypeDef *COMPx) 00810 { 00811 SET_BIT(COMPx->CSR, COMP_CSR_LOCK); 00812 } 00813 00814 /** 00815 * @brief Get comparator lock state 00816 * (0: COMP is unlocked, 1: COMP is locked). 00817 * @note Once locked, comparator configuration can be accessed in read-only. 00818 * @note The only way to unlock the comparator is a device hardware reset. 00819 * @rmtoll CSR LOCK LL_COMP_IsLocked 00820 * @param COMPx Comparator instance 00821 * @retval State of bit (1 or 0). 00822 */ 00823 __STATIC_INLINE uint32_t LL_COMP_IsLocked(COMP_TypeDef *COMPx) 00824 { 00825 return (READ_BIT(COMPx->CSR, COMP_CSR_LOCK) == (COMP_CSR_LOCK)); 00826 } 00827 00828 /** 00829 * @brief Read comparator instance output level. 00830 * @note The comparator output level depends on the selected polarity 00831 * (Refer to function @ref LL_COMP_SetOutputPolarity()). 00832 * If the comparator polarity is not inverted: 00833 * - Comparator output is low when the input plus 00834 * is at a lower voltage than the input minus 00835 * - Comparator output is high when the input plus 00836 * is at a higher voltage than the input minus 00837 * If the comparator polarity is inverted: 00838 * - Comparator output is high when the input plus 00839 * is at a lower voltage than the input minus 00840 * - Comparator output is low when the input plus 00841 * is at a higher voltage than the input minus 00842 * @rmtoll CSR VALUE LL_COMP_ReadOutputLevel 00843 * @param COMPx Comparator instance 00844 * @retval Returned value can be one of the following values: 00845 * @arg @ref LL_COMP_OUTPUT_LEVEL_LOW 00846 * @arg @ref LL_COMP_OUTPUT_LEVEL_HIGH 00847 */ 00848 __STATIC_INLINE uint32_t LL_COMP_ReadOutputLevel(COMP_TypeDef *COMPx) 00849 { 00850 return (uint32_t)(READ_BIT(COMPx->CSR, COMP_CSR_VALUE) 00851 >> LL_COMP_OUTPUT_LEVEL_BITOFFSET_POS); 00852 } 00853 00854 /** 00855 * @} 00856 */ 00857 00858 #if defined(USE_FULL_LL_DRIVER) 00859 /** @defgroup COMP_LL_EF_Init Initialization and de-initialization functions 00860 * @{ 00861 */ 00862 00863 ErrorStatus LL_COMP_DeInit(COMP_TypeDef *COMPx); 00864 ErrorStatus LL_COMP_Init(COMP_TypeDef *COMPx, LL_COMP_InitTypeDef *COMP_InitStruct); 00865 void LL_COMP_StructInit(LL_COMP_InitTypeDef *COMP_InitStruct); 00866 00867 /** 00868 * @} 00869 */ 00870 #endif /* USE_FULL_LL_DRIVER */ 00871 00872 /** 00873 * @} 00874 */ 00875 00876 /** 00877 * @} 00878 */ 00879 00880 #endif /* COMP1 || COMP2 */ 00881 00882 /** 00883 * @} 00884 */ 00885 00886 #ifdef __cplusplus 00887 } 00888 #endif 00889 00890 #endif /* __STM32L4xx_LL_COMP_H */ 00891 00892 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
Generated on Tue Jul 12 2022 17:38:50 by
