STM32L486xx HAL User Manual
stm32l4xx_hal_opamp.h
Go to the documentation of this file.
00001 /**
00002   ******************************************************************************
00003   * @file    stm32l4xx_hal_opamp.h
00004   * @author  MCD Application Team
00005   * @brief   Header file of OPAMP HAL module.
00006   ******************************************************************************
00007   * @attention
00008   *
00009   * <h2><center>&copy; COPYRIGHT(c) 2017 STMicroelectronics</center></h2>
00010   *
00011   * Redistribution and use in source and binary forms, with or without modification,
00012   * are permitted provided that the following conditions are met:
00013   *   1. Redistributions of source code must retain the above copyright notice,
00014   *      this list of conditions and the following disclaimer.
00015   *   2. Redistributions in binary form must reproduce the above copyright notice,
00016   *      this list of conditions and the following disclaimer in the documentation
00017   *      and/or other materials provided with the distribution.
00018   *   3. Neither the name of STMicroelectronics nor the names of its contributors
00019   *      may be used to endorse or promote products derived from this software
00020   *      without specific prior written permission.
00021   *
00022   * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
00023   * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00024   * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
00025   * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
00026   * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
00027   * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
00028   * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
00029   * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
00030   * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00031   * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00032   *
00033   ******************************************************************************  
00034   */
00035 
00036 /* Define to prevent recursive inclusion -------------------------------------*/
00037 #ifndef __STM32L4xx_HAL_OPAMP_H
00038 #define __STM32L4xx_HAL_OPAMP_H
00039 
00040 #ifdef __cplusplus
00041  extern "C" {
00042 #endif
00043                   
00044 /* Includes ------------------------------------------------------------------*/
00045 #include "stm32l4xx_hal_def.h"
00046 
00047 /** @addtogroup STM32L4xx_HAL_Driver
00048   * @{
00049   */
00050 
00051 /** @addtogroup OPAMP
00052   * @{
00053   */ 
00054 
00055 /* Exported types ------------------------------------------------------------*/ 
00056 
00057 /** @defgroup OPAMP_Exported_Types OPAMP Exported Types
00058   * @{
00059   */
00060 
00061 /** 
00062   * @brief  OPAMP Init structure definition  
00063   */
00064   
00065 typedef struct
00066 {
00067   uint32_t PowerSupplyRange;            /*!< Specifies the power supply range: above or under 2.4V.
00068                                              This parameter must be a value of @ref OPAMP_PowerSupplyRange
00069                                              Caution: This parameter is common to all OPAMP instances: a modification of this parameter for the selected OPAMP impacts the other OPAMP instances. */
00070 
00071   uint32_t PowerMode;                   /*!< Specifies the power mode Normal or Low-Power.
00072                                              This parameter must be a value of @ref OPAMP_PowerMode */
00073   
00074   uint32_t Mode;                        /*!< Specifies the OPAMP mode
00075                                              This parameter must be a value of @ref OPAMP_Mode 
00076                                              mode is either Standalone, - Follower or PGA */
00077                                     
00078   uint32_t InvertingInput;              /*!< Specifies the inverting input in Standalone & PGA modes
00079                                                - In Standalone mode:   i.e. when mode is OPAMP_STANDALONE_MODE
00080                                                  & PGA mode:           i.e. when mode is OPAMP_PGA_MODE
00081                                                  This parameter must be a value of @ref OPAMP_InvertingInput 
00082                                                - In Follower mode    i.e. when mode is OPAMP_FOLLOWER_MODE
00083                                                  This parameter is Not Applicable */ 
00084 
00085   uint32_t NonInvertingInput;           /*!< Specifies the non inverting input of the opamp: 
00086                                              This parameter must be a value of @ref OPAMP_NonInvertingInput */                                   
00087   
00088   uint32_t PgaGain;                     /*!< Specifies the gain in PGA mode 
00089                                              i.e. when mode is OPAMP_PGA_MODE. 
00090                                              This parameter must be a value of @ref OPAMP_PgaGain (2, 4, 8 or 16 ) */
00091  
00092   uint32_t UserTrimming;                /*!< Specifies the trimming mode 
00093                                              This parameter must be a value of @ref OPAMP_UserTrimming 
00094                                              UserTrimming is either factory or user trimming.*/
00095                                                                                                                             
00096   uint32_t TrimmingValueP;              /*!< Specifies the offset trimming value (PMOS)
00097                                              i.e. when UserTrimming is OPAMP_TRIMMING_USER. 
00098                                              This parameter must be a number between Min_Data = 0 and Max_Data = 31 
00099                                              16 is typical default value */
00100                                         
00101   uint32_t TrimmingValueN;              /*!< Specifies the offset trimming value (NMOS)
00102                                              i.e. when UserTrimming is OPAMP_TRIMMING_USER. 
00103                                              This parameter must be a number between Min_Data = 0 and Max_Data = 31 
00104                                              16 is typical default value */
00105   
00106   uint32_t TrimmingValuePLowPower;      /*!< Specifies the offset trimming value (PMOS)
00107                                              i.e. when UserTrimming is OPAMP_TRIMMING_USER. 
00108                                              This parameter must be a number between Min_Data = 0 and Max_Data = 31  
00109                                              16 is typical default value */
00110 
00111   uint32_t TrimmingValueNLowPower;      /*!< Specifies the offset trimming value (NMOS)
00112                                              i.e. when UserTrimming is OPAMP_TRIMMING_USER. 
00113                                              This parameter must be a number between Min_Data = 0 and Max_Data = 31  
00114                                              16 is typical default value */
00115 
00116 }OPAMP_InitTypeDef;
00117 
00118 /** 
00119   * @brief  HAL State structures definition  
00120   */ 
00121 
00122 typedef enum
00123 {
00124   HAL_OPAMP_STATE_RESET               = 0x00000000, /*!< OPAMP is not yet Initialized          */
00125   
00126   HAL_OPAMP_STATE_READY               = 0x00000001, /*!< OPAMP is initialized and ready for use */
00127   HAL_OPAMP_STATE_CALIBBUSY           = 0x00000002, /*!< OPAMP is enabled in auto calibration mode */
00128  
00129   HAL_OPAMP_STATE_BUSY                = 0x00000004, /*!< OPAMP is enabled and running in normal mode */                                                                           
00130   HAL_OPAMP_STATE_BUSYLOCKED          = 0x00000005  /*!< OPAMP is locked
00131                                                          only system reset allows reconfiguring the opamp. */
00132     
00133 }HAL_OPAMP_StateTypeDef;
00134 
00135 /** 
00136   * @brief OPAMP Handle Structure definition
00137   */ 
00138 typedef struct __OPAMP_HandleTypeDef
00139 {
00140   OPAMP_TypeDef       *Instance;                    /*!< OPAMP instance's registers base address   */
00141   OPAMP_InitTypeDef   Init;                         /*!< OPAMP required parameters */
00142   HAL_StatusTypeDef Status;                         /*!< OPAMP peripheral status   */
00143   HAL_LockTypeDef   Lock;                           /*!< Locking object          */
00144   __IO HAL_OPAMP_StateTypeDef  State;               /*!< OPAMP communication state */
00145   
00146 #if (USE_HAL_OPAMP_REGISTER_CALLBACKS == 1)
00147 void (* MspInitCallback)                (struct __OPAMP_HandleTypeDef *hopamp);
00148 void (* MspDeInitCallback)              (struct __OPAMP_HandleTypeDef *hopamp); 
00149 #endif /* USE_HAL_OPAMP_REGISTER_CALLBACKS */ 
00150   
00151 } OPAMP_HandleTypeDef;
00152 
00153 /** 
00154   * @brief HAl_OPAMP_TrimmingValueTypeDef definition 
00155   */ 
00156 
00157 typedef  uint32_t HAL_OPAMP_TrimmingValueTypeDef;
00158 
00159 /**
00160   * @}
00161   */
00162 
00163 #if (USE_HAL_OPAMP_REGISTER_CALLBACKS == 1)
00164 /**
00165   * @brief  HAL OPAMP Callback ID enumeration definition
00166   */
00167 typedef enum
00168 {
00169   HAL_OPAMP_MSP_INIT_CB_ID                     = 0x01U,  /*!< OPAMP MspInit Callback ID           */
00170   HAL_OPAMP_MSP_DEINIT_CB_ID                   = 0x02U,  /*!< OPAMP MspDeInit Callback ID         */
00171   HAL_OPAMP_ALL_CB_ID                          = 0x03U   /*!< OPAMP All ID                        */
00172 }HAL_OPAMP_CallbackIDTypeDef;                            
00173 
00174 /**
00175   * @brief  HAL OPAMP Callback pointer definition
00176   */
00177 typedef void (*pOPAMP_CallbackTypeDef)(OPAMP_HandleTypeDef *hopamp);
00178 #endif /* USE_HAL_OPAMP_REGISTER_CALLBACKS */
00179     
00180     
00181 /* Exported constants --------------------------------------------------------*/
00182 
00183 /** @defgroup OPAMP_Exported_Constants OPAMP Exported Constants
00184   * @{
00185   */      
00186 
00187 /** @defgroup OPAMP_Mode OPAMP Mode
00188   * @{
00189   */
00190 #define OPAMP_STANDALONE_MODE            ((uint32_t)0x00000000) /*!< standalone mode */
00191 #define OPAMP_PGA_MODE                   OPAMP_CSR_OPAMODE_1    /*!< PGA mode */
00192 #define OPAMP_FOLLOWER_MODE              OPAMP_CSR_OPAMODE      /*!< follower mode */
00193     
00194 /**
00195   * @}
00196   */                                        
00197                                                                              
00198 /** @defgroup OPAMP_NonInvertingInput OPAMP Non Inverting Input
00199   * @{
00200   */
00201 
00202 #define OPAMP_NONINVERTINGINPUT_IO0        ((uint32_t)0x00000000)  /*!< OPAMP non-inverting input connected to dedicated IO pin */
00203 #define OPAMP_NONINVERTINGINPUT_DAC_CH      OPAMP_CSR_VPSEL        /*!< OPAMP non-inverting input connected internally to DAC channel */
00204 
00205 /**
00206   * @}
00207   */
00208 
00209 /** @defgroup OPAMP_InvertingInput OPAMP Inverting Input
00210   * @{
00211   */
00212 
00213 #define OPAMP_INVERTINGINPUT_IO0              ((uint32_t)0x00000000)  /*!< OPAMP inverting input connected to dedicated IO pin low-leakage */
00214 #define OPAMP_INVERTINGINPUT_IO1              OPAMP_CSR_VMSEL_0       /*!< OPAMP inverting input connected to alternative IO pin available on some device packages */
00215 #define OPAMP_INVERTINGINPUT_CONNECT_NO       OPAMP_CSR_VMSEL_1       /*!< OPAMP inverting input not connected externally (PGA mode only) */
00216 
00217 /**
00218   * @}
00219   */
00220 
00221 /** @defgroup OPAMP_PgaGain OPAMP Pga Gain
00222   * @{
00223   */
00224 
00225 #define OPAMP_PGA_GAIN_2                ((uint32_t)0x00000000)                        /*!< PGA gain =  2 */
00226 #define OPAMP_PGA_GAIN_4                OPAMP_CSR_PGGAIN_0                            /*!< PGA gain =  4 */
00227 #define OPAMP_PGA_GAIN_8                OPAMP_CSR_PGGAIN_1                            /*!< PGA gain =  8 */
00228 #define OPAMP_PGA_GAIN_16              (OPAMP_CSR_PGGAIN_0 | OPAMP_CSR_PGGAIN_1)      /*!< PGA gain = 16 */
00229 
00230 /**
00231   * @}
00232   */
00233 
00234 /** @defgroup OPAMP_PowerMode OPAMP PowerMode
00235   * @{
00236   */
00237 #define OPAMP_POWERMODE_NORMAL        ((uint32_t)0x00000000)
00238 #define OPAMP_POWERMODE_LOWPOWER      OPAMP_CSR_OPALPM
00239 
00240 /**
00241   * @}
00242   */
00243 
00244 /** @defgroup OPAMP_PowerSupplyRange OPAMP PowerSupplyRange
00245   * @{
00246   */
00247 #define OPAMP_POWERSUPPLY_LOW          ((uint32_t)0x00000000)  /*!< Power supply range low (VDDA lower than 2.4V) */
00248 #define OPAMP_POWERSUPPLY_HIGH         OPAMP1_CSR_OPARANGE     /*!< Power supply range high (VDDA higher than 2.4V) */
00249 
00250 /**
00251   * @}
00252   */ 
00253 
00254 /** @defgroup OPAMP_UserTrimming OPAMP User Trimming
00255   * @{
00256   */
00257 #define OPAMP_TRIMMING_FACTORY        ((uint32_t)0x00000000)                          /*!< Factory trimming */
00258 #define OPAMP_TRIMMING_USER           OPAMP_CSR_USERTRIM                              /*!< User trimming */
00259 
00260 /**
00261   * @}
00262   */
00263 
00264 /** @defgroup OPAMP_FactoryTrimming OPAMP Factory Trimming
00265   * @{
00266   */
00267 #define OPAMP_FACTORYTRIMMING_DUMMY    ((uint32_t)0xFFFFFFFF)                           /*!< Dummy value if trimming value could not be retrieved */
00268 
00269 #define OPAMP_FACTORYTRIMMING_N        ((uint32_t)0x00000000)                          /*!< Offset trimming N */
00270 #define OPAMP_FACTORYTRIMMING_P        ((uint32_t)0x00000001)                          /*!< Offset trimming P */
00271 
00272 /**
00273   * @}
00274   */           
00275 
00276  /**
00277   * @}
00278   */ 
00279 
00280 /* Private constants ---------------------------------------------------------*/
00281 /** @defgroup OPAMP_Private_Constants OPAMP Private Constants
00282   * @brief   OPAMP Private constants and defines
00283   * @{
00284   */
00285 
00286 /* NONINVERTING bit position in OTR & LPOTR */ 
00287 #define OPAMP_INPUT_NONINVERTING              ((uint32_t) 8) /*!< Non inverting input */  
00288 
00289 /* Offset trimming time: during calibration, minimum time needed between two  */
00290 /* steps to have 1 mV accuracy.                                               */
00291 /* Refer to datasheet, electrical characteristics: parameter tOFFTRIM Typ=1ms.*/
00292 /* Unit: ms.                                                                  */
00293 #define OPAMP_TRIMMING_DELAY               ((uint32_t) 1)
00294 
00295 /**
00296   * @}
00297   */
00298 
00299 /* Exported macros -----------------------------------------------------------*/
00300 /** @defgroup OPAMP_Exported_Macros OPAMP Exported Macros
00301   * @{
00302   */
00303 
00304 /** @brief Reset OPAMP handle state.
00305   * @param  __HANDLE__: OPAMP handle.
00306   * @retval None
00307   */
00308 #if (USE_HAL_OPAMP_REGISTER_CALLBACKS == 1)
00309 #define __HAL_OPAMP_RESET_HANDLE_STATE(__HANDLE__)           do {                                              \
00310                                                                  (__HANDLE__)->State = HAL_OPAMP_STATE_RESET; \
00311                                                                  (__HANDLE__)->MspInitCallback = NULL;       \
00312                                                                  (__HANDLE__)->MspDeInitCallback = NULL;     \
00313                                                                } while(0)
00314 #else
00315 #define __HAL_OPAMP_RESET_HANDLE_STATE(__HANDLE__) ((__HANDLE__)->State = HAL_OPAMP_STATE_RESET)
00316 #endif /* USE_HAL_OPAMP_REGISTER_CALLBACKS */
00317 
00318 
00319 
00320 /**
00321   * @}
00322   */ 
00323 
00324 /* Private macro -------------------------------------------------------------*/
00325 
00326 /** @defgroup OPAMP_Private_Macros OPAMP Private Macros
00327   * @{
00328   */
00329 
00330 #define IS_OPAMP_FUNCTIONAL_NORMALMODE(INPUT) (((INPUT) == OPAMP_STANDALONE_MODE) || \
00331                                                ((INPUT) == OPAMP_PGA_MODE) || \
00332                                                ((INPUT) == OPAMP_FOLLOWER_MODE))
00333 
00334 #if defined (STM32L471xx) || defined (STM32L475xx) || defined (STM32L476xx) || defined (STM32L485xx) || defined (STM32L486xx) || \
00335     defined (STM32L496xx) || defined (STM32L4A6xx) || \
00336     defined (STM32L4R5xx) || defined (STM32L4R7xx) || defined (STM32L4R9xx) || defined (STM32L4S5xx) || defined (STM32L4S7xx) || defined(STM32L4S9xx)
00337 #define IS_OPAMP_INVERTING_INPUT_STANDALONE(INPUT) (((INPUT) == OPAMP_INVERTINGINPUT_IO0) || \
00338                                                     ((INPUT) == OPAMP_INVERTINGINPUT_IO1))
00339 #endif /* STM32L471xx STM32L475xx STM32L476xx STM32L485xx STM32L486xx  */
00340        /* STM32L496xx STM32L4A6xx                                      */
00341        /* STM32L4R5xx STM32L4R7xx STM32L4R9xx STM32L4S5xx  STM32L4S7xx STM32L4S9xx */
00342 
00343 #if defined (STM32L431xx) || defined (STM32L432xx) || defined (STM32L433xx)  || defined (STM32L442xx)  || defined (STM32L443xx) || \
00344     defined (STM32L451xx) || defined (STM32L452xx) || defined (STM32L462xx) 
00345 #define IS_OPAMP_INVERTING_INPUT_STANDALONE(INPUT) ((INPUT) == OPAMP_INVERTINGINPUT_IO0)
00346 #endif /* STM32L431xx STM32L432xx STM32L433xx STM32L442xx STM32L443xx  */
00347        /* STM32L451xx STM32L452xx STM32L462xx */
00348 
00349 #define IS_OPAMP_NONINVERTING_INPUT(INPUT) (((INPUT) == OPAMP_NONINVERTINGINPUT_IO0) || \
00350                                             ((INPUT) == OPAMP_NONINVERTINGINPUT_DAC_CH))
00351 
00352 #if defined (STM32L471xx) || defined (STM32L475xx) || defined (STM32L476xx) || defined (STM32L485xx) || defined (STM32L486xx) || \
00353     defined (STM32L496xx) || defined (STM32L4A6xx) || \
00354     defined (STM32L4R5xx) || defined (STM32L4R7xx) || defined (STM32L4R9xx) || defined (STM32L4S5xx) || defined (STM32L4S7xx) || defined(STM32L4S9xx)
00355 #define IS_OPAMP_INVERTING_INPUT_PGA(INPUT) (((INPUT) == OPAMP_INVERTINGINPUT_IO0) || \
00356                                              ((INPUT) == OPAMP_INVERTINGINPUT_IO1) || \
00357                                              ((INPUT) == OPAMP_INVERTINGINPUT_CONNECT_NO))
00358 #endif /* STM32L471xx STM32L475xx STM32L476xx STM32L485xx STM32L486xx  */
00359        /* STM32L496xx STM32L4A6xx                                      */
00360        /* STM32L4R5xx STM32L4R7xx STM32L4R9xx STM32L4S5xx  STM32L4S7xx STM32L4S9xx */
00361 
00362 #if defined (STM32L431xx) || defined (STM32L432xx) || defined (STM32L433xx) || defined (STM32L442xx) || defined (STM32L443xx) || \
00363     defined (STM32L451xx) || defined (STM32L452xx) || defined (STM32L462xx) 
00364 #define IS_OPAMP_INVERTING_INPUT_PGA(INPUT) (((INPUT) == OPAMP_INVERTINGINPUT_IO0) || \
00365                                              ((INPUT) == OPAMP_INVERTINGINPUT_CONNECT_NO))
00366 #endif /* STM32L431xx STM32L432xx STM32L433xx STM32L442xx STM32L443xx  */
00367        /* STM32L451xx STM32L452xx STM32L462xx */
00368 
00369 #define IS_OPAMP_PGA_GAIN(GAIN) (((GAIN) == OPAMP_PGA_GAIN_2) || \
00370                                  ((GAIN) == OPAMP_PGA_GAIN_4) || \
00371                                  ((GAIN) == OPAMP_PGA_GAIN_8) || \
00372                                  ((GAIN) == OPAMP_PGA_GAIN_16))
00373 
00374 #define IS_OPAMP_POWERMODE(TRIMMING) (((TRIMMING) == OPAMP_POWERMODE_NORMAL) || \
00375                                       ((TRIMMING) == OPAMP_POWERMODE_LOWPOWER) )
00376 
00377 #define IS_OPAMP_POWER_SUPPLY_RANGE(RANGE) (((RANGE) == OPAMP_POWERSUPPLY_LOW) || \
00378                                             ((RANGE) == OPAMP_POWERSUPPLY_HIGH)  )
00379 
00380 #define IS_OPAMP_TRIMMING(TRIMMING) (((TRIMMING) == OPAMP_TRIMMING_FACTORY) || \
00381                                      ((TRIMMING) == OPAMP_TRIMMING_USER))
00382 
00383 
00384 #define IS_OPAMP_TRIMMINGVALUE(TRIMMINGVALUE) ((TRIMMINGVALUE) <= 0x1F)
00385 
00386 #define IS_OPAMP_FACTORYTRIMMING(TRIMMING) (((TRIMMING) == OPAMP_FACTORYTRIMMING_N) || \
00387                                              ((TRIMMING) == OPAMP_FACTORYTRIMMING_P))
00388 
00389 /**
00390   * @}
00391   */ 
00392 
00393 /* Include OPAMP HAL Extended module */
00394 #include "stm32l4xx_hal_opamp_ex.h"
00395 
00396 /* Exported functions --------------------------------------------------------*/
00397 /** @addtogroup OPAMP_Exported_Functions
00398   * @{
00399   */
00400 
00401 /** @addtogroup OPAMP_Exported_Functions_Group1
00402   * @{
00403   */
00404 /* Initialization/de-initialization functions  **********************************/
00405 HAL_StatusTypeDef HAL_OPAMP_Init(OPAMP_HandleTypeDef *hopamp);
00406 HAL_StatusTypeDef HAL_OPAMP_DeInit (OPAMP_HandleTypeDef *hopamp);
00407 void HAL_OPAMP_MspInit(OPAMP_HandleTypeDef *hopamp);
00408 void HAL_OPAMP_MspDeInit(OPAMP_HandleTypeDef *hopamp);
00409 /**
00410   * @}
00411   */
00412 
00413 /** @addtogroup OPAMP_Exported_Functions_Group2
00414   * @{
00415   */
00416 
00417 /* I/O operation functions  *****************************************************/
00418 HAL_StatusTypeDef HAL_OPAMP_Start(OPAMP_HandleTypeDef *hopamp);
00419 HAL_StatusTypeDef HAL_OPAMP_Stop(OPAMP_HandleTypeDef *hopamp);
00420 HAL_StatusTypeDef HAL_OPAMP_SelfCalibrate(OPAMP_HandleTypeDef *hopamp); 
00421 
00422 /**
00423   * @}
00424   */
00425 
00426 /** @addtogroup OPAMP_Exported_Functions_Group3
00427   * @{
00428   */
00429 
00430 /* Peripheral Control functions  ************************************************/
00431 #if (USE_HAL_OPAMP_REGISTER_CALLBACKS == 1)
00432 /* OPAMP callback registering/unregistering */
00433 HAL_StatusTypeDef HAL_OPAMP_RegisterCallback (OPAMP_HandleTypeDef *hopamp, HAL_OPAMP_CallbackIDTypeDef CallbackID, pOPAMP_CallbackTypeDef pCallback);
00434 HAL_StatusTypeDef HAL_OPAMP_UnRegisterCallback (OPAMP_HandleTypeDef *hopamp, HAL_OPAMP_CallbackIDTypeDef CallbackID);
00435 #endif /* USE_HAL_OPAMP_REGISTER_CALLBACKS */
00436 
00437 HAL_StatusTypeDef HAL_OPAMP_Lock(OPAMP_HandleTypeDef *hopamp); 
00438 HAL_OPAMP_TrimmingValueTypeDef HAL_OPAMP_GetTrimOffset (OPAMP_HandleTypeDef *hopamp, uint32_t trimmingoffset);
00439 
00440 /**
00441   * @}
00442   */
00443 
00444 /** @addtogroup OPAMP_Exported_Functions_Group4
00445   * @{
00446   */
00447 
00448 /* Peripheral State functions  **************************************************/
00449 HAL_OPAMP_StateTypeDef HAL_OPAMP_GetState(OPAMP_HandleTypeDef *hopamp);
00450 
00451 /**
00452   * @}
00453   */
00454 
00455 /**
00456   * @}
00457   */
00458 
00459 /**
00460   * @}
00461   */ 
00462 
00463 /**
00464   * @}
00465   */ 
00466 
00467 #ifdef __cplusplus
00468 }
00469 #endif
00470 
00471 #endif /* __STM32L4xx_HAL_OPAMP_H */
00472 
00473 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/