1 /** 2 ****************************************************************************** 3 * @file stm32l1xx_hal_comp_ex.h 4 * @author MCD Application Team 5 * @version V1.2.0 6 * @date 01-July-2016 7 * @brief Header file of COMP HAL Extension module. 8 ****************************************************************************** 9 * @attention 10 * 11 * <h2><center>© COPYRIGHT(c) 2016 STMicroelectronics</center></h2> 12 * 13 * Redistribution and use in source and binary forms, with or without modification, 14 * are permitted provided that the following conditions are met: 15 * 1. Redistributions of source code must retain the above copyright notice, 16 * this list of conditions and the following disclaimer. 17 * 2. Redistributions in binary form must reproduce the above copyright notice, 18 * this list of conditions and the following disclaimer in the documentation 19 * and/or other materials provided with the distribution. 20 * 3. Neither the name of STMicroelectronics nor the names of its contributors 21 * may be used to endorse or promote products derived from this software 22 * without specific prior written permission. 23 * 24 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 25 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 26 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 27 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 28 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 29 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 30 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 31 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 32 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 33 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 34 * 35 ****************************************************************************** 36 */ 37 38 /* Define to prevent recursive inclusion -------------------------------------*/ 39 #ifndef __STM32L1xx_HAL_COMP_EX_H 40 #define __STM32L1xx_HAL_COMP_EX_H 41 42 #ifdef __cplusplus 43 extern "C" { 44 #endif 45 46 /* Includes ------------------------------------------------------------------*/ 47 #include "stm32l1xx_hal_def.h" 48 49 /** @addtogroup STM32L1xx_HAL_Driver 50 * @{ 51 */ 52 53 /** @defgroup COMPEx COMPEx 54 * @{ 55 */ 56 57 /* Exported types ------------------------------------------------------------*/ 58 /* Exported constants --------------------------------------------------------*/ 59 /** @defgroup COMPEx_Exported_Constants COMPEx Exported Constants 60 * @{ 61 */ 62 63 /** @defgroup COMPEx_NonInvertingInput COMPEx NonInvertingInput 64 * @{ 65 */ 66 #if defined(STM32L151xCA) || defined (STM32L151xD) || defined (STM32L152xCA) || defined (STM32L152xD) || defined (STM32L162xCA) || defined (STM32L162xD) || defined(STM32L151xE) || defined(STM32L151xDX) || defined (STM32L152xE) || defined (STM32L152xDX) || defined (STM32L162xE) || defined (STM32L162xDX) 67 /* Non-inverting inputs specific to COMP2 */ 68 #define COMP_NONINVERTINGINPUT_PB4 RI_IOSWITCH_GR6_1 /*!< I/O pin PB4 connection to COMP2 non-inverting input */ 69 #define COMP_NONINVERTINGINPUT_PB5 RI_IOSWITCH_GR6_2 /*!< I/O pin PB5 connection to COMP2 non-inverting input */ 70 #define COMP_NONINVERTINGINPUT_PB6 RI_IOSWITCH_GR6_3 /*!< I/O pin PB6 connection to COMP2 non-inverting input */ 71 #define COMP_NONINVERTINGINPUT_PB7 RI_IOSWITCH_GR6_4 /*!< I/O pin PB7 connection to COMP2 non-inverting input */ 72 73 /* Non-inverting inputs specific to COMP1 */ 74 #define COMP_NONINVERTINGINPUT_NONE (0x00000000U) /*!< In case of window mode: No I/O pin connection to COMP1 non-inverting input. Instead, connection to COMP2 non-inverting input. */ 75 #define COMP_NONINVERTINGINPUT_PA0 RI_IOSWITCH_CH0 /*!< I/O pin PA0 connection to COMP1 non-inverting input */ 76 #define COMP_NONINVERTINGINPUT_PA1 RI_IOSWITCH_CH1 /*!< I/O pin PA1 connection to COMP1 non-inverting input */ 77 #define COMP_NONINVERTINGINPUT_PA2 RI_IOSWITCH_CH2 /*!< I/O pin PA2 connection to COMP1 non-inverting input */ 78 #define COMP_NONINVERTINGINPUT_PA3 RI_IOSWITCH_CH3 /*!< I/O pin PA3 connection to COMP1 non-inverting input */ 79 #define COMP_NONINVERTINGINPUT_PA4 RI_IOSWITCH_CH4 /*!< I/O pin PA4 connection to COMP1 non-inverting input */ 80 #define COMP_NONINVERTINGINPUT_PA5 RI_IOSWITCH_CH5 /*!< I/O pin PA5 connection to COMP1 non-inverting input */ 81 #define COMP_NONINVERTINGINPUT_PA6 RI_IOSWITCH_CH5 /*!< I/O pin PA5 connection to COMP1 non-inverting input */ 82 #define COMP_NONINVERTINGINPUT_PA7 RI_IOSWITCH_CH7 /*!< I/O pin PA7 connection to COMP1 non-inverting input */ 83 #define COMP_NONINVERTINGINPUT_PB0 RI_IOSWITCH_CH8 /*!< I/O pin PB0 connection to COMP1 non-inverting input */ 84 #define COMP_NONINVERTINGINPUT_PB1 RI_IOSWITCH_CH9 /*!< I/O pin PB1 connection to COMP1 non-inverting input */ 85 #define COMP_NONINVERTINGINPUT_PC0 RI_IOSWITCH_CH10 /*!< I/O pin PC0 connection to COMP1 non-inverting input */ 86 #define COMP_NONINVERTINGINPUT_PC1 RI_IOSWITCH_CH11 /*!< I/O pin PC1 connection to COMP1 non-inverting input */ 87 #define COMP_NONINVERTINGINPUT_PC2 RI_IOSWITCH_CH12 /*!< I/O pin PC2 connection to COMP1 non-inverting input */ 88 #define COMP_NONINVERTINGINPUT_PC3 RI_IOSWITCH_CH13 /*!< I/O pin PC3 connection to COMP1 non-inverting input */ 89 #define COMP_NONINVERTINGINPUT_PC4 RI_IOSWITCH_CH14 /*!< I/O pin PC4 connection to COMP1 non-inverting input */ 90 #define COMP_NONINVERTINGINPUT_PC5 RI_IOSWITCH_CH15 /*!< I/O pin PC5 connection to COMP1 non-inverting input */ 91 #define COMP_NONINVERTINGINPUT_PB12 RI_IOSWITCH_CH18 /*!< I/O pin PB12 connection to COMP1 non-inverting input */ 92 #define COMP_NONINVERTINGINPUT_PB13 RI_IOSWITCH_CH19 /*!< I/O pin PB13 connection to COMP1 non-inverting input */ 93 #define COMP_NONINVERTINGINPUT_PB14 RI_IOSWITCH_CH20 /*!< I/O pin PB14 connection to COMP1 non-inverting input */ 94 #define COMP_NONINVERTINGINPUT_PB15 RI_IOSWITCH_CH21 /*!< I/O pin PB15 connection to COMP1 non-inverting input */ 95 #define COMP_NONINVERTINGINPUT_PE7 RI_IOSWITCH_CH22 /*!< I/O pin PE7 connection to COMP1 non-inverting input */ 96 #define COMP_NONINVERTINGINPUT_PE8 RI_IOSWITCH_CH23 /*!< I/O pin PE8 connection to COMP1 non-inverting input */ 97 #define COMP_NONINVERTINGINPUT_PE9 RI_IOSWITCH_CH24 /*!< I/O pin PE9 connection to COMP1 non-inverting input */ 98 #define COMP_NONINVERTINGINPUT_PE10 RI_IOSWITCH_CH25 /*!< I/O pin PE10 connection to COMP1 non-inverting input */ 99 #define COMP_NONINVERTINGINPUT_PF6 RI_IOSWITCH_CH27 /*!< I/O pin PF6 connection to COMP1 non-inverting input */ 100 #define COMP_NONINVERTINGINPUT_PF7 RI_IOSWITCH_CH28 /*!< I/O pin PF7 connection to COMP1 non-inverting input */ 101 #define COMP_NONINVERTINGINPUT_PF8 RI_IOSWITCH_CH29 /*!< I/O pin PF8 connection to COMP1 non-inverting input */ 102 #define COMP_NONINVERTINGINPUT_PF9 RI_IOSWITCH_CH30 /*!< I/O pin PF9 connection to COMP1 non-inverting input */ 103 #define COMP_NONINVERTINGINPUT_PF10 RI_IOSWITCH_CH31 /*!< I/O pin PF10 connection to COMP1 non-inverting input */ 104 105 #define COMP_NONINVERTINGINPUT_OPAMP1 COMP_NONINVERTINGINPUT_PA3 /*!< OPAMP1 output connection to COMP1 non-inverting input */ 106 #define COMP_NONINVERTINGINPUT_OPAMP2 COMP_NONINVERTINGINPUT_PB0 /*!< OPAMP2 output connection to COMP1 non-inverting input */ 107 #if defined(STM32L151xCA) || defined (STM32L151xD) || defined (STM32L152xCA) || defined (STM32L152xD) || defined (STM32L162xCA) || defined (STM32L162xD) 108 #define COMP_NONINVERTINGINPUT_OPAMP3 COMP_NONINVERTINGINPUT_PC3 /*!< OPAMP3 output connection to COMP1 non-inverting input */ 109 #endif /* STM32L151xCA || STM32L151xD || STM32L152xCA || STM32L152xD || STM32L162xCA || STM32L162xD */ 110 #endif /* STM32L151xCA || STM32L151xD || STM32L152xCA || STM32L152xD || STM32L162xCA || STM32L162xD || STM32L151xE || STM32L151xDX || STM32L152xE || STM32L152xDX || STM32L162xE || STM32L162xDX */ 111 112 #if defined(STM32L100xC) || defined (STM32L151xC) || defined (STM32L152xC) || defined (STM32L162xC) 113 /* Non-inverting inputs specific to COMP2 */ 114 #define COMP_NONINVERTINGINPUT_PB4 RI_IOSWITCH_GR6_1 /*!< I/O pin PB4 connection to COMP2 non-inverting input */ 115 #define COMP_NONINVERTINGINPUT_PB5 RI_IOSWITCH_GR6_2 /*!< I/O pin PB5 connection to COMP2 non-inverting input */ 116 #define COMP_NONINVERTINGINPUT_PB6 RI_IOSWITCH_GR6_3 /*!< I/O pin PB6 connection to COMP2 non-inverting input */ 117 #define COMP_NONINVERTINGINPUT_PB7 RI_IOSWITCH_GR6_4 /*!< I/O pin PB7 connection to COMP2 non-inverting input */ 118 119 /* Non-inverting inputs specific to COMP1 */ 120 #define COMP_NONINVERTINGINPUT_NONE (0x00000000U) /*!< In case of window mode: No I/O pin connection to COMP1 non-inverting input. Instead, connection to COMP2 non-inverting input. */ 121 #define COMP_NONINVERTINGINPUT_PA0 RI_IOSWITCH_CH0 /*!< I/O pin PA0 connection to COMP1 non-inverting input */ 122 #define COMP_NONINVERTINGINPUT_PA1 RI_IOSWITCH_CH1 /*!< I/O pin PA1 connection to COMP1 non-inverting input */ 123 #define COMP_NONINVERTINGINPUT_PA2 RI_IOSWITCH_CH2 /*!< I/O pin PA2 connection to COMP1 non-inverting input */ 124 #define COMP_NONINVERTINGINPUT_PA3 RI_IOSWITCH_CH3 /*!< I/O pin PA3 connection to COMP1 non-inverting input */ 125 #define COMP_NONINVERTINGINPUT_PA4 RI_IOSWITCH_CH4 /*!< I/O pin PA4 connection to COMP1 non-inverting input */ 126 #define COMP_NONINVERTINGINPUT_PA5 RI_IOSWITCH_CH5 /*!< I/O pin PA5 connection to COMP1 non-inverting input */ 127 #define COMP_NONINVERTINGINPUT_PA6 RI_IOSWITCH_CH5 /*!< I/O pin PA5 connection to COMP1 non-inverting input */ 128 #define COMP_NONINVERTINGINPUT_PA7 RI_IOSWITCH_CH7 /*!< I/O pin PA7 connection to COMP1 non-inverting input */ 129 #define COMP_NONINVERTINGINPUT_PB0 RI_IOSWITCH_CH8 /*!< I/O pin PB0 connection to COMP1 non-inverting input */ 130 #define COMP_NONINVERTINGINPUT_PB1 RI_IOSWITCH_CH9 /*!< I/O pin PB1 connection to COMP1 non-inverting input */ 131 #define COMP_NONINVERTINGINPUT_PC0 RI_IOSWITCH_CH10 /*!< I/O pin PC0 connection to COMP1 non-inverting input */ 132 #define COMP_NONINVERTINGINPUT_PC1 RI_IOSWITCH_CH11 /*!< I/O pin PC1 connection to COMP1 non-inverting input */ 133 #define COMP_NONINVERTINGINPUT_PC2 RI_IOSWITCH_CH12 /*!< I/O pin PC2 connection to COMP1 non-inverting input */ 134 #define COMP_NONINVERTINGINPUT_PC3 RI_IOSWITCH_CH13 /*!< I/O pin PC3 connection to COMP1 non-inverting input */ 135 #define COMP_NONINVERTINGINPUT_PC4 RI_IOSWITCH_CH14 /*!< I/O pin PC4 connection to COMP1 non-inverting input */ 136 #define COMP_NONINVERTINGINPUT_PC5 RI_IOSWITCH_CH15 /*!< I/O pin PC5 connection to COMP1 non-inverting input */ 137 #define COMP_NONINVERTINGINPUT_PB12 RI_IOSWITCH_CH18 /*!< I/O pin PB12 connection to COMP1 non-inverting input */ 138 #define COMP_NONINVERTINGINPUT_PB13 RI_IOSWITCH_CH19 /*!< I/O pin PB13 connection to COMP1 non-inverting input */ 139 #define COMP_NONINVERTINGINPUT_PB14 RI_IOSWITCH_CH20 /*!< I/O pin PB14 connection to COMP1 non-inverting input */ 140 #define COMP_NONINVERTINGINPUT_PB15 RI_IOSWITCH_CH21 /*!< I/O pin PB15 connection to COMP1 non-inverting input */ 141 #define COMP_NONINVERTINGINPUT_PE7 RI_IOSWITCH_CH22 /*!< I/O pin PE7 connection to COMP1 non-inverting input */ 142 #define COMP_NONINVERTINGINPUT_PE8 RI_IOSWITCH_CH23 /*!< I/O pin PE8 connection to COMP1 non-inverting input */ 143 #define COMP_NONINVERTINGINPUT_PE9 RI_IOSWITCH_CH24 /*!< I/O pin PE9 connection to COMP1 non-inverting input */ 144 #define COMP_NONINVERTINGINPUT_PE10 RI_IOSWITCH_CH25 /*!< I/O pin PE10 connection to COMP1 non-inverting input */ 145 146 #define COMP_NONINVERTINGINPUT_OPAMP1 COMP_NONINVERTINGINPUT_PA3 /*!< OPAMP1 output connection to COMP1 non-inverting input */ 147 #define COMP_NONINVERTINGINPUT_OPAMP2 COMP_NONINVERTINGINPUT_PB0 /*!< OPAMP2 output connection to COMP1 non-inverting input */ 148 #endif /* STM32L100xC || STM32L151xC || STM32L152xC || STM32L162xC */ 149 150 #if defined(STM32L100xB) || defined (STM32L151xB) || defined (STM32L152xB) || defined(STM32L100xBA) || defined (STM32L151xBA) || defined (STM32L152xBA) 151 /* Non-inverting inputs specific to COMP2 */ 152 #define COMP_NONINVERTINGINPUT_PB4 RI_IOSWITCH_GR6_1 /*!< I/O pin PB4 connection to COMP2 non-inverting input */ 153 #define COMP_NONINVERTINGINPUT_PB5 RI_IOSWITCH_GR6_2 /*!< I/O pin PB5 connection to COMP2 non-inverting input */ 154 155 /* Non-inverting inputs specific to COMP1 */ 156 #define COMP_NONINVERTINGINPUT_NONE (0x00000000U) /*!< In case of window mode: No I/O pin connection to COMP1 non-inverting input. Instead, connection to COMP2 non-inverting input. */ 157 #define COMP_NONINVERTINGINPUT_PA0 RI_IOSWITCH_CH0 /*!< I/O pin PA0 connection to COMP1 non-inverting input */ 158 #define COMP_NONINVERTINGINPUT_PA1 RI_IOSWITCH_CH1 /*!< I/O pin PA1 connection to COMP1 non-inverting input */ 159 #define COMP_NONINVERTINGINPUT_PA2 RI_IOSWITCH_CH2 /*!< I/O pin PA2 connection to COMP1 non-inverting input */ 160 #define COMP_NONINVERTINGINPUT_PA3 RI_IOSWITCH_CH3 /*!< I/O pin PA3 connection to COMP1 non-inverting input */ 161 #define COMP_NONINVERTINGINPUT_PA4 RI_IOSWITCH_CH4 /*!< I/O pin PA4 connection to COMP1 non-inverting input */ 162 #define COMP_NONINVERTINGINPUT_PA5 RI_IOSWITCH_CH5 /*!< I/O pin PA5 connection to COMP1 non-inverting input */ 163 #define COMP_NONINVERTINGINPUT_PA6 RI_IOSWITCH_CH5 /*!< I/O pin PA5 connection to COMP1 non-inverting input */ 164 #define COMP_NONINVERTINGINPUT_PA7 RI_IOSWITCH_CH7 /*!< I/O pin PA7 connection to COMP1 non-inverting input */ 165 #define COMP_NONINVERTINGINPUT_PB0 RI_IOSWITCH_CH8 /*!< I/O pin PB0 connection to COMP1 non-inverting input */ 166 #define COMP_NONINVERTINGINPUT_PB1 RI_IOSWITCH_CH9 /*!< I/O pin PB1 connection to COMP1 non-inverting input */ 167 #define COMP_NONINVERTINGINPUT_PC0 RI_IOSWITCH_CH10 /*!< I/O pin PC0 connection to COMP1 non-inverting input */ 168 #define COMP_NONINVERTINGINPUT_PC1 RI_IOSWITCH_CH11 /*!< I/O pin PC1 connection to COMP1 non-inverting input */ 169 #define COMP_NONINVERTINGINPUT_PC2 RI_IOSWITCH_CH12 /*!< I/O pin PC2 connection to COMP1 non-inverting input */ 170 #define COMP_NONINVERTINGINPUT_PC3 RI_IOSWITCH_CH13 /*!< I/O pin PC3 connection to COMP1 non-inverting input */ 171 #define COMP_NONINVERTINGINPUT_PC4 RI_IOSWITCH_CH14 /*!< I/O pin PC4 connection to COMP1 non-inverting input */ 172 #define COMP_NONINVERTINGINPUT_PC5 RI_IOSWITCH_CH15 /*!< I/O pin PC5 connection to COMP1 non-inverting input */ 173 #define COMP_NONINVERTINGINPUT_PB12 RI_IOSWITCH_CH18 /*!< I/O pin PB12 connection to COMP1 non-inverting input */ 174 #define COMP_NONINVERTINGINPUT_PB13 RI_IOSWITCH_CH19 /*!< I/O pin PB13 connection to COMP1 non-inverting input */ 175 #define COMP_NONINVERTINGINPUT_PB14 RI_IOSWITCH_CH20 /*!< I/O pin PB14 connection to COMP1 non-inverting input */ 176 #define COMP_NONINVERTINGINPUT_PB15 RI_IOSWITCH_CH21 /*!< I/O pin PB15 connection to COMP1 non-inverting input */ 177 #define COMP_NONINVERTINGINPUT_PE7 RI_IOSWITCH_CH22 /*!< I/O pin PE7 connection to COMP1 non-inverting input */ 178 #define COMP_NONINVERTINGINPUT_PE8 RI_IOSWITCH_CH23 /*!< I/O pin PE8 connection to COMP1 non-inverting input */ 179 #define COMP_NONINVERTINGINPUT_PE9 RI_IOSWITCH_CH24 /*!< I/O pin PE9 connection to COMP1 non-inverting input */ 180 #define COMP_NONINVERTINGINPUT_PE10 RI_IOSWITCH_CH25 /*!< I/O pin PE10 connection to COMP1 non-inverting input */ 181 182 #endif /* STM32L100xB || STM32L151xB || STM32L152xB || STM32L100xBA || STM32L151xBA || STM32L152xBA */ 183 184 #if defined(STM32L151xCA) || defined (STM32L151xD) || defined (STM32L152xCA) || defined (STM32L152xD) || defined (STM32L162xCA) || defined (STM32L162xD) || defined(STM32L151xE) || defined(STM32L151xDX) || defined (STM32L152xE) || defined (STM32L152xDX) || defined (STM32L162xE) || defined (STM32L162xDX) 185 #define IS_COMP_NONINVERTINGINPUT(INPUT) (((INPUT) == COMP_NONINVERTINGINPUT_PB4) || \ 186 ((INPUT) == COMP_NONINVERTINGINPUT_PB5) || \ 187 ((INPUT) == COMP_NONINVERTINGINPUT_PB6) || \ 188 ((INPUT) == COMP_NONINVERTINGINPUT_PB7) || \ 189 ((INPUT) == COMP_NONINVERTINGINPUT_NONE) || \ 190 ((INPUT) == COMP_NONINVERTINGINPUT_PA0) || \ 191 ((INPUT) == COMP_NONINVERTINGINPUT_PA1) || \ 192 ((INPUT) == COMP_NONINVERTINGINPUT_PA2) || \ 193 ((INPUT) == COMP_NONINVERTINGINPUT_PA3) || \ 194 ((INPUT) == COMP_NONINVERTINGINPUT_PA4) || \ 195 ((INPUT) == COMP_NONINVERTINGINPUT_PA5) || \ 196 ((INPUT) == COMP_NONINVERTINGINPUT_PA6) || \ 197 ((INPUT) == COMP_NONINVERTINGINPUT_PA7) || \ 198 ((INPUT) == COMP_NONINVERTINGINPUT_PB0) || \ 199 ((INPUT) == COMP_NONINVERTINGINPUT_PB1) || \ 200 ((INPUT) == COMP_NONINVERTINGINPUT_PC0) || \ 201 ((INPUT) == COMP_NONINVERTINGINPUT_PC1) || \ 202 ((INPUT) == COMP_NONINVERTINGINPUT_PC2) || \ 203 ((INPUT) == COMP_NONINVERTINGINPUT_PC3) || \ 204 ((INPUT) == COMP_NONINVERTINGINPUT_PC4) || \ 205 ((INPUT) == COMP_NONINVERTINGINPUT_PC5) || \ 206 ((INPUT) == COMP_NONINVERTINGINPUT_PB12) || \ 207 ((INPUT) == COMP_NONINVERTINGINPUT_PB13) || \ 208 ((INPUT) == COMP_NONINVERTINGINPUT_PB14) || \ 209 ((INPUT) == COMP_NONINVERTINGINPUT_PB15) || \ 210 ((INPUT) == COMP_NONINVERTINGINPUT_PE7) || \ 211 ((INPUT) == COMP_NONINVERTINGINPUT_PE8) || \ 212 ((INPUT) == COMP_NONINVERTINGINPUT_PE9) || \ 213 ((INPUT) == COMP_NONINVERTINGINPUT_PE10) || \ 214 ((INPUT) == COMP_NONINVERTINGINPUT_PF6) || \ 215 ((INPUT) == COMP_NONINVERTINGINPUT_PF7) || \ 216 ((INPUT) == COMP_NONINVERTINGINPUT_PF8) || \ 217 ((INPUT) == COMP_NONINVERTINGINPUT_PF9) || \ 218 ((INPUT) == COMP_NONINVERTINGINPUT_PF10) ) 219 #endif /* STM32L151xCA || STM32L151xD || STM32L152xCA || STM32L152xD || STM32L162xCA || STM32L162xD || STM32L151xE || STM32L151xDX || STM32L152xE || STM32L152xDX || STM32L162xE || STM32L162xDX */ 220 221 #if defined(STM32L100xC) || defined (STM32L151xC) || defined (STM32L152xC) || defined (STM32L162xC) 222 #define IS_COMP_NONINVERTINGINPUT(INPUT) (((INPUT) == COMP_NONINVERTINGINPUT_PB4) || \ 223 ((INPUT) == COMP_NONINVERTINGINPUT_PB5) || \ 224 ((INPUT) == COMP_NONINVERTINGINPUT_PB6) || \ 225 ((INPUT) == COMP_NONINVERTINGINPUT_PB7) || \ 226 ((INPUT) == COMP_NONINVERTINGINPUT_NONE) || \ 227 ((INPUT) == COMP_NONINVERTINGINPUT_PA0) || \ 228 ((INPUT) == COMP_NONINVERTINGINPUT_PA1) || \ 229 ((INPUT) == COMP_NONINVERTINGINPUT_PA2) || \ 230 ((INPUT) == COMP_NONINVERTINGINPUT_PA3) || \ 231 ((INPUT) == COMP_NONINVERTINGINPUT_PA4) || \ 232 ((INPUT) == COMP_NONINVERTINGINPUT_PA5) || \ 233 ((INPUT) == COMP_NONINVERTINGINPUT_PA6) || \ 234 ((INPUT) == COMP_NONINVERTINGINPUT_PA7) || \ 235 ((INPUT) == COMP_NONINVERTINGINPUT_PB0) || \ 236 ((INPUT) == COMP_NONINVERTINGINPUT_PB1) || \ 237 ((INPUT) == COMP_NONINVERTINGINPUT_PC0) || \ 238 ((INPUT) == COMP_NONINVERTINGINPUT_PC1) || \ 239 ((INPUT) == COMP_NONINVERTINGINPUT_PC2) || \ 240 ((INPUT) == COMP_NONINVERTINGINPUT_PC3) || \ 241 ((INPUT) == COMP_NONINVERTINGINPUT_PC4) || \ 242 ((INPUT) == COMP_NONINVERTINGINPUT_PC5) || \ 243 ((INPUT) == COMP_NONINVERTINGINPUT_PB12) || \ 244 ((INPUT) == COMP_NONINVERTINGINPUT_PB13) || \ 245 ((INPUT) == COMP_NONINVERTINGINPUT_PB14) || \ 246 ((INPUT) == COMP_NONINVERTINGINPUT_PB15) || \ 247 ((INPUT) == COMP_NONINVERTINGINPUT_PE7) || \ 248 ((INPUT) == COMP_NONINVERTINGINPUT_PE8) || \ 249 ((INPUT) == COMP_NONINVERTINGINPUT_PE9) || \ 250 ((INPUT) == COMP_NONINVERTINGINPUT_PE10) ) 251 #endif /* STM32L100xC || STM32L151xC || STM32L152xC || STM32L162xC */ 252 253 #if defined(STM32L100xB) || defined (STM32L151xB) || defined (STM32L152xB) || defined(STM32L100xBA) || defined (STM32L151xBA) || defined (STM32L152xBA) 254 #define IS_COMP_NONINVERTINGINPUT(INPUT) (((INPUT) == COMP_NONINVERTINGINPUT_PB4) || \ 255 ((INPUT) == COMP_NONINVERTINGINPUT_PB5) || \ 256 ((INPUT) == COMP_NONINVERTINGINPUT_NONE) || \ 257 ((INPUT) == COMP_NONINVERTINGINPUT_PA0) || \ 258 ((INPUT) == COMP_NONINVERTINGINPUT_PA1) || \ 259 ((INPUT) == COMP_NONINVERTINGINPUT_PA2) || \ 260 ((INPUT) == COMP_NONINVERTINGINPUT_PA3) || \ 261 ((INPUT) == COMP_NONINVERTINGINPUT_PA4) || \ 262 ((INPUT) == COMP_NONINVERTINGINPUT_PA5) || \ 263 ((INPUT) == COMP_NONINVERTINGINPUT_PA6) || \ 264 ((INPUT) == COMP_NONINVERTINGINPUT_PA7) || \ 265 ((INPUT) == COMP_NONINVERTINGINPUT_PB0) || \ 266 ((INPUT) == COMP_NONINVERTINGINPUT_PB1) || \ 267 ((INPUT) == COMP_NONINVERTINGINPUT_PC0) || \ 268 ((INPUT) == COMP_NONINVERTINGINPUT_PC1) || \ 269 ((INPUT) == COMP_NONINVERTINGINPUT_PC2) || \ 270 ((INPUT) == COMP_NONINVERTINGINPUT_PC3) || \ 271 ((INPUT) == COMP_NONINVERTINGINPUT_PC4) || \ 272 ((INPUT) == COMP_NONINVERTINGINPUT_PC5) || \ 273 ((INPUT) == COMP_NONINVERTINGINPUT_PB12) || \ 274 ((INPUT) == COMP_NONINVERTINGINPUT_PB13) || \ 275 ((INPUT) == COMP_NONINVERTINGINPUT_PB14) || \ 276 ((INPUT) == COMP_NONINVERTINGINPUT_PB15) || \ 277 ((INPUT) == COMP_NONINVERTINGINPUT_PE7) || \ 278 ((INPUT) == COMP_NONINVERTINGINPUT_PE8) || \ 279 ((INPUT) == COMP_NONINVERTINGINPUT_PE9) || \ 280 ((INPUT) == COMP_NONINVERTINGINPUT_PE10) ) 281 #endif /* STM32L100xB || STM32L151xB || STM32L152xB || STM32L100xBA || STM32L151xBA || STM32L152xBA */ 282 283 /** 284 * @} 285 */ 286 287 /** 288 * @} 289 */ 290 291 292 /* Exported macro ------------------------------------------------------------*/ 293 294 /** @defgroup COMPEx_Private_Macro COMP Private Macro 295 * @{ 296 */ 297 298 /** 299 * @brief Specifies whether Routing Interface (RI) needs to be configured for 300 * switches of comparator non-inverting input. 301 * @param __HANDLE__: COMP handle. 302 * @retval None. 303 */ 304 #if defined(STM32L151xCA) || defined (STM32L151xD) || defined (STM32L152xCA) || defined (STM32L152xD) || defined (STM32L162xCA) || defined (STM32L162xD) || defined(STM32L151xE) || defined(STM32L151xDX) || defined (STM32L152xE) || defined (STM32L152xDX) || defined (STM32L162xE) || defined (STM32L162xDX) 305 #define __COMP_ROUTING_INTERFACE_TOBECONFIGURED(__HANDLE__) \ 306 (((__HANDLE__)->Init.NonInvertingInput != COMP_NONINVERTINGINPUT_NONE) && \ 307 (READ_BIT(COMP->CSR, COMP_CSR_SW1) == RESET) ) 308 #else 309 #define __COMP_ROUTING_INTERFACE_TOBECONFIGURED(__HANDLE__) \ 310 ((__HANDLE__)->Init.NonInvertingInput != COMP_NONINVERTINGINPUT_NONE) 311 #endif /* STM32L151xCA || STM32L151xD || STM32L152xCA || STM32L152xD || STM32L162xCA || STM32L162xD || STM32L151xE || STM32L151xDX || STM32L152xE || STM32L152xDX || STM32L162xE || STM32L162xDX */ 312 313 /** 314 * @} 315 */ 316 317 318 319 /* Exported functions --------------------------------------------------------*/ 320 321 322 /** 323 * @} 324 */ 325 326 /** 327 * @} 328 */ 329 330 #ifdef __cplusplus 331 } 332 #endif 333 334 #endif /* __STM32L1xx_HAL_COMP_EX_H */ 335 336 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 337