1 /** 2 ****************************************************************************** 3 * @file stm32l4xx_hal_opamp.h 4 * @author MCD Application Team 5 * @brief Header file of OPAMP HAL module. 6 ****************************************************************************** 7 * @attention 8 * 9 * <h2><center>© COPYRIGHT(c) 2017 STMicroelectronics</center></h2> 10 * 11 * Redistribution and use in source and binary forms, with or without modification, 12 * are permitted provided that the following conditions are met: 13 * 1. Redistributions of source code must retain the above copyright notice, 14 * this list of conditions and the following disclaimer. 15 * 2. Redistributions in binary form must reproduce the above copyright notice, 16 * this list of conditions and the following disclaimer in the documentation 17 * and/or other materials provided with the distribution. 18 * 3. Neither the name of STMicroelectronics nor the names of its contributors 19 * may be used to endorse or promote products derived from this software 20 * without specific prior written permission. 21 * 22 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 23 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 24 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 25 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 26 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 27 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 28 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 29 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 30 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 31 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 32 * 33 ****************************************************************************** 34 */ 35 36 /* Define to prevent recursive inclusion -------------------------------------*/ 37 #ifndef STM32L4xx_HAL_OPAMP_H 38 #define STM32L4xx_HAL_OPAMP_H 39 40 #ifdef __cplusplus 41 extern "C" { 42 #endif 43 44 /* Includes ------------------------------------------------------------------*/ 45 #include "stm32l4xx_hal_def.h" 46 47 /** @addtogroup STM32L4xx_HAL_Driver 48 * @{ 49 */ 50 51 /** @addtogroup OPAMP 52 * @{ 53 */ 54 55 /* Exported types ------------------------------------------------------------*/ 56 57 /** @defgroup OPAMP_Exported_Types OPAMP Exported Types 58 * @{ 59 */ 60 61 /** 62 * @brief OPAMP Init structure definition 63 */ 64 65 typedef struct 66 { 67 uint32_t PowerSupplyRange; /*!< Specifies the power supply range: above or under 2.4V. 68 This parameter must be a value of @ref OPAMP_PowerSupplyRange 69 Caution: This parameter is common to all OPAMP instances: a modification of this parameter for the selected OPAMP impacts the other OPAMP instances. */ 70 71 uint32_t PowerMode; /*!< Specifies the power mode Normal or Low-Power. 72 This parameter must be a value of @ref OPAMP_PowerMode */ 73 74 uint32_t Mode; /*!< Specifies the OPAMP mode 75 This parameter must be a value of @ref OPAMP_Mode 76 mode is either Standalone, - Follower or PGA */ 77 78 uint32_t InvertingInput; /*!< Specifies the inverting input in Standalone & PGA modes 79 - In Standalone mode: i.e. when mode is OPAMP_STANDALONE_MODE 80 & PGA mode: i.e. when mode is OPAMP_PGA_MODE 81 This parameter must be a value of @ref OPAMP_InvertingInput 82 - In Follower mode i.e. when mode is OPAMP_FOLLOWER_MODE 83 This parameter is Not Applicable */ 84 85 uint32_t NonInvertingInput; /*!< Specifies the non inverting input of the opamp: 86 This parameter must be a value of @ref OPAMP_NonInvertingInput */ 87 88 uint32_t PgaGain; /*!< Specifies the gain in PGA mode 89 i.e. when mode is OPAMP_PGA_MODE. 90 This parameter must be a value of @ref OPAMP_PgaGain (2, 4, 8 or 16 ) */ 91 92 uint32_t UserTrimming; /*!< Specifies the trimming mode 93 This parameter must be a value of @ref OPAMP_UserTrimming 94 UserTrimming is either factory or user trimming.*/ 95 96 uint32_t TrimmingValueP; /*!< Specifies the offset trimming value (PMOS) 97 i.e. when UserTrimming is OPAMP_TRIMMING_USER. 98 This parameter must be a number between Min_Data = 0 and Max_Data = 31 99 16 is typical default value */ 100 101 uint32_t TrimmingValueN; /*!< Specifies the offset trimming value (NMOS) 102 i.e. when UserTrimming is OPAMP_TRIMMING_USER. 103 This parameter must be a number between Min_Data = 0 and Max_Data = 31 104 16 is typical default value */ 105 106 uint32_t TrimmingValuePLowPower; /*!< Specifies the offset trimming value (PMOS) 107 i.e. when UserTrimming is OPAMP_TRIMMING_USER. 108 This parameter must be a number between Min_Data = 0 and Max_Data = 31 109 16 is typical default value */ 110 111 uint32_t TrimmingValueNLowPower; /*!< Specifies the offset trimming value (NMOS) 112 i.e. when UserTrimming is OPAMP_TRIMMING_USER. 113 This parameter must be a number between Min_Data = 0 and Max_Data = 31 114 16 is typical default value */ 115 116 }OPAMP_InitTypeDef; 117 118 /** 119 * @brief HAL State structures definition 120 */ 121 122 typedef enum 123 { 124 HAL_OPAMP_STATE_RESET = 0x00000000, /*!< OPAMP is not yet Initialized */ 125 126 HAL_OPAMP_STATE_READY = 0x00000001, /*!< OPAMP is initialized and ready for use */ 127 HAL_OPAMP_STATE_CALIBBUSY = 0x00000002, /*!< OPAMP is enabled in auto calibration mode */ 128 129 HAL_OPAMP_STATE_BUSY = 0x00000004, /*!< OPAMP is enabled and running in normal mode */ 130 HAL_OPAMP_STATE_BUSYLOCKED = 0x00000005 /*!< OPAMP is locked 131 only system reset allows reconfiguring the opamp. */ 132 133 }HAL_OPAMP_StateTypeDef; 134 135 /** 136 * @brief OPAMP Handle Structure definition 137 */ 138 #if (USE_HAL_OPAMP_REGISTER_CALLBACKS == 1) 139 typedef struct __OPAMP_HandleTypeDef 140 #else 141 typedef struct 142 #endif /* USE_HAL_OPAMP_REGISTER_CALLBACKS */ 143 { 144 OPAMP_TypeDef *Instance; /*!< OPAMP instance's registers base address */ 145 OPAMP_InitTypeDef Init; /*!< OPAMP required parameters */ 146 HAL_StatusTypeDef Status; /*!< OPAMP peripheral status */ 147 HAL_LockTypeDef Lock; /*!< Locking object */ 148 __IO HAL_OPAMP_StateTypeDef State; /*!< OPAMP communication state */ 149 150 #if (USE_HAL_OPAMP_REGISTER_CALLBACKS == 1) 151 void (* MspInitCallback) (struct __OPAMP_HandleTypeDef *hopamp); 152 void (* MspDeInitCallback) (struct __OPAMP_HandleTypeDef *hopamp); 153 #endif /* USE_HAL_OPAMP_REGISTER_CALLBACKS */ 154 155 }OPAMP_HandleTypeDef; 156 157 /** 158 * @brief HAl_OPAMP_TrimmingValueTypeDef definition 159 */ 160 161 typedef uint32_t HAL_OPAMP_TrimmingValueTypeDef; 162 163 /** 164 * @} 165 */ 166 167 #if (USE_HAL_OPAMP_REGISTER_CALLBACKS == 1) 168 /** 169 * @brief HAL OPAMP Callback ID enumeration definition 170 */ 171 typedef enum 172 { 173 HAL_OPAMP_MSP_INIT_CB_ID = 0x01U, /*!< OPAMP MspInit Callback ID */ 174 HAL_OPAMP_MSP_DEINIT_CB_ID = 0x02U, /*!< OPAMP MspDeInit Callback ID */ 175 HAL_OPAMP_ALL_CB_ID = 0x03U /*!< OPAMP All ID */ 176 }HAL_OPAMP_CallbackIDTypeDef; 177 178 /** 179 * @brief HAL OPAMP Callback pointer definition 180 */ 181 typedef void (*pOPAMP_CallbackTypeDef)(OPAMP_HandleTypeDef *hopamp); 182 #endif /* USE_HAL_OPAMP_REGISTER_CALLBACKS */ 183 184 185 /* Exported constants --------------------------------------------------------*/ 186 187 /** @defgroup OPAMP_Exported_Constants OPAMP Exported Constants 188 * @{ 189 */ 190 191 /** @defgroup OPAMP_Mode OPAMP Mode 192 * @{ 193 */ 194 #define OPAMP_STANDALONE_MODE 0x00000000U /*!< standalone mode */ 195 #define OPAMP_PGA_MODE OPAMP_CSR_OPAMODE_1 /*!< PGA mode */ 196 #define OPAMP_FOLLOWER_MODE OPAMP_CSR_OPAMODE /*!< follower mode */ 197 198 /** 199 * @} 200 */ 201 202 /** @defgroup OPAMP_NonInvertingInput OPAMP Non Inverting Input 203 * @{ 204 */ 205 206 #define OPAMP_NONINVERTINGINPUT_IO0 0x00000000U /*!< OPAMP non-inverting input connected to dedicated IO pin */ 207 #define OPAMP_NONINVERTINGINPUT_DAC_CH OPAMP_CSR_VPSEL /*!< OPAMP non-inverting input connected internally to DAC channel */ 208 209 /** 210 * @} 211 */ 212 213 /** @defgroup OPAMP_InvertingInput OPAMP Inverting Input 214 * @{ 215 */ 216 217 #define OPAMP_INVERTINGINPUT_IO0 0x00000000U /*!< OPAMP inverting input connected to dedicated IO pin low-leakage */ 218 #define OPAMP_INVERTINGINPUT_IO1 OPAMP_CSR_VMSEL_0 /*!< OPAMP inverting input connected to alternative IO pin available on some device packages */ 219 #define OPAMP_INVERTINGINPUT_CONNECT_NO OPAMP_CSR_VMSEL_1 /*!< OPAMP inverting input not connected externally (PGA mode only) */ 220 221 /** 222 * @} 223 */ 224 225 /** @defgroup OPAMP_PgaGain OPAMP Pga Gain 226 * @{ 227 */ 228 229 #define OPAMP_PGA_GAIN_2 0x00000000U /*!< PGA gain = 2 */ 230 #define OPAMP_PGA_GAIN_4 OPAMP_CSR_PGGAIN_0 /*!< PGA gain = 4 */ 231 #define OPAMP_PGA_GAIN_8 OPAMP_CSR_PGGAIN_1 /*!< PGA gain = 8 */ 232 #define OPAMP_PGA_GAIN_16 (OPAMP_CSR_PGGAIN_0 | OPAMP_CSR_PGGAIN_1) /*!< PGA gain = 16 */ 233 234 /** 235 * @} 236 */ 237 238 /** @defgroup OPAMP_PowerMode OPAMP PowerMode 239 * @{ 240 */ 241 #define OPAMP_POWERMODE_NORMAL 0x00000000U 242 #define OPAMP_POWERMODE_LOWPOWER OPAMP_CSR_OPALPM 243 244 /** 245 * @} 246 */ 247 248 /** @defgroup OPAMP_PowerSupplyRange OPAMP PowerSupplyRange 249 * @{ 250 */ 251 #define OPAMP_POWERSUPPLY_LOW 0x00000000U /*!< Power supply range low (VDDA lower than 2.4V) */ 252 #define OPAMP_POWERSUPPLY_HIGH OPAMP1_CSR_OPARANGE /*!< Power supply range high (VDDA higher than 2.4V) */ 253 254 /** 255 * @} 256 */ 257 258 /** @defgroup OPAMP_UserTrimming OPAMP User Trimming 259 * @{ 260 */ 261 #define OPAMP_TRIMMING_FACTORY 0x00000000U /*!< Factory trimming */ 262 #define OPAMP_TRIMMING_USER OPAMP_CSR_USERTRIM /*!< User trimming */ 263 264 /** 265 * @} 266 */ 267 268 /** @defgroup OPAMP_FactoryTrimming OPAMP Factory Trimming 269 * @{ 270 */ 271 #define OPAMP_FACTORYTRIMMING_DUMMY 0xFFFFFFFFU /*!< Dummy value if trimming value could not be retrieved */ 272 #define OPAMP_FACTORYTRIMMING_N 0U /*!< Offset trimming N */ 273 #define OPAMP_FACTORYTRIMMING_P 1U /*!< Offset trimming P */ 274 275 /** 276 * @} 277 */ 278 279 /** 280 * @} 281 */ 282 283 /* Private constants ---------------------------------------------------------*/ 284 /** @defgroup OPAMP_Private_Constants OPAMP Private Constants 285 * @brief OPAMP Private constants and defines 286 * @{ 287 */ 288 289 /* NONINVERTING bit position in OTR & LPOTR */ 290 #define OPAMP_INPUT_NONINVERTING ((uint32_t) 8) /*!< Non inverting input */ 291 292 /* Offset trimming time: during calibration, minimum time needed between two */ 293 /* steps to have 1 mV accuracy. */ 294 /* Refer to datasheet, electrical characteristics: parameter tOFFTRIM Typ=1ms.*/ 295 /* Unit: ms. */ 296 #define OPAMP_TRIMMING_DELAY ((uint32_t) 1) 297 298 /** 299 * @} 300 */ 301 302 /* Exported macros -----------------------------------------------------------*/ 303 /** @defgroup OPAMP_Exported_Macros OPAMP Exported Macros 304 * @{ 305 */ 306 307 /** @brief Reset OPAMP handle state. 308 * @param __HANDLE__: OPAMP handle. 309 * @retval None 310 */ 311 #if (USE_HAL_OPAMP_REGISTER_CALLBACKS == 1) 312 #define __HAL_OPAMP_RESET_HANDLE_STATE(__HANDLE__) do { \ 313 (__HANDLE__)->State = HAL_OPAMP_STATE_RESET; \ 314 (__HANDLE__)->MspInitCallback = NULL; \ 315 (__HANDLE__)->MspDeInitCallback = NULL; \ 316 } while(0) 317 #else 318 #define __HAL_OPAMP_RESET_HANDLE_STATE(__HANDLE__) ((__HANDLE__)->State = HAL_OPAMP_STATE_RESET) 319 #endif /* USE_HAL_OPAMP_REGISTER_CALLBACKS */ 320 321 322 323 /** 324 * @} 325 */ 326 327 /* Private macro -------------------------------------------------------------*/ 328 329 /** @defgroup OPAMP_Private_Macros OPAMP Private Macros 330 * @{ 331 */ 332 333 #define IS_OPAMP_FUNCTIONAL_NORMALMODE(INPUT) (((INPUT) == OPAMP_STANDALONE_MODE) || \ 334 ((INPUT) == OPAMP_PGA_MODE) || \ 335 ((INPUT) == OPAMP_FOLLOWER_MODE)) 336 337 #if defined (STM32L471xx) || defined (STM32L475xx) || defined (STM32L476xx) || defined (STM32L485xx) || defined (STM32L486xx) || \ 338 defined (STM32L496xx) || defined (STM32L4A6xx) || \ 339 defined (STM32L4R5xx) || defined (STM32L4R7xx) || defined (STM32L4R9xx) || defined (STM32L4S5xx) || defined (STM32L4S7xx) || defined(STM32L4S9xx) 340 #define IS_OPAMP_INVERTING_INPUT_STANDALONE(INPUT) (((INPUT) == OPAMP_INVERTINGINPUT_IO0) || \ 341 ((INPUT) == OPAMP_INVERTINGINPUT_IO1)) 342 #endif /* STM32L471xx STM32L475xx STM32L476xx STM32L485xx STM32L486xx */ 343 /* STM32L496xx STM32L4A6xx */ 344 /* STM32L4R5xx STM32L4R7xx STM32L4R9xx STM32L4S5xx STM32L4S7xx STM32L4S9xx */ 345 346 #if defined (STM32L412xx) || defined (STM32L422xx) || \ 347 defined (STM32L431xx) || defined (STM32L432xx) || defined (STM32L433xx) || defined (STM32L442xx) || defined (STM32L443xx) || \ 348 defined (STM32L451xx) || defined (STM32L452xx) || defined (STM32L462xx) 349 #define IS_OPAMP_INVERTING_INPUT_STANDALONE(INPUT) ((INPUT) == OPAMP_INVERTINGINPUT_IO0) 350 #endif /* STM32L412xx STM32L422xx */ 351 /* STM32L431xx STM32L432xx STM32L433xx STM32L442xx STM32L443xx */ 352 /* STM32L451xx STM32L452xx STM32L462xx */ 353 354 #if defined (STM32L412xx) || defined (STM32L422xx) 355 #define IS_OPAMP_NONINVERTING_INPUT(INPUT) ((INPUT) == OPAMP_NONINVERTINGINPUT_IO0) 356 #endif /* STM32L412xx STM32L422xx */ 357 358 #if defined (STM32L431xx) || defined (STM32L432xx) || defined (STM32L433xx) || defined (STM32L442xx) || defined (STM32L443xx) || \ 359 defined (STM32L451xx) || defined (STM32L452xx) || defined (STM32L462xx) || \ 360 defined (STM32L471xx) || defined (STM32L475xx) || defined (STM32L476xx) || defined (STM32L485xx) || defined (STM32L486xx) || \ 361 defined (STM32L496xx) || defined (STM32L4A6xx) || \ 362 defined (STM32L4R5xx) || defined (STM32L4R7xx) || defined (STM32L4R9xx) || defined (STM32L4S5xx) || defined (STM32L4S7xx) || defined(STM32L4S9xx) 363 #define IS_OPAMP_NONINVERTING_INPUT(INPUT) (((INPUT) == OPAMP_NONINVERTINGINPUT_IO0) || \ 364 ((INPUT) == OPAMP_NONINVERTINGINPUT_DAC_CH)) 365 #endif /* STM32L431xx STM32L432xx STM32L433xx STM32L442xx STM32L443xx */ 366 /* STM32L451xx STM32L452xx STM32L462xx */ 367 /* STM32L471xx STM32L475xx STM32L476xx STM32L485xx STM32L486xx */ 368 /* STM32L496xx STM32L4A6xx */ 369 /* STM32L4R5xx STM32L4R7xx STM32L4R9xx STM32L4S5xx STM32L4S7xx STM32L4S9xx */ 370 371 #if defined (STM32L471xx) || defined (STM32L475xx) || defined (STM32L476xx) || defined (STM32L485xx) || defined (STM32L486xx) || \ 372 defined (STM32L496xx) || defined (STM32L4A6xx) || \ 373 defined (STM32L4R5xx) || defined (STM32L4R7xx) || defined (STM32L4R9xx) || defined (STM32L4S5xx) || defined (STM32L4S7xx) || defined(STM32L4S9xx) 374 #define IS_OPAMP_INVERTING_INPUT_PGA(INPUT) (((INPUT) == OPAMP_INVERTINGINPUT_IO0) || \ 375 ((INPUT) == OPAMP_INVERTINGINPUT_IO1) || \ 376 ((INPUT) == OPAMP_INVERTINGINPUT_CONNECT_NO)) 377 #endif /* STM32L471xx STM32L475xx STM32L476xx STM32L485xx STM32L486xx */ 378 /* STM32L496xx STM32L4A6xx */ 379 /* STM32L4R5xx STM32L4R7xx STM32L4R9xx STM32L4S5xx STM32L4S7xx STM32L4S9xx */ 380 381 #if defined (STM32L412xx) || defined (STM32L422xx) || \ 382 defined (STM32L431xx) || defined (STM32L432xx) || defined (STM32L433xx) || defined (STM32L442xx) || defined (STM32L443xx) || \ 383 defined (STM32L451xx) || defined (STM32L452xx) || defined (STM32L462xx) 384 #define IS_OPAMP_INVERTING_INPUT_PGA(INPUT) (((INPUT) == OPAMP_INVERTINGINPUT_IO0) || \ 385 ((INPUT) == OPAMP_INVERTINGINPUT_CONNECT_NO)) 386 #endif /* STM32L412xx STM32L422xx */ 387 /* STM32L431xx STM32L432xx STM32L433xx STM32L442xx STM32L443xx */ 388 /* STM32L451xx STM32L452xx STM32L462xx */ 389 390 #define IS_OPAMP_PGA_GAIN(GAIN) (((GAIN) == OPAMP_PGA_GAIN_2) || \ 391 ((GAIN) == OPAMP_PGA_GAIN_4) || \ 392 ((GAIN) == OPAMP_PGA_GAIN_8) || \ 393 ((GAIN) == OPAMP_PGA_GAIN_16)) 394 395 #define IS_OPAMP_POWERMODE(TRIMMING) (((TRIMMING) == OPAMP_POWERMODE_NORMAL) || \ 396 ((TRIMMING) == OPAMP_POWERMODE_LOWPOWER) ) 397 398 #define IS_OPAMP_POWER_SUPPLY_RANGE(RANGE) (((RANGE) == OPAMP_POWERSUPPLY_LOW) || \ 399 ((RANGE) == OPAMP_POWERSUPPLY_HIGH) ) 400 401 #define IS_OPAMP_TRIMMING(TRIMMING) (((TRIMMING) == OPAMP_TRIMMING_FACTORY) || \ 402 ((TRIMMING) == OPAMP_TRIMMING_USER)) 403 404 405 #define IS_OPAMP_TRIMMINGVALUE(TRIMMINGVALUE) ((TRIMMINGVALUE) <= 31U) 406 407 #define IS_OPAMP_FACTORYTRIMMING(TRIMMING) (((TRIMMING) == OPAMP_FACTORYTRIMMING_N) || \ 408 ((TRIMMING) == OPAMP_FACTORYTRIMMING_P)) 409 410 /** 411 * @} 412 */ 413 414 /* Include OPAMP HAL Extended module */ 415 #include "stm32l4xx_hal_opamp_ex.h" 416 417 /* Exported functions --------------------------------------------------------*/ 418 /** @addtogroup OPAMP_Exported_Functions 419 * @{ 420 */ 421 422 /** @addtogroup OPAMP_Exported_Functions_Group1 423 * @{ 424 */ 425 /* Initialization/de-initialization functions **********************************/ 426 HAL_StatusTypeDef HAL_OPAMP_Init(OPAMP_HandleTypeDef *hopamp); 427 HAL_StatusTypeDef HAL_OPAMP_DeInit (OPAMP_HandleTypeDef *hopamp); 428 void HAL_OPAMP_MspInit(OPAMP_HandleTypeDef *hopamp); 429 void HAL_OPAMP_MspDeInit(OPAMP_HandleTypeDef *hopamp); 430 /** 431 * @} 432 */ 433 434 /** @addtogroup OPAMP_Exported_Functions_Group2 435 * @{ 436 */ 437 438 /* I/O operation functions *****************************************************/ 439 HAL_StatusTypeDef HAL_OPAMP_Start(OPAMP_HandleTypeDef *hopamp); 440 HAL_StatusTypeDef HAL_OPAMP_Stop(OPAMP_HandleTypeDef *hopamp); 441 HAL_StatusTypeDef HAL_OPAMP_SelfCalibrate(OPAMP_HandleTypeDef *hopamp); 442 443 /** 444 * @} 445 */ 446 447 /** @addtogroup OPAMP_Exported_Functions_Group3 448 * @{ 449 */ 450 451 /* Peripheral Control functions ************************************************/ 452 #if (USE_HAL_OPAMP_REGISTER_CALLBACKS == 1) 453 /* OPAMP callback registering/unregistering */ 454 HAL_StatusTypeDef HAL_OPAMP_RegisterCallback (OPAMP_HandleTypeDef *hopamp, HAL_OPAMP_CallbackIDTypeDef CallbackID, pOPAMP_CallbackTypeDef pCallback); 455 HAL_StatusTypeDef HAL_OPAMP_UnRegisterCallback (OPAMP_HandleTypeDef *hopamp, HAL_OPAMP_CallbackIDTypeDef CallbackID); 456 #endif /* USE_HAL_OPAMP_REGISTER_CALLBACKS */ 457 458 HAL_StatusTypeDef HAL_OPAMP_Lock(OPAMP_HandleTypeDef *hopamp); 459 HAL_OPAMP_TrimmingValueTypeDef HAL_OPAMP_GetTrimOffset (OPAMP_HandleTypeDef *hopamp, uint32_t trimmingoffset); 460 461 /** 462 * @} 463 */ 464 465 /** @addtogroup OPAMP_Exported_Functions_Group4 466 * @{ 467 */ 468 469 /* Peripheral State functions **************************************************/ 470 HAL_OPAMP_StateTypeDef HAL_OPAMP_GetState(OPAMP_HandleTypeDef *hopamp); 471 472 /** 473 * @} 474 */ 475 476 /** 477 * @} 478 */ 479 480 /** 481 * @} 482 */ 483 484 /** 485 * @} 486 */ 487 488 #ifdef __cplusplus 489 } 490 #endif 491 492 #endif /* STM32L4xx_HAL_OPAMP_H */ 493 494 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 495