|
STM32G474xx HAL用户手册
|
00001 /** 00002 ****************************************************************************** 00003 * @file stm32g4xx_ll_comp.h 00004 * @author MCD Application Team 00005 * @brief Header file of COMP LL module. 00006 ****************************************************************************** 00007 * @attention 00008 * 00009 * Copyright (c) 2019 STMicroelectronics. 00010 * All rights reserved. 00011 * 00012 * This software is licensed under terms that can be found in the LICENSE file 00013 * in the root directory of this software component. 00014 * If no LICENSE file comes with this software, it is provided AS-IS. 00015 * 00016 ****************************************************************************** 00017 */ 00018 00019 /* Define to prevent recursive inclusion -------------------------------------*/ 00020 #ifndef STM32G4xx_LL_COMP_H 00021 #define STM32G4xx_LL_COMP_H 00022 00023 #ifdef __cplusplus 00024 extern "C" { 00025 #endif 00026 00027 /* Includes ------------------------------------------------------------------*/ 00028 #include "stm32g4xx.h" 00029 00030 /** @addtogroup STM32G4xx_LL_Driver 00031 * @{ 00032 */ 00033 00034 00035 00036 /** @defgroup COMP_LL COMP 00037 * @{ 00038 */ 00039 00040 /* Private types -------------------------------------------------------------*/ 00041 /* Private variables ---------------------------------------------------------*/ 00042 /* Private constants ---------------------------------------------------------*/ 00043 00044 /* Private macros ------------------------------------------------------------*/ 00045 /** @defgroup COMP_LL_Private_Macros COMP Private Macros 00046 * @{ 00047 */ 00048 00049 /** 00050 * @} 00051 */ 00052 00053 /* Exported types ------------------------------------------------------------*/ 00054 #if defined(USE_FULL_LL_DRIVER) 00055 /** @defgroup COMP_LL_ES_INIT COMP Exported Init structure 00056 * @{ 00057 */ 00058 00059 /** 00060 * @brief Structure definition of some features of COMP instance. 00061 */ 00062 typedef struct 00063 { 00064 uint32_t InputPlus; /*!< Set comparator input plus (non-inverting input). 00065 This parameter can be a value of @ref COMP_LL_EC_INPUT_PLUS 00066 This feature can be modified afterwards using unitary function 00067 @ref LL_COMP_SetInputPlus(). */ 00068 00069 uint32_t InputMinus; /*!< Set comparator input minus (inverting input). 00070 This parameter can be a value of @ref COMP_LL_EC_INPUT_MINUS 00071 This feature can be modified afterwards using unitary function 00072 @ref LL_COMP_SetInputMinus(). */ 00073 00074 uint32_t InputHysteresis; /*!< Set comparator hysteresis mode of the input minus. 00075 This parameter can be a value of @ref COMP_LL_EC_INPUT_HYSTERESIS 00076 This feature can be modified afterwards using unitary function 00077 @ref LL_COMP_SetInputHysteresis(). */ 00078 00079 uint32_t OutputPolarity; /*!< Set comparator output polarity. 00080 This parameter can be a value of @ref COMP_LL_EC_OUTPUT_POLARITY 00081 This feature can be modified afterwards using unitary function 00082 @ref LL_COMP_SetOutputPolarity(). */ 00083 00084 uint32_t OutputBlankingSource; /*!< Set comparator blanking source. 00085 This parameter can be a value of @ref COMP_LL_EC_OUTPUT_BLANKING_SOURCE 00086 This feature can be modified afterwards using unitary function 00087 @ref LL_COMP_SetOutputBlankingSource(). */ 00088 00089 } LL_COMP_InitTypeDef; 00090 00091 /** 00092 * @} 00093 */ 00094 #endif /* USE_FULL_LL_DRIVER */ 00095 00096 /* Exported constants --------------------------------------------------------*/ 00097 /** @defgroup COMP_LL_Exported_Constants COMP Exported Constants 00098 * @{ 00099 */ 00100 00101 /** @defgroup COMP_LL_EC_INPUT_PLUS Comparator inputs - Input plus (input non-inverting) selection 00102 * @{ 00103 */ 00104 #define LL_COMP_INPUT_PLUS_IO1 (0x00000000UL) /*!< Comparator input plus connected to IO1 (pin PA1 for COMP1, pin PA7 for COMP2, pin PA0 for COMP3, pin PB0 for COMP4, pin PB13 for COMP5, pin PB11 for COMP6, pin PB14 for COMP7). Note: For COMPx instance availability, please refer to datasheet */ 00105 #define LL_COMP_INPUT_PLUS_IO2 (COMP_CSR_INPSEL) /*!< Comparator input plus connected to IO2 (pin PB1 for COMP1, pin PA3 for COMP2, pin PC1 for COMP3, pin PE7 for COMP4, pin PD12 for COMP5, pin PD11 for COMP6, pin PD14 for COMP7). Note: For COMPx instance availability, please refer to datasheet */ 00106 /** 00107 * @} 00108 */ 00109 00110 /** @defgroup COMP_LL_EC_INPUT_MINUS Comparator inputs - Input minus (input inverting) selection 00111 * @{ 00112 */ 00113 #define LL_COMP_INPUT_MINUS_1_4VREFINT ( COMP_CSR_SCALEN | COMP_CSR_BRGEN) /*!< Comparator input minus connected to 1/4 VrefInt */ 00114 #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 */ 00115 #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 */ 00116 #define LL_COMP_INPUT_MINUS_VREFINT ( COMP_CSR_INMSEL_1 | COMP_CSR_INMSEL_0 | COMP_CSR_SCALEN ) /*!< Comparator input minus connected to VrefInt */ 00117 #define LL_COMP_INPUT_MINUS_DAC1_CH1 (COMP_CSR_INMSEL_2 | COMP_CSR_INMSEL_0) /*!< Comparator input minus connected to DAC1 Channel 1 for COMP1/3/4. Note: For COMPx & DACx instances availability, please refer to datasheet */ 00118 #define LL_COMP_INPUT_MINUS_DAC1_CH2 (COMP_CSR_INMSEL_2 | COMP_CSR_INMSEL_0) /*!< Comparator input minus connected to DAC1 Channel 2 for COMP2/5. Note: For COMPx & DACx instances availability, please refer to datasheet */ 00119 #define LL_COMP_INPUT_MINUS_DAC2_CH1 (COMP_CSR_INMSEL_2 | COMP_CSR_INMSEL_0) /*!< Comparator input minus connected to DAC2 Channel 1 for COMP6/7. Note: For COMPx & DACx instances availability, please refer to datasheet */ 00120 #define LL_COMP_INPUT_MINUS_DAC3_CH1 (COMP_CSR_INMSEL_2 ) /*!< Comparator input minus connected to DAC3 Channel 1 for COMP1/3. Note: For COMPx & DACx instances availability, please refer to datasheet */ 00121 #define LL_COMP_INPUT_MINUS_DAC3_CH2 (COMP_CSR_INMSEL_2 ) /*!< Comparator input minus connected to DAC3 Channel 2 for COMP2/4. Note: For COMPx & DACx instances availability, please refer to datasheet */ 00122 #define LL_COMP_INPUT_MINUS_DAC4_CH1 (COMP_CSR_INMSEL_2 ) /*!< Comparator input minus connected to DAC4 Channel 1 for COMP5/7. Note: For COMPx & DACx instances availability, please refer to datasheet */ 00123 #define LL_COMP_INPUT_MINUS_DAC4_CH2 (COMP_CSR_INMSEL_2 ) /*!< Comparator input minus connected to DAC4 Channel 2 for COMP6. Note: For COMPx & DACx instances availability, please refer to datasheet */ 00124 #define LL_COMP_INPUT_MINUS_IO1 (COMP_CSR_INMSEL_2 | COMP_CSR_INMSEL_1 ) /*!< Comparator input minus connected to IO1 (pin PA4 for COMP1, pin PA5 for COMP2, pin PF1 for COMP3, pin PE8 for COMP4, pin PB10 for COMP5, pin PD10 for COMP6, pin PD15 for COMP7). Note: For COMPx instance availability, please refer to datasheet */ 00125 #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 PA0 for COMP1, pin PA2 for COMP2, pin PC0 for COMP3, pin PB2 for COMP4, pin PD13 for COMP5, pin PB15 for COMP6, pin PB12 for COMP7). Note: For COMPx instance availability, please refer to datasheet */ 00126 00127 /** 00128 * @} 00129 */ 00130 00131 /** @defgroup COMP_LL_EC_INPUT_HYSTERESIS Comparator input - Hysteresis 00132 * @{ 00133 */ 00134 #define LL_COMP_HYSTERESIS_NONE (0x00000000UL) /*!< No hysteresis */ 00135 #define LL_COMP_HYSTERESIS_10MV ( COMP_CSR_HYST_0) /*!< Hysteresis level 10mV */ 00136 #define LL_COMP_HYSTERESIS_20MV ( COMP_CSR_HYST_1 ) /*!< Hysteresis level 20mV */ 00137 #define LL_COMP_HYSTERESIS_30MV ( COMP_CSR_HYST_1 | COMP_CSR_HYST_0) /*!< Hysteresis level 30mV */ 00138 #define LL_COMP_HYSTERESIS_40MV (COMP_CSR_HYST_2 ) /*!< Hysteresis level 40mV */ 00139 #define LL_COMP_HYSTERESIS_50MV (COMP_CSR_HYST_2 | COMP_CSR_HYST_0) /*!< Hysteresis level 50mV */ 00140 #define LL_COMP_HYSTERESIS_60MV (COMP_CSR_HYST_2 | COMP_CSR_HYST_1 ) /*!< Hysteresis level 60mV */ 00141 #define LL_COMP_HYSTERESIS_70MV (COMP_CSR_HYST_2 | COMP_CSR_HYST_1 | COMP_CSR_HYST_0) /*!< Hysteresis level 70mV */ 00142 #define LL_COMP_HYSTERESIS_LOW LL_COMP_HYSTERESIS_10MV /*!< Hysteresis level low */ 00143 #define LL_COMP_HYSTERESIS_MEDIUM LL_COMP_HYSTERESIS_40MV /*!< Hysteresis level medium */ 00144 #define LL_COMP_HYSTERESIS_HIGH LL_COMP_HYSTERESIS_70MV /*!< Hysteresis level high */ 00145 /** 00146 * @} 00147 */ 00148 00149 /** @defgroup COMP_LL_EC_OUTPUT_POLARITY Comparator output - Output polarity 00150 * @{ 00151 */