The official Mbed 2 C/C++ SDK provides the software platform and libraries to build your applications.

Dependents:   hello SerialTestv11 SerialTestv12 Sierpinski ... more

mbed 2

This is the mbed 2 library. If you'd like to learn about Mbed OS please see the mbed-os docs.

Committer:
AnnaBridge
Date:
Wed Feb 20 20:53:29 2019 +0000
Revision:
172:65be27845400
mbed library release version 165

Who changed what in which revision?

UserRevisionLine numberNew contents of line
AnnaBridge 172:65be27845400 1 /**
AnnaBridge 172:65be27845400 2 ******************************************************************************
AnnaBridge 172:65be27845400 3 * @file stm32h7xx_ll_opamp.h
AnnaBridge 172:65be27845400 4 * @author MCD Application Team
AnnaBridge 172:65be27845400 5 * @brief Header file of OPAMP LL module.
AnnaBridge 172:65be27845400 6 ******************************************************************************
AnnaBridge 172:65be27845400 7 * @attention
AnnaBridge 172:65be27845400 8 *
AnnaBridge 172:65be27845400 9 * <h2><center>&copy; Copyright (c) 2017 STMicroelectronics.
AnnaBridge 172:65be27845400 10 * All rights reserved.</center></h2>
AnnaBridge 172:65be27845400 11 *
AnnaBridge 172:65be27845400 12 * This software component is licensed by ST under BSD 3-Clause license,
AnnaBridge 172:65be27845400 13 * the "License"; You may not use this file except in compliance with the
AnnaBridge 172:65be27845400 14 * License. You may obtain a copy of the License at:
AnnaBridge 172:65be27845400 15 * opensource.org/licenses/BSD-3-Clause
AnnaBridge 172:65be27845400 16 *
AnnaBridge 172:65be27845400 17 ******************************************************************************
AnnaBridge 172:65be27845400 18 */
AnnaBridge 172:65be27845400 19
AnnaBridge 172:65be27845400 20 /* Define to prevent recursive inclusion -------------------------------------*/
AnnaBridge 172:65be27845400 21 #ifndef __STM32H7xx_LL_OPAMP_H
AnnaBridge 172:65be27845400 22 #define __STM32H7xx_LL_OPAMP_H
AnnaBridge 172:65be27845400 23
AnnaBridge 172:65be27845400 24 #ifdef __cplusplus
AnnaBridge 172:65be27845400 25 extern "C" {
AnnaBridge 172:65be27845400 26 #endif
AnnaBridge 172:65be27845400 27
AnnaBridge 172:65be27845400 28 /* Includes ------------------------------------------------------------------*/
AnnaBridge 172:65be27845400 29 #include "stm32h7xx.h"
AnnaBridge 172:65be27845400 30
AnnaBridge 172:65be27845400 31 /** @addtogroup STM32H7xx_LL_Driver
AnnaBridge 172:65be27845400 32 * @{
AnnaBridge 172:65be27845400 33 */
AnnaBridge 172:65be27845400 34
AnnaBridge 172:65be27845400 35 #if defined (OPAMP1) || defined (OPAMP2)
AnnaBridge 172:65be27845400 36
AnnaBridge 172:65be27845400 37 /** @defgroup OPAMP_LL OPAMP
AnnaBridge 172:65be27845400 38 * @{
AnnaBridge 172:65be27845400 39 */
AnnaBridge 172:65be27845400 40
AnnaBridge 172:65be27845400 41 /* Private types -------------------------------------------------------------*/
AnnaBridge 172:65be27845400 42 /* Private variables ---------------------------------------------------------*/
AnnaBridge 172:65be27845400 43
AnnaBridge 172:65be27845400 44 /* Private constants ---------------------------------------------------------*/
AnnaBridge 172:65be27845400 45 /** @defgroup OPAMP_LL_Private_Constants OPAMP Private Constants
AnnaBridge 172:65be27845400 46 * @{
AnnaBridge 172:65be27845400 47 */
AnnaBridge 172:65be27845400 48
AnnaBridge 172:65be27845400 49 /* Internal mask for OPAMP power mode: */
AnnaBridge 172:65be27845400 50 /* To select into literal LL_OPAMP_POWERMODE_x the relevant bits for: */
AnnaBridge 172:65be27845400 51 /* - OPAMP power mode into control register */
AnnaBridge 172:65be27845400 52 /* - OPAMP trimming register offset */
AnnaBridge 172:65be27845400 53
AnnaBridge 172:65be27845400 54 /* Internal register offset for OPAMP trimming configuration */
AnnaBridge 172:65be27845400 55 #define OPAMP_POWERMODE_OTR_REGOFFSET 0x00000000U
AnnaBridge 172:65be27845400 56 #define OPAMP_POWERMODE_HSOTR_REGOFFSET 0x00000001U
AnnaBridge 172:65be27845400 57 #define OPAMP_POWERMODE_OTR_REGOFFSET_MASK (OPAMP_POWERMODE_OTR_REGOFFSET | OPAMP_POWERMODE_HSOTR_REGOFFSET)
AnnaBridge 172:65be27845400 58
AnnaBridge 172:65be27845400 59 /* Mask for OPAMP power mode into control register */
AnnaBridge 172:65be27845400 60 #define OPAMP_POWERMODE_CSR_BIT_MASK (OPAMP_CSR_OPAHSM)
AnnaBridge 172:65be27845400 61
AnnaBridge 172:65be27845400 62 /* Internal mask for OPAMP trimming of transistors differential pair NMOS */
AnnaBridge 172:65be27845400 63 /* or PMOS. */
AnnaBridge 172:65be27845400 64 /* To select into literal LL_OPAMP_TRIMMING_x the relevant bits for: */
AnnaBridge 172:65be27845400 65 /* - OPAMP trimming selection of transistors differential pair */
AnnaBridge 172:65be27845400 66 /* - OPAMP trimming values of transistors differential pair */
AnnaBridge 172:65be27845400 67 #define OPAMP_TRIMMING_SELECT_MASK 0x00030000U
AnnaBridge 172:65be27845400 68 #define OPAMP_TRIMMING_VALUE_MASK (OPAMP_OTR_TRIMOFFSETP | OPAMP_OTR_TRIMOFFSETN)
AnnaBridge 172:65be27845400 69
AnnaBridge 172:65be27845400 70 /**
AnnaBridge 172:65be27845400 71 * @}
AnnaBridge 172:65be27845400 72 */
AnnaBridge 172:65be27845400 73
AnnaBridge 172:65be27845400 74
AnnaBridge 172:65be27845400 75 /* Private macros ------------------------------------------------------------*/
AnnaBridge 172:65be27845400 76 /** @defgroup OPAMP_LL_Private_Macros OPAMP Private Macros
AnnaBridge 172:65be27845400 77 * @{
AnnaBridge 172:65be27845400 78 */
AnnaBridge 172:65be27845400 79
AnnaBridge 172:65be27845400 80 /**
AnnaBridge 172:65be27845400 81 * @brief Driver macro reserved for internal use: set a pointer to
AnnaBridge 172:65be27845400 82 * a register from a register basis from which an offset
AnnaBridge 172:65be27845400 83 * is applied.
AnnaBridge 172:65be27845400 84 * @param __REG__ Register basis from which the offset is applied.
AnnaBridge 172:65be27845400 85 * @param __REG_OFFSET__ Offset to be applied (unit: number of registers).
AnnaBridge 172:65be27845400 86 * @retval Register address
AnnaBridge 172:65be27845400 87 */
AnnaBridge 172:65be27845400 88 #define __OPAMP_PTR_REG_OFFSET(__REG__, __REG_OFFSET__) \
AnnaBridge 172:65be27845400 89 ((__IO uint32_t *)((uint32_t) ((uint32_t)(&(__REG__)) + ((__REG_OFFSET__) << 2U))))
AnnaBridge 172:65be27845400 90
AnnaBridge 172:65be27845400 91
AnnaBridge 172:65be27845400 92
AnnaBridge 172:65be27845400 93 /**
AnnaBridge 172:65be27845400 94 * @}
AnnaBridge 172:65be27845400 95 */
AnnaBridge 172:65be27845400 96
AnnaBridge 172:65be27845400 97
AnnaBridge 172:65be27845400 98 /* Exported types ------------------------------------------------------------*/
AnnaBridge 172:65be27845400 99 #if defined(USE_FULL_LL_DRIVER)
AnnaBridge 172:65be27845400 100 /** @defgroup OPAMP_LL_ES_INIT OPAMP Exported Init structure
AnnaBridge 172:65be27845400 101 * @{
AnnaBridge 172:65be27845400 102 */
AnnaBridge 172:65be27845400 103
AnnaBridge 172:65be27845400 104 /**
AnnaBridge 172:65be27845400 105 * @brief Structure definition of some features of OPAMP instance.
AnnaBridge 172:65be27845400 106 */
AnnaBridge 172:65be27845400 107 typedef struct
AnnaBridge 172:65be27845400 108 {
AnnaBridge 172:65be27845400 109 uint32_t PowerMode; /*!< Set OPAMP power mode.
AnnaBridge 172:65be27845400 110 This parameter can be a value of @ref OPAMP_LL_EC_POWER_MODE
AnnaBridge 172:65be27845400 111
AnnaBridge 172:65be27845400 112 This feature can be modified afterwards using unitary function @ref LL_OPAMP_SetPowerMode(). */
AnnaBridge 172:65be27845400 113
AnnaBridge 172:65be27845400 114
AnnaBridge 172:65be27845400 115 uint32_t FunctionalMode; /*!< Set OPAMP functional mode by setting internal connections: OPAMP operation in standalone, follower, ...
AnnaBridge 172:65be27845400 116 This parameter can be a value of @ref OPAMP_LL_EC_FUNCTIONAL_MODE
AnnaBridge 172:65be27845400 117 @note If OPAMP is configured in mode PGA, the gain can be configured using function @ref LL_OPAMP_SetPGAGain().
AnnaBridge 172:65be27845400 118
AnnaBridge 172:65be27845400 119 This feature can be modified afterwards using unitary function @ref LL_OPAMP_SetFunctionalMode(). */
AnnaBridge 172:65be27845400 120
AnnaBridge 172:65be27845400 121 uint32_t InputNonInverting; /*!< Set OPAMP input non-inverting connection.
AnnaBridge 172:65be27845400 122 This parameter can be a value of @ref OPAMP_LL_EC_INPUT_NONINVERTING
AnnaBridge 172:65be27845400 123
AnnaBridge 172:65be27845400 124 This feature can be modified afterwards using unitary function @ref LL_OPAMP_SetInputNonInverting(). */
AnnaBridge 172:65be27845400 125
AnnaBridge 172:65be27845400 126 uint32_t InputInverting; /*!< Set OPAMP inverting input connection.
AnnaBridge 172:65be27845400 127 This parameter can be a value of @ref OPAMP_LL_EC_INPUT_INVERTING
AnnaBridge 172:65be27845400 128 @note OPAMP inverting input is used with OPAMP in mode standalone or PGA with external capacitors for filtering circuit. Otherwise (OPAMP in mode follower), OPAMP inverting input is not used (not connected to GPIO pin), this parameter is discarded.
AnnaBridge 172:65be27845400 129
AnnaBridge 172:65be27845400 130 This feature can be modified afterwards using unitary function @ref LL_OPAMP_SetInputInverting(). */
AnnaBridge 172:65be27845400 131
AnnaBridge 172:65be27845400 132 } LL_OPAMP_InitTypeDef;
AnnaBridge 172:65be27845400 133
AnnaBridge 172:65be27845400 134 /**
AnnaBridge 172:65be27845400 135 * @}
AnnaBridge 172:65be27845400 136 */
AnnaBridge 172:65be27845400 137 #endif /* USE_FULL_LL_DRIVER */
AnnaBridge 172:65be27845400 138
AnnaBridge 172:65be27845400 139 /* Exported constants --------------------------------------------------------*/
AnnaBridge 172:65be27845400 140 /** @defgroup OPAMP_LL_Exported_Constants OPAMP Exported Constants
AnnaBridge 172:65be27845400 141 * @{
AnnaBridge 172:65be27845400 142 */
AnnaBridge 172:65be27845400 143
AnnaBridge 172:65be27845400 144 /** @defgroup OPAMP_LL_EC_MODE OPAMP mode calibration or functional.
AnnaBridge 172:65be27845400 145 * @{
AnnaBridge 172:65be27845400 146 */
AnnaBridge 172:65be27845400 147 #define LL_OPAMP_MODE_FUNCTIONAL 0x00000000U /*!< OPAMP functional mode */
AnnaBridge 172:65be27845400 148 #define LL_OPAMP_MODE_CALIBRATION (OPAMP_CSR_CALON) /*!< OPAMP calibration mode */
AnnaBridge 172:65be27845400 149 /**
AnnaBridge 172:65be27845400 150 * @}
AnnaBridge 172:65be27845400 151 */
AnnaBridge 172:65be27845400 152
AnnaBridge 172:65be27845400 153 /** @defgroup OPAMP_LL_EC_FUNCTIONAL_MODE OPAMP functional mode
AnnaBridge 172:65be27845400 154 * @{
AnnaBridge 172:65be27845400 155 */
AnnaBridge 172:65be27845400 156 #define LL_OPAMP_MODE_STANDALONE 0x00000000U /*!< OPAMP functional mode, OPAMP operation in standalone */
AnnaBridge 172:65be27845400 157 #define LL_OPAMP_MODE_FOLLOWER (OPAMP_CSR_VMSEL_1 | OPAMP_CSR_VMSEL_0) /*!< OPAMP functional mode, OPAMP operation in follower */
AnnaBridge 172:65be27845400 158 #define LL_OPAMP_MODE_PGA (OPAMP_CSR_VMSEL_1) /*!< OPAMP functional mode, OPAMP operation in PGA */
AnnaBridge 172:65be27845400 159 #define LL_OPAMP_MODE_PGA_IO0 (OPAMP_CSR_PGGAIN_2|OPAMP_CSR_VMSEL_1) /*!< In PGA mode, the inverting input is connected to VINM0 for filtering */
AnnaBridge 172:65be27845400 160 #define LL_OPAMP_MODE_PGA_IO0_BIAS (OPAMP_CSR_PGGAIN_3|OPAMP_CSR_VMSEL_1) /*!< In PGA mode, the inverting input is connected to VINM0
AnnaBridge 172:65be27845400 161 - Input signal on VINM0, bias on VINPx: negative gain
AnnaBridge 172:65be27845400 162 - Bias on VINM0, input signal on VINPx: positive gain */
AnnaBridge 172:65be27845400 163 #define LL_OPAMP_MODE_PGA_IO0_IO1_BIAS (OPAMP_CSR_PGGAIN_3|OPAMP_CSR_PGGAIN_2|OPAMP_CSR_VMSEL_1) /*!< In PGA mode, the inverting input is connected to VINM0
AnnaBridge 172:65be27845400 164 - Input signal on VINM0, bias on VINPx: negative gain
AnnaBridge 172:65be27845400 165 - Bias on VINM0, input signal on VINPx: positive gain
AnnaBridge 172:65be27845400 166 And VINM1 is connected too for filtering */
AnnaBridge 172:65be27845400 167
AnnaBridge 172:65be27845400 168 /**
AnnaBridge 172:65be27845400 169 * @}
AnnaBridge 172:65be27845400 170 */
AnnaBridge 172:65be27845400 171
AnnaBridge 172:65be27845400 172 /** @defgroup OPAMP_LL_EC_MODE_PGA_GAIN OPAMP PGA gain (relevant when OPAMP is in functional mode PGA)
AnnaBridge 172:65be27845400 173 * @note Gain sign:
AnnaBridge 172:65be27845400 174 * - is positive if the @ref OPAMP_LL_EC_FUNCTIONAL_MODE configuration is
AnnaBridge 172:65be27845400 175 * @ref LL_OPAMP_MODE_PGA or LL_OPAMP_MODE_PGA_IO0
AnnaBridge 172:65be27845400 176 * - may be positive or negative if the @ref OPAMP_LL_EC_FUNCTIONAL_MODE configuration is
AnnaBridge 172:65be27845400 177 * @ref LL_OPAMP_MODE_PGA_IO0_BIAS or LL_OPAMP_MODE_PGA_IO0_IO1_BIAS
AnnaBridge 172:65be27845400 178 * see @ref OPAMP_LL_EC_FUNCTIONAL_MODE for more details
AnnaBridge 172:65be27845400 179 * @{
AnnaBridge 172:65be27845400 180 */
AnnaBridge 172:65be27845400 181 #define LL_OPAMP_PGA_GAIN_2_OR_MINUS_1 0x00000000U /*!< OPAMP PGA gain 2 or -1 */
AnnaBridge 172:65be27845400 182 #define LL_OPAMP_PGA_GAIN_4_OR_MINUS_3 ( OPAMP_CSR_PGGAIN_0) /*!< OPAMP PGA gain 4 or -3 */
AnnaBridge 172:65be27845400 183 #define LL_OPAMP_PGA_GAIN_8_OR_MINUS_7 ( OPAMP_CSR_PGGAIN_1 ) /*!< OPAMP PGA gain 8 or -7 */
AnnaBridge 172:65be27845400 184 #define LL_OPAMP_PGA_GAIN_16_OR_MINUS_15 ( OPAMP_CSR_PGGAIN_1 | OPAMP_CSR_PGGAIN_0) /*!< OPAMP PGA gain 16 or -15 */
AnnaBridge 172:65be27845400 185 /**
AnnaBridge 172:65be27845400 186 * @}
AnnaBridge 172:65be27845400 187 */
AnnaBridge 172:65be27845400 188
AnnaBridge 172:65be27845400 189 /** @defgroup OPAMP_LL_EC_INPUT_NONINVERTING OPAMP input non-inverting
AnnaBridge 172:65be27845400 190 * @{
AnnaBridge 172:65be27845400 191 */
AnnaBridge 172:65be27845400 192 #define LL_OPAMP_INPUT_NONINVERT_IO0 0x00000000U /*!< OPAMP non inverting input connected to I/O VINP0
AnnaBridge 172:65be27845400 193 (PB0 for OPAMP1, PE9 for OPAMP2)
AnnaBridge 172:65be27845400 194 Note: On this STM32 serie, all OPAMPx are not available on all devices. Refer to device datasheet for more details */
AnnaBridge 172:65be27845400 195 #define LL_OPAMP_INPUT_NONINVERT_DAC OPAMP_CSR_VPSEL_0 /*!< OPAMP non inverting input connected internally to DAC channel
AnnaBridge 172:65be27845400 196 (DAC1_CH1 for OPAMP1, DAC1_CH2 for OPAMP2)
AnnaBridge 172:65be27845400 197 Note: On this STM32 serie, all OPAMPx are not available on all devices. Refer to device datasheet for more details */
AnnaBridge 172:65be27845400 198
AnnaBridge 172:65be27845400 199 /**
AnnaBridge 172:65be27845400 200 * @}
AnnaBridge 172:65be27845400 201 */
AnnaBridge 172:65be27845400 202
AnnaBridge 172:65be27845400 203 /** @defgroup OPAMP_LL_EC_INPUT_INVERTING OPAMP input inverting
AnnaBridge 172:65be27845400 204 * @note OPAMP inverting input is used with OPAMP in mode standalone or PGA with negative gain or bias.
AnnaBridge 172:65be27845400 205 * Otherwise (OPAMP in mode follower), OPAMP inverting input is not used (not connected to GPIO pin).
AnnaBridge 172:65be27845400 206 * @{
AnnaBridge 172:65be27845400 207 */
AnnaBridge 172:65be27845400 208 #define LL_OPAMP_INPUT_INVERT_IO0 0x00000000U /*!< OPAMP inverting input connected to I/O VINM0
AnnaBridge 172:65be27845400 209 (PC5 for OPAMP1, PE8 for OPAMP2)
AnnaBridge 172:65be27845400 210 Note: On this STM32 serie, all OPAMPx are not available on all devices. Refer to device datasheet for more details */
AnnaBridge 172:65be27845400 211 #define LL_OPAMP_INPUT_INVERT_IO1 OPAMP_CSR_VMSEL_0 /*!< OPAMP inverting input connected to I/0 VINM1
AnnaBridge 172:65be27845400 212 (PA7 for OPAMP1, PG1 for OPAMP2)
AnnaBridge 172:65be27845400 213 Note: On this STM32 serie, all OPAMPx are not available on all devices. Refer to device datasheet for more details */
AnnaBridge 172:65be27845400 214 #define LL_OPAMP_INPUT_INVERT_CONNECT_NO OPAMP_CSR_VMSEL_1 /*!< OPAMP inverting input not externally connected (intended for OPAMP in mode follower or PGA with positive gain without bias).
AnnaBridge 172:65be27845400 215 Note: On this STM32 serie, this literal include cases of value 0x11 for mode follower and value 0x10 for mode PGA. */
AnnaBridge 172:65be27845400 216 /**
AnnaBridge 172:65be27845400 217 * @}
AnnaBridge 172:65be27845400 218 */
AnnaBridge 172:65be27845400 219
AnnaBridge 172:65be27845400 220
AnnaBridge 172:65be27845400 221
AnnaBridge 172:65be27845400 222 /** @defgroup OPAMP_LL_EC_POWER_MODE OPAMP PowerMode
AnnaBridge 172:65be27845400 223 * @{
AnnaBridge 172:65be27845400 224 */
AnnaBridge 172:65be27845400 225 #define LL_OPAMP_POWERMODE_NORMAL (OPAMP_POWERMODE_OTR_REGOFFSET) /*!< OPAMP output in normal mode */
AnnaBridge 172:65be27845400 226 #define LL_OPAMP_POWERMODE_HIGHSPEED (OPAMP_POWERMODE_HSOTR_REGOFFSET | OPAMP_CSR_OPAHSM) /*!< OPAMP output in highspeed mode */
AnnaBridge 172:65be27845400 227 /**
AnnaBridge 172:65be27845400 228 * @}
AnnaBridge 172:65be27845400 229 */
AnnaBridge 172:65be27845400 230
AnnaBridge 172:65be27845400 231 /** @defgroup OPAMP_LL_EC_TRIMMING_MODE OPAMP trimming mode
AnnaBridge 172:65be27845400 232 * @{
AnnaBridge 172:65be27845400 233 */
AnnaBridge 172:65be27845400 234 #define LL_OPAMP_TRIMMING_FACTORY 0x00000000U /*!< OPAMP trimming factors set to factory values */
AnnaBridge 172:65be27845400 235 #define LL_OPAMP_TRIMMING_USER OPAMP_CSR_USERTRIM /*!< OPAMP trimming factors set to user values */
AnnaBridge 172:65be27845400 236 /**
AnnaBridge 172:65be27845400 237 * @}
AnnaBridge 172:65be27845400 238 */
AnnaBridge 172:65be27845400 239
AnnaBridge 172:65be27845400 240 /** @defgroup OPAMP_LL_EC_TRIMMING_TRANSISTORS_DIFF_PAIR OPAMP trimming of transistors differential pair NMOS or PMOS
AnnaBridge 172:65be27845400 241 * @{
AnnaBridge 172:65be27845400 242 */
AnnaBridge 172:65be27845400 243 #define LL_OPAMP_TRIMMING_NMOS_VREF_90PC_VDDA (OPAMP_OTR_TRIMOFFSETN | ((OPAMP_CSR_CALSEL_1 | OPAMP_CSR_CALSEL_0) << 4)) /*!< OPAMP trimming of transistors differential pair NMOS (internal reference voltage set to 0.9*Vdda). Default parameters to be used for calibration using two trimming steps (one with each transistors differential pair NMOS and PMOS). */
AnnaBridge 172:65be27845400 244 #define LL_OPAMP_TRIMMING_NMOS_VREF_50PC_VDDA (OPAMP_OTR_TRIMOFFSETN | (OPAMP_CSR_CALSEL_1 << 4)) /*!< OPAMP trimming of transistors differential pair NMOS (internal reference voltage set to 0.5*Vdda). */
AnnaBridge 172:65be27845400 245 #define LL_OPAMP_TRIMMING_PMOS_VREF_10PC_VDDA (OPAMP_OTR_TRIMOFFSETP | (OPAMP_CSR_CALSEL_0 << 4)) /*!< OPAMP trimming of transistors differential pair PMOS (internal reference voltage set to 0.1*Vdda). Default parameters to be used for calibration using two trimming steps (one with each transistors differential pair NMOS and PMOS). */
AnnaBridge 172:65be27845400 246 #define LL_OPAMP_TRIMMING_PMOS_VREF_3_3PC_VDDA (OPAMP_OTR_TRIMOFFSETP ) /*!< OPAMP trimming of transistors differential pair PMOS (internal reference voltage set to 0.33*Vdda). */
AnnaBridge 172:65be27845400 247 #define LL_OPAMP_TRIMMING_NMOS (LL_OPAMP_TRIMMING_NMOS_VREF_90PC_VDDA) /*!< OPAMP trimming of transistors differential pair NMOS (internal reference voltage set to 0.9*Vdda). Default parameters to be used for calibration using two trimming steps (one with each transistors differential pair NMOS and PMOS). */
AnnaBridge 172:65be27845400 248 #define LL_OPAMP_TRIMMING_PMOS (LL_OPAMP_TRIMMING_PMOS_VREF_10PC_VDDA) /*!< OPAMP trimming of transistors differential pair PMOS (internal reference voltage set to 0.1*Vdda). Default parameters to be used for calibration using two trimming steps (one with each transistors differential pair NMOS and PMOS). */
AnnaBridge 172:65be27845400 249 /**
AnnaBridge 172:65be27845400 250 * @}
AnnaBridge 172:65be27845400 251 */
AnnaBridge 172:65be27845400 252
AnnaBridge 172:65be27845400 253 /** @defgroup OPAMP_LL_EC_HW_DELAYS Definitions of OPAMP hardware constraints delays
AnnaBridge 172:65be27845400 254 * @note Only OPAMP IP HW delays are defined in OPAMP LL driver driver,
AnnaBridge 172:65be27845400 255 * not timeout values.
AnnaBridge 172:65be27845400 256 * For details on delays values, refer to descriptions in source code
AnnaBridge 172:65be27845400 257 * above each literal definition.
AnnaBridge 172:65be27845400 258 * @{
AnnaBridge 172:65be27845400 259 */
AnnaBridge 172:65be27845400 260
AnnaBridge 172:65be27845400 261 /* Delay for OPAMP startup time (transition from state disable to enable). */
AnnaBridge 172:65be27845400 262 /* Note: OPAMP startup time depends on board application environment: */
AnnaBridge 172:65be27845400 263 /* impedance connected to OPAMP output. */
AnnaBridge 172:65be27845400 264 /* The delay below is specified under conditions: */
AnnaBridge 172:65be27845400 265 /* - OPAMP in functional mode follower */
AnnaBridge 172:65be27845400 266 /* - load impedance of 4kOhm (min), 50pF (max) */
AnnaBridge 172:65be27845400 267 /* Literal set to maximum value (refer to device datasheet, */
AnnaBridge 172:65be27845400 268 /* parameter "tWAKEUP"). */
AnnaBridge 172:65be27845400 269 /* Unit: us */
AnnaBridge 172:65be27845400 270 #define LL_OPAMP_DELAY_STARTUP_US (3U) /*!< Delay for OPAMP startup time */
AnnaBridge 172:65be27845400 271 /**
AnnaBridge 172:65be27845400 272 * @}
AnnaBridge 172:65be27845400 273 */
AnnaBridge 172:65be27845400 274
AnnaBridge 172:65be27845400 275 /**
AnnaBridge 172:65be27845400 276 * @}
AnnaBridge 172:65be27845400 277 */
AnnaBridge 172:65be27845400 278
AnnaBridge 172:65be27845400 279 /* Exported macro ------------------------------------------------------------*/
AnnaBridge 172:65be27845400 280 /** @defgroup OPAMP_LL_Exported_Macros OPAMP Exported Macros
AnnaBridge 172:65be27845400 281 * @{
AnnaBridge 172:65be27845400 282 */
AnnaBridge 172:65be27845400 283 /** @defgroup OPAMP_LL_EM_WRITE_READ Common write and read registers macro
AnnaBridge 172:65be27845400 284 * @{
AnnaBridge 172:65be27845400 285 */
AnnaBridge 172:65be27845400 286 /**
AnnaBridge 172:65be27845400 287 * @brief Write a value in OPAMP LL_OPAMP_GetPowerModeregister
AnnaBridge 172:65be27845400 288 * @param __INSTANCE__ OPAMP Instance
AnnaBridge 172:65be27845400 289 * @param __REG__ Register to be written
AnnaBridge 172:65be27845400 290 * @param __VALUE__ Value to be written in the register
AnnaBridge 172:65be27845400 291 * @retval None
AnnaBridge 172:65be27845400 292 */
AnnaBridge 172:65be27845400 293 #define LL_OPAMP_WriteReg(__INSTANCE__, __REG__, __VALUE__) WRITE_REG((__INSTANCE__)->__REG__, (__VALUE__))
AnnaBridge 172:65be27845400 294
AnnaBridge 172:65be27845400 295 /**
AnnaBridge 172:65be27845400 296 * @brief Read a value in OPAMP register
AnnaBridge 172:65be27845400 297 * @param __INSTANCE__ OPAMP Instance
AnnaBridge 172:65be27845400 298 * @param __REG__ Register to be read
AnnaBridge 172:65be27845400 299 * @retval Register value
AnnaBridge 172:65be27845400 300 */
AnnaBridge 172:65be27845400 301 #define LL_OPAMP_ReadReg(__INSTANCE__, __REG__) READ_REG(__INSTANCE__->__REG__)
AnnaBridge 172:65be27845400 302 /**
AnnaBridge 172:65be27845400 303 * @}
AnnaBridge 172:65be27845400 304 */
AnnaBridge 172:65be27845400 305 /** @defgroup OPAMP_LL_EM_HELPER_MACRO OPAMP helper macro
AnnaBridge 172:65be27845400 306 * @{
AnnaBridge 172:65be27845400 307 */
AnnaBridge 172:65be27845400 308
AnnaBridge 172:65be27845400 309 /**
AnnaBridge 172:65be27845400 310 * @brief Helper macro to select the OPAMP common instance
AnnaBridge 172:65be27845400 311 * to which is belonging the selected OPAMP instance.
AnnaBridge 172:65be27845400 312 * @note OPAMP common register instance can be used to
AnnaBridge 172:65be27845400 313 * set parameters common to several OPAMP instances.
AnnaBridge 172:65be27845400 314 * Refer to functions having argument "OPAMPxy_COMMON" as parameter.
AnnaBridge 172:65be27845400 315 * @param __OPAMPx__ OPAMP instance
AnnaBridge 172:65be27845400 316 * @retval OPAMP common instance
AnnaBridge 172:65be27845400 317 */
AnnaBridge 172:65be27845400 318 #if defined(OPAMP1) && defined(OPAMP2)
AnnaBridge 172:65be27845400 319 #define __LL_OPAMP_COMMON_INSTANCE(__OPAMPx__) \
AnnaBridge 172:65be27845400 320 (OPAMP12_COMMON)
AnnaBridge 172:65be27845400 321 #endif
AnnaBridge 172:65be27845400 322
AnnaBridge 172:65be27845400 323 /**
AnnaBridge 172:65be27845400 324 * @brief Helper macro to check if all OPAMP instances sharing the same
AnnaBridge 172:65be27845400 325 * OPAMP common instance are disabled.
AnnaBridge 172:65be27845400 326 * @note This check is required by functions with setting conditioned to
AnnaBridge 172:65be27845400 327 * OPAMP state:
AnnaBridge 172:65be27845400 328 * All OPAMP instances of the OPAMP common group must be disabled.
AnnaBridge 172:65be27845400 329 * Refer to functions having argument "OPAMPxy_COMMON" as parameter.
AnnaBridge 172:65be27845400 330 * @retval 0: All OPAMP instances sharing the same OPAMP common instance
AnnaBridge 172:65be27845400 331 * are disabled.
AnnaBridge 172:65be27845400 332 * 1: At least one OPAMP instance sharing the same OPAMP common instance
AnnaBridge 172:65be27845400 333 * is enabled
AnnaBridge 172:65be27845400 334 */
AnnaBridge 172:65be27845400 335 #if defined(OPAMP1) && defined(OPAMP2)
AnnaBridge 172:65be27845400 336 #define __LL_OPAMP_IS_ENABLED_ALL_COMMON_INSTANCE() \
AnnaBridge 172:65be27845400 337 (LL_OPAMP_IsEnabled(OPAMP1) | \
AnnaBridge 172:65be27845400 338 LL_OPAMP_IsEnabled(OPAMP2) )
AnnaBridge 172:65be27845400 339 #endif
AnnaBridge 172:65be27845400 340
AnnaBridge 172:65be27845400 341 /**
AnnaBridge 172:65be27845400 342 * @}
AnnaBridge 172:65be27845400 343 */
AnnaBridge 172:65be27845400 344
AnnaBridge 172:65be27845400 345 /**
AnnaBridge 172:65be27845400 346 * @}
AnnaBridge 172:65be27845400 347 */
AnnaBridge 172:65be27845400 348
AnnaBridge 172:65be27845400 349 /* Exported functions --------------------------------------------------------*/
AnnaBridge 172:65be27845400 350 /** @defgroup OPAMP_LL_Exported_Functions OPAMP Exported Functions
AnnaBridge 172:65be27845400 351 * @{
AnnaBridge 172:65be27845400 352 */
AnnaBridge 172:65be27845400 353
AnnaBridge 172:65be27845400 354 /** @defgroup OPAMP_LL_EF_CONFIGURATION_OPAMP_INSTANCE Configuration of OPAMP hierarchical scope: OPAMP instance
AnnaBridge 172:65be27845400 355 * @{
AnnaBridge 172:65be27845400 356 */
AnnaBridge 172:65be27845400 357
AnnaBridge 172:65be27845400 358 /**
AnnaBridge 172:65be27845400 359 * @brief Set OPAMP mode calibration or functional.
AnnaBridge 172:65be27845400 360 * @note OPAMP mode corresponds to functional or calibration mode:
AnnaBridge 172:65be27845400 361 * - functional mode: OPAMP operation in standalone, follower, ...
AnnaBridge 172:65be27845400 362 * Set functional mode using function
AnnaBridge 172:65be27845400 363 * @ref LL_OPAMP_SetFunctionalMode().
AnnaBridge 172:65be27845400 364 * - calibration mode: offset calibration of the selected
AnnaBridge 172:65be27845400 365 * transistors differential pair NMOS or PMOS.
AnnaBridge 172:65be27845400 366 * @rmtoll CSR CALON LL_OPAMP_SetMode
AnnaBridge 172:65be27845400 367 * @param OPAMPx OPAMP instance
AnnaBridge 172:65be27845400 368 * @param Mode This parameter can be one of the following values:
AnnaBridge 172:65be27845400 369 * @arg @ref LL_OPAMP_MODE_FUNCTIONAL
AnnaBridge 172:65be27845400 370 * @arg @ref LL_OPAMP_MODE_CALIBRATION
AnnaBridge 172:65be27845400 371 * @retval None
AnnaBridge 172:65be27845400 372 */
AnnaBridge 172:65be27845400 373 __STATIC_INLINE void LL_OPAMP_SetMode(OPAMP_TypeDef *OPAMPx, uint32_t Mode)
AnnaBridge 172:65be27845400 374 {
AnnaBridge 172:65be27845400 375 MODIFY_REG(OPAMPx->CSR, OPAMP_CSR_CALON, Mode);
AnnaBridge 172:65be27845400 376 }
AnnaBridge 172:65be27845400 377
AnnaBridge 172:65be27845400 378 /**
AnnaBridge 172:65be27845400 379 * @brief Get OPAMP mode calibration or functional.
AnnaBridge 172:65be27845400 380 * @note OPAMP mode corresponds to functional or calibration mode:
AnnaBridge 172:65be27845400 381 * - functional mode: OPAMP operation in standalone, follower, ...
AnnaBridge 172:65be27845400 382 * Set functional mode using function
AnnaBridge 172:65be27845400 383 * @ref LL_OPAMP_SetFunctionalMode().
AnnaBridge 172:65be27845400 384 * - calibration mode: offset calibration of the selected
AnnaBridge 172:65be27845400 385 * transistors differential pair NMOS or PMOS.
AnnaBridge 172:65be27845400 386 * @rmtoll CSR CALON LL_OPAMP_GetMode
AnnaBridge 172:65be27845400 387 * @param OPAMPx OPAMP instance
AnnaBridge 172:65be27845400 388 * @retval Returned value can be one of the following values:
AnnaBridge 172:65be27845400 389 * @arg @ref LL_OPAMP_MODE_FUNCTIONAL
AnnaBridge 172:65be27845400 390 * @arg @ref LL_OPAMP_MODE_CALIBRATION
AnnaBridge 172:65be27845400 391 */
AnnaBridge 172:65be27845400 392 __STATIC_INLINE uint32_t LL_OPAMP_GetMode(OPAMP_TypeDef *OPAMPx)
AnnaBridge 172:65be27845400 393 {
AnnaBridge 172:65be27845400 394 return (uint32_t)(READ_BIT(OPAMPx->CSR, OPAMP_CSR_CALON));
AnnaBridge 172:65be27845400 395 }
AnnaBridge 172:65be27845400 396
AnnaBridge 172:65be27845400 397 /**
AnnaBridge 172:65be27845400 398 * @brief Set OPAMP functional mode by setting internal connections.
AnnaBridge 172:65be27845400 399 * OPAMP operation in standalone, follower, ...
AnnaBridge 172:65be27845400 400 * @note This function reset bit of calibration mode to ensure
AnnaBridge 172:65be27845400 401 * to be in functional mode, in order to have OPAMP parameters
AnnaBridge 172:65be27845400 402 * (inputs selection, ...) set with the corresponding OPAMP mode
AnnaBridge 172:65be27845400 403 * to be effective.
AnnaBridge 172:65be27845400 404 * @rmtoll CSR VMSEL LL_OPAMP_SetFunctionalMode
AnnaBridge 172:65be27845400 405 * @param OPAMPx OPAMP instance
AnnaBridge 172:65be27845400 406 * @param FunctionalMode This parameter can be one of the following values:
AnnaBridge 172:65be27845400 407 * @arg @ref LL_OPAMP_MODE_STANDALONE
AnnaBridge 172:65be27845400 408 * @arg @ref LL_OPAMP_MODE_FOLLOWER
AnnaBridge 172:65be27845400 409 * @arg @ref LL_OPAMP_MODE_PGA
AnnaBridge 172:65be27845400 410 * @arg @ref LL_OPAMP_MODE_PGA_IO0
AnnaBridge 172:65be27845400 411 * @arg @ref LL_OPAMP_MODE_PGA_IO0_BIAS
AnnaBridge 172:65be27845400 412 * @arg @ref LL_OPAMP_MODE_PGA_IO0_IO1_BIAS
AnnaBridge 172:65be27845400 413 * @retval None
AnnaBridge 172:65be27845400 414 */
AnnaBridge 172:65be27845400 415 __STATIC_INLINE void LL_OPAMP_SetFunctionalMode(OPAMP_TypeDef *OPAMPx, uint32_t FunctionalMode)
AnnaBridge 172:65be27845400 416 {
AnnaBridge 172:65be27845400 417 /* Note: Bit OPAMP_CSR_CALON reset to ensure to be in functional mode */
AnnaBridge 172:65be27845400 418 MODIFY_REG(OPAMPx->CSR, OPAMP_CSR_PGGAIN_3 | OPAMP_CSR_PGGAIN_2 | OPAMP_CSR_VMSEL | OPAMP_CSR_CALON, FunctionalMode);
AnnaBridge 172:65be27845400 419 }
AnnaBridge 172:65be27845400 420
AnnaBridge 172:65be27845400 421 /**
AnnaBridge 172:65be27845400 422 * @brief Get OPAMP functional mode from setting of internal connections.
AnnaBridge 172:65be27845400 423 * OPAMP operation in standalone, follower, ...
AnnaBridge 172:65be27845400 424 * @rmtoll CSR VMSEL LL_OPAMP_GetFunctionalMode
AnnaBridge 172:65be27845400 425 * @param OPAMPx OPAMP instance
AnnaBridge 172:65be27845400 426 * @retval Returned value can be one of the following values:
AnnaBridge 172:65be27845400 427 * @arg @ref LL_OPAMP_MODE_STANDALONE
AnnaBridge 172:65be27845400 428 * @arg @ref LL_OPAMP_MODE_FOLLOWER
AnnaBridge 172:65be27845400 429 * @arg @ref LL_OPAMP_MODE_PGA
AnnaBridge 172:65be27845400 430 * @arg @ref LL_OPAMP_MODE_PGA_IO0
AnnaBridge 172:65be27845400 431 * @arg @ref LL_OPAMP_MODE_PGA_IO0_BIAS
AnnaBridge 172:65be27845400 432 * @arg @ref LL_OPAMP_MODE_PGA_IO0_IO1_BIAS
AnnaBridge 172:65be27845400 433 */
AnnaBridge 172:65be27845400 434 __STATIC_INLINE uint32_t LL_OPAMP_GetFunctionalMode(OPAMP_TypeDef *OPAMPx)
AnnaBridge 172:65be27845400 435 {
AnnaBridge 172:65be27845400 436 return (uint32_t)(READ_BIT(OPAMPx->CSR, OPAMP_CSR_PGGAIN_3 | OPAMP_CSR_PGGAIN_2 | OPAMP_CSR_VMSEL));
AnnaBridge 172:65be27845400 437 }
AnnaBridge 172:65be27845400 438
AnnaBridge 172:65be27845400 439 /**
AnnaBridge 172:65be27845400 440 * @brief Set OPAMP PGA gain.
AnnaBridge 172:65be27845400 441 * @note Preliminarily, OPAMP must be set in mode PGA
AnnaBridge 172:65be27845400 442 * using function @ref LL_OPAMP_SetFunctionalMode().
AnnaBridge 172:65be27845400 443 * @rmtoll CSR PGGAIN LL_OPAMP_SetPGAGain
AnnaBridge 172:65be27845400 444 * @param OPAMPx OPAMP instance
AnnaBridge 172:65be27845400 445 * @param PGAGain This parameter can be one of the following values:
AnnaBridge 172:65be27845400 446 * @arg @ref LL_OPAMP_PGA_GAIN_2_OR_MINUS_1
AnnaBridge 172:65be27845400 447 * @arg @ref LL_OPAMP_PGA_GAIN_4_OR_MINUS_3
AnnaBridge 172:65be27845400 448 * @arg @ref LL_OPAMP_PGA_GAIN_8_OR_MINUS_7
AnnaBridge 172:65be27845400 449 * @arg @ref LL_OPAMP_PGA_GAIN_16_OR_MINUS_15
AnnaBridge 172:65be27845400 450 * @retval None
AnnaBridge 172:65be27845400 451 */
AnnaBridge 172:65be27845400 452 __STATIC_INLINE void LL_OPAMP_SetPGAGain(OPAMP_TypeDef *OPAMPx, uint32_t PGAGain)
AnnaBridge 172:65be27845400 453 {
AnnaBridge 172:65be27845400 454 MODIFY_REG(OPAMPx->CSR, OPAMP_CSR_PGGAIN_1 | OPAMP_CSR_PGGAIN_0, PGAGain);
AnnaBridge 172:65be27845400 455 }
AnnaBridge 172:65be27845400 456
AnnaBridge 172:65be27845400 457 /**
AnnaBridge 172:65be27845400 458 * @brief Get OPAMP PGA gain.
AnnaBridge 172:65be27845400 459 * @note Preliminarily, OPAMP must be set in mode PGA
AnnaBridge 172:65be27845400 460 * using function @ref LL_OPAMP_SetFunctionalMode().
AnnaBridge 172:65be27845400 461 * @rmtoll CSR PGGAIN LL_OPAMP_GetPGAGain
AnnaBridge 172:65be27845400 462 * @param OPAMPx OPAMP instance
AnnaBridge 172:65be27845400 463 * @retval Returned value can be one of the following values:
AnnaBridge 172:65be27845400 464 * @arg @ref LL_OPAMP_PGA_GAIN_2_OR_MINUS_1
AnnaBridge 172:65be27845400 465 * @arg @ref LL_OPAMP_PGA_GAIN_4_OR_MINUS_3
AnnaBridge 172:65be27845400 466 * @arg @ref LL_OPAMP_PGA_GAIN_8_OR_MINUS_7
AnnaBridge 172:65be27845400 467 * @arg @ref LL_OPAMP_PGA_GAIN_16_OR_MINUS_15
AnnaBridge 172:65be27845400 468 */
AnnaBridge 172:65be27845400 469 __STATIC_INLINE uint32_t LL_OPAMP_GetPGAGain(OPAMP_TypeDef *OPAMPx)
AnnaBridge 172:65be27845400 470 {
AnnaBridge 172:65be27845400 471 return (uint32_t)(READ_BIT(OPAMPx->CSR, OPAMP_CSR_PGGAIN_1 | OPAMP_CSR_PGGAIN_0));
AnnaBridge 172:65be27845400 472 }
AnnaBridge 172:65be27845400 473
AnnaBridge 172:65be27845400 474 /**
AnnaBridge 172:65be27845400 475 * @brief Set OPAMP power mode normal or highspeed.
AnnaBridge 172:65be27845400 476 * @note OPAMP highspeed mode allows output stage to have a better slew rate.
AnnaBridge 172:65be27845400 477 * @rmtoll CSR OPAHSM LL_OPAMP_SetPowerMode
AnnaBridge 172:65be27845400 478 * @param OPAMPx OPAMP instance
AnnaBridge 172:65be27845400 479 * @param PowerMode This parameter can be one of the following values:
AnnaBridge 172:65be27845400 480 * @arg @ref LL_OPAMP_POWERMODE_NORMAL
AnnaBridge 172:65be27845400 481 * @arg @ref LL_OPAMP_POWERMODE_HIGHSPEED
AnnaBridge 172:65be27845400 482 * @retval None
AnnaBridge 172:65be27845400 483 */
AnnaBridge 172:65be27845400 484 __STATIC_INLINE void LL_OPAMP_SetPowerMode(OPAMP_TypeDef *OPAMPx, uint32_t PowerMode)
AnnaBridge 172:65be27845400 485 {
AnnaBridge 172:65be27845400 486 MODIFY_REG(OPAMPx->CSR, OPAMP_CSR_OPAHSM, (PowerMode & OPAMP_POWERMODE_CSR_BIT_MASK));
AnnaBridge 172:65be27845400 487 }
AnnaBridge 172:65be27845400 488
AnnaBridge 172:65be27845400 489 /**
AnnaBridge 172:65be27845400 490 * @brief Get OPAMP power mode normal or highspeed.
AnnaBridge 172:65be27845400 491 * @note OPAMP highspeed mode allows output stage to have a better slew rate.
AnnaBridge 172:65be27845400 492 * @rmtoll CSR OPAHSM LL_OPAMP_GetPowerMode
AnnaBridge 172:65be27845400 493 * @param OPAMPx OPAMP instance
AnnaBridge 172:65be27845400 494 * @retval Returned value can be one of the following values:
AnnaBridge 172:65be27845400 495 * @arg @ref LL_OPAMP_POWERMODE_NORMAL
AnnaBridge 172:65be27845400 496 * @arg @ref LL_OPAMP_POWERMODE_HIGHSPEED
AnnaBridge 172:65be27845400 497 */
AnnaBridge 172:65be27845400 498 __STATIC_INLINE uint32_t LL_OPAMP_GetPowerMode(OPAMP_TypeDef *OPAMPx)
AnnaBridge 172:65be27845400 499 {
AnnaBridge 172:65be27845400 500 register uint32_t power_mode = (READ_BIT(OPAMPx->CSR, OPAMP_CSR_OPAHSM));
AnnaBridge 172:65be27845400 501
AnnaBridge 172:65be27845400 502 return (uint32_t)(power_mode | (power_mode >> (OPAMP_CSR_OPAHSM_Pos)));
AnnaBridge 172:65be27845400 503 }
AnnaBridge 172:65be27845400 504 /**
AnnaBridge 172:65be27845400 505 * @}
AnnaBridge 172:65be27845400 506 */
AnnaBridge 172:65be27845400 507
AnnaBridge 172:65be27845400 508 /** @defgroup OPAMP_LL_EF_CONFIGURATION_INPUTS Configuration of OPAMP inputs
AnnaBridge 172:65be27845400 509 * @{
AnnaBridge 172:65be27845400 510 */
AnnaBridge 172:65be27845400 511
AnnaBridge 172:65be27845400 512 /**
AnnaBridge 172:65be27845400 513 * @brief Set OPAMP non-inverting input connection.
AnnaBridge 172:65be27845400 514 * @rmtoll CSR VPSEL LL_OPAMP_SetInputNonInverting
AnnaBridge 172:65be27845400 515 * @param OPAMPx OPAMP instance
AnnaBridge 172:65be27845400 516 * @param InputNonInverting This parameter can be one of the following values:
AnnaBridge 172:65be27845400 517 * @arg @ref LL_OPAMP_INPUT_NONINVERT_IO0
AnnaBridge 172:65be27845400 518 * @arg @ref LL_OPAMP_INPUT_NONINVERT_DAC
AnnaBridge 172:65be27845400 519 * @retval None
AnnaBridge 172:65be27845400 520 */
AnnaBridge 172:65be27845400 521 __STATIC_INLINE void LL_OPAMP_SetInputNonInverting(OPAMP_TypeDef *OPAMPx, uint32_t InputNonInverting)
AnnaBridge 172:65be27845400 522 {
AnnaBridge 172:65be27845400 523 MODIFY_REG(OPAMPx->CSR, OPAMP_CSR_VPSEL, InputNonInverting);
AnnaBridge 172:65be27845400 524 }
AnnaBridge 172:65be27845400 525
AnnaBridge 172:65be27845400 526 /**
AnnaBridge 172:65be27845400 527 * @brief Get OPAMP non-inverting input connection.
AnnaBridge 172:65be27845400 528 * @rmtoll CSR VPSEL LL_OPAMP_GetInputNonInverting
AnnaBridge 172:65be27845400 529 * @param OPAMPx OPAMP instance
AnnaBridge 172:65be27845400 530 * @retval Returned value can be one of the following values:
AnnaBridge 172:65be27845400 531 * @arg @ref LL_OPAMP_INPUT_NONINVERT_IO0
AnnaBridge 172:65be27845400 532 * @arg @ref LL_OPAMP_INPUT_NONINVERT_DAC
AnnaBridge 172:65be27845400 533 */
AnnaBridge 172:65be27845400 534 __STATIC_INLINE uint32_t LL_OPAMP_GetInputNonInverting(OPAMP_TypeDef *OPAMPx)
AnnaBridge 172:65be27845400 535 {
AnnaBridge 172:65be27845400 536 return (uint32_t)(READ_BIT(OPAMPx->CSR, OPAMP_CSR_VPSEL));
AnnaBridge 172:65be27845400 537 }
AnnaBridge 172:65be27845400 538
AnnaBridge 172:65be27845400 539 /**
AnnaBridge 172:65be27845400 540 * @brief Set OPAMP inverting input connection.
AnnaBridge 172:65be27845400 541 * @note OPAMP inverting input is used with OPAMP in mode standalone
AnnaBridge 172:65be27845400 542 * or PGA with external capacitors for filtering circuit.
AnnaBridge 172:65be27845400 543 * Otherwise (OPAMP in mode follower), OPAMP inverting input
AnnaBridge 172:65be27845400 544 * is not used (not connected to GPIO pin).
AnnaBridge 172:65be27845400 545 * @rmtoll CSR VMSEL LL_OPAMP_SetInputInverting
AnnaBridge 172:65be27845400 546 * @param OPAMPx OPAMP instance
AnnaBridge 172:65be27845400 547 * @param InputInverting This parameter can be one of the following values:
AnnaBridge 172:65be27845400 548 * @arg @ref LL_OPAMP_INPUT_INVERT_IO0
AnnaBridge 172:65be27845400 549 * @arg @ref LL_OPAMP_INPUT_INVERT_IO1
AnnaBridge 172:65be27845400 550 * @arg @ref LL_OPAMP_INPUT_INVERT_CONNECT_NO
AnnaBridge 172:65be27845400 551 * @retval None
AnnaBridge 172:65be27845400 552 */
AnnaBridge 172:65be27845400 553 __STATIC_INLINE void LL_OPAMP_SetInputInverting(OPAMP_TypeDef *OPAMPx, uint32_t InputInverting)
AnnaBridge 172:65be27845400 554 {
AnnaBridge 172:65be27845400 555 /* Manage cases of OPAMP inverting input not connected (0x10 and 0x11) */
AnnaBridge 172:65be27845400 556 /* to not modify OPAMP mode follower or PGA. */
AnnaBridge 172:65be27845400 557 /* Bit OPAMP_CSR_VMSEL_1 is set by OPAMP mode (follower, PGA). */
AnnaBridge 172:65be27845400 558 MODIFY_REG(OPAMPx->CSR, (~(InputInverting >> 1)) & OPAMP_CSR_VMSEL_0, InputInverting);
AnnaBridge 172:65be27845400 559 }
AnnaBridge 172:65be27845400 560
AnnaBridge 172:65be27845400 561 /**
AnnaBridge 172:65be27845400 562 * @brief Get OPAMP inverting input connection.
AnnaBridge 172:65be27845400 563 * @rmtoll CSR VMSEL LL_OPAMP_GetInputInverting
AnnaBridge 172:65be27845400 564 * @param OPAMPx OPAMP instance
AnnaBridge 172:65be27845400 565 * @retval Returned value can be one of the following values:
AnnaBridge 172:65be27845400 566 * @arg @ref LL_OPAMP_INPUT_INVERT_IO0
AnnaBridge 172:65be27845400 567 * @arg @ref LL_OPAMP_INPUT_INVERT_IO1
AnnaBridge 172:65be27845400 568 * @arg @ref LL_OPAMP_INPUT_INVERT_CONNECT_NO
AnnaBridge 172:65be27845400 569 */
AnnaBridge 172:65be27845400 570 __STATIC_INLINE uint32_t LL_OPAMP_GetInputInverting(OPAMP_TypeDef *OPAMPx)
AnnaBridge 172:65be27845400 571 {
AnnaBridge 172:65be27845400 572 register uint32_t input_inverting = READ_BIT(OPAMPx->CSR, OPAMP_CSR_VMSEL);
AnnaBridge 172:65be27845400 573
AnnaBridge 172:65be27845400 574 /* Manage cases 0x10 and 0x11 to return the same value: OPAMP inverting */
AnnaBridge 172:65be27845400 575 /* input not connected. */
AnnaBridge 172:65be27845400 576 return (input_inverting & ~((input_inverting >> 1) & OPAMP_CSR_VMSEL_0));
AnnaBridge 172:65be27845400 577 }
AnnaBridge 172:65be27845400 578
AnnaBridge 172:65be27845400 579 /**
AnnaBridge 172:65be27845400 580 * @}
AnnaBridge 172:65be27845400 581 */
AnnaBridge 172:65be27845400 582
AnnaBridge 172:65be27845400 583 /** @defgroup OPAMP_LL_EF_OPAMP_TRIMMING Configuration and operation of OPAMP trimming
AnnaBridge 172:65be27845400 584 * @{
AnnaBridge 172:65be27845400 585 */
AnnaBridge 172:65be27845400 586
AnnaBridge 172:65be27845400 587 /**
AnnaBridge 172:65be27845400 588 * @brief Set OPAMP trimming mode.
AnnaBridge 172:65be27845400 589 * @rmtoll CSR USERTRIM LL_OPAMP_SetTrimmingMode
AnnaBridge 172:65be27845400 590 * @param OPAMPx OPAMP instance
AnnaBridge 172:65be27845400 591 * @param TrimmingMode This parameter can be one of the following values:
AnnaBridge 172:65be27845400 592 * @arg @ref LL_OPAMP_TRIMMING_FACTORY
AnnaBridge 172:65be27845400 593 * @arg @ref LL_OPAMP_TRIMMING_USER
AnnaBridge 172:65be27845400 594 * @retval None
AnnaBridge 172:65be27845400 595 */
AnnaBridge 172:65be27845400 596 __STATIC_INLINE void LL_OPAMP_SetTrimmingMode(OPAMP_TypeDef *OPAMPx, uint32_t TrimmingMode)
AnnaBridge 172:65be27845400 597 {
AnnaBridge 172:65be27845400 598 MODIFY_REG(OPAMPx->CSR, OPAMP_CSR_USERTRIM, TrimmingMode);
AnnaBridge 172:65be27845400 599 }
AnnaBridge 172:65be27845400 600
AnnaBridge 172:65be27845400 601 /**
AnnaBridge 172:65be27845400 602 * @brief Get OPAMP trimming mode.
AnnaBridge 172:65be27845400 603 * @rmtoll CSR USERTRIM LL_OPAMP_GetTrimmingMode
AnnaBridge 172:65be27845400 604 * @param OPAMPx OPAMP instance
AnnaBridge 172:65be27845400 605 * @retval Returned value can be one of the following values:
AnnaBridge 172:65be27845400 606 * @arg @ref LL_OPAMP_TRIMMING_FACTORY
AnnaBridge 172:65be27845400 607 * @arg @ref LL_OPAMP_TRIMMING_USER
AnnaBridge 172:65be27845400 608 */
AnnaBridge 172:65be27845400 609 __STATIC_INLINE uint32_t LL_OPAMP_GetTrimmingMode(OPAMP_TypeDef *OPAMPx)
AnnaBridge 172:65be27845400 610 {
AnnaBridge 172:65be27845400 611 return (uint32_t)(READ_BIT(OPAMPx->CSR, OPAMP_CSR_USERTRIM));
AnnaBridge 172:65be27845400 612 }
AnnaBridge 172:65be27845400 613
AnnaBridge 172:65be27845400 614 /**
AnnaBridge 172:65be27845400 615 * @brief Set OPAMP offset to calibrate the selected transistors
AnnaBridge 172:65be27845400 616 * differential pair NMOS or PMOS.
AnnaBridge 172:65be27845400 617 * @note Preliminarily, OPAMP must be set in mode calibration
AnnaBridge 172:65be27845400 618 * using function @ref LL_OPAMP_SetMode().
AnnaBridge 172:65be27845400 619 * @rmtoll CSR CALSEL LL_OPAMP_SetCalibrationSelection
AnnaBridge 172:65be27845400 620 * @param OPAMPx OPAMP instance
AnnaBridge 172:65be27845400 621 * @param TransistorsDiffPair This parameter can be one of the following values:
AnnaBridge 172:65be27845400 622 * @arg @ref LL_OPAMP_TRIMMING_NMOS (1)
AnnaBridge 172:65be27845400 623 * @arg @ref LL_OPAMP_TRIMMING_PMOS (1)
AnnaBridge 172:65be27845400 624 * @arg @ref LL_OPAMP_TRIMMING_NMOS_VREF_50PC_VDDA
AnnaBridge 172:65be27845400 625 * @arg @ref LL_OPAMP_TRIMMING_PMOS_VREF_3_3PC_VDDA
AnnaBridge 172:65be27845400 626 *
AnnaBridge 172:65be27845400 627 * (1) Default parameters to be used for calibration
AnnaBridge 172:65be27845400 628 * using two trimming steps (one with each transistors differential
AnnaBridge 172:65be27845400 629 * pair NMOS and PMOS)
AnnaBridge 172:65be27845400 630 * @retval None
AnnaBridge 172:65be27845400 631 */
AnnaBridge 172:65be27845400 632 __STATIC_INLINE void LL_OPAMP_SetCalibrationSelection(OPAMP_TypeDef *OPAMPx, uint32_t TransistorsDiffPair)
AnnaBridge 172:65be27845400 633 {
AnnaBridge 172:65be27845400 634 /* Parameter used with mask "OPAMP_TRIMMING_SELECT_MASK" because */
AnnaBridge 172:65be27845400 635 /* containing other bits reserved for other purpose. */
AnnaBridge 172:65be27845400 636 MODIFY_REG(OPAMPx->CSR, OPAMP_CSR_CALSEL, ((TransistorsDiffPair & OPAMP_TRIMMING_SELECT_MASK) >> 4));
AnnaBridge 172:65be27845400 637 }
AnnaBridge 172:65be27845400 638
AnnaBridge 172:65be27845400 639 /**
AnnaBridge 172:65be27845400 640 * @brief Get OPAMP offset to calibrate the selected transistors
AnnaBridge 172:65be27845400 641 * differential pair NMOS or PMOS.
AnnaBridge 172:65be27845400 642 * @note Preliminarily, OPAMP must be set in mode calibration
AnnaBridge 172:65be27845400 643 * using function @ref LL_OPAMP_SetMode().
AnnaBridge 172:65be27845400 644 * @rmtoll CSR CALSEL LL_OPAMP_GetCalibrationSelection
AnnaBridge 172:65be27845400 645 * @param OPAMPx OPAMP instance
AnnaBridge 172:65be27845400 646 * @retval Returned value can be one of the following values:
AnnaBridge 172:65be27845400 647 * @arg @ref LL_OPAMP_TRIMMING_NMOS (1)
AnnaBridge 172:65be27845400 648 * @arg @ref LL_OPAMP_TRIMMING_PMOS (1)
AnnaBridge 172:65be27845400 649 * @arg @ref LL_OPAMP_TRIMMING_NMOS_VREF_50PC_VDDA
AnnaBridge 172:65be27845400 650 * @arg @ref LL_OPAMP_TRIMMING_PMOS_VREF_3_3PC_VDDA
AnnaBridge 172:65be27845400 651 *
AnnaBridge 172:65be27845400 652 * (1) Default parameters to be used for calibration
AnnaBridge 172:65be27845400 653 * using two trimming steps (one with each transistors differential
AnnaBridge 172:65be27845400 654 * pair NMOS and PMOS)
AnnaBridge 172:65be27845400 655 */
AnnaBridge 172:65be27845400 656 __STATIC_INLINE uint32_t LL_OPAMP_GetCalibrationSelection(OPAMP_TypeDef *OPAMPx)
AnnaBridge 172:65be27845400 657 {
AnnaBridge 172:65be27845400 658 register uint32_t CalibrationSelection = (uint32_t)(READ_BIT(OPAMPx->CSR, OPAMP_CSR_CALSEL));
AnnaBridge 172:65be27845400 659
AnnaBridge 172:65be27845400 660 return (uint32_t)((CalibrationSelection << 4)|
AnnaBridge 172:65be27845400 661 (((CalibrationSelection & OPAMP_CSR_CALSEL_1) == 0UL) ? OPAMP_OTR_TRIMOFFSETN : OPAMP_OTR_TRIMOFFSETP));
AnnaBridge 172:65be27845400 662 }
AnnaBridge 172:65be27845400 663
AnnaBridge 172:65be27845400 664 /**
AnnaBridge 172:65be27845400 665 * @brief Get OPAMP calibration result of toggling output.
AnnaBridge 172:65be27845400 666 * @note This functions returns:
AnnaBridge 172:65be27845400 667 * 0 if OPAMP calibration output is reset
AnnaBridge 172:65be27845400 668 * 1 if OPAMP calibration output is set
AnnaBridge 172:65be27845400 669 * @rmtoll CSR OUTCAL LL_OPAMP_IsCalibrationOutputSet
AnnaBridge 172:65be27845400 670 * @param OPAMPx OPAMP instance
AnnaBridge 172:65be27845400 671 * @retval State of bit (1 or 0).
AnnaBridge 172:65be27845400 672 */
AnnaBridge 172:65be27845400 673 __STATIC_INLINE uint32_t LL_OPAMP_IsCalibrationOutputSet(OPAMP_TypeDef *OPAMPx)
AnnaBridge 172:65be27845400 674 {
AnnaBridge 172:65be27845400 675 return ((READ_BIT(OPAMPx->CSR, OPAMP_CSR_CALOUT) == OPAMP_CSR_CALOUT)?1UL:0UL);
AnnaBridge 172:65be27845400 676 }
AnnaBridge 172:65be27845400 677
AnnaBridge 172:65be27845400 678 /**
AnnaBridge 172:65be27845400 679 * @brief Set OPAMP trimming factor for the selected transistors
AnnaBridge 172:65be27845400 680 * differential pair NMOS or PMOS, corresponding to the selected
AnnaBridge 172:65be27845400 681 * power mode.
AnnaBridge 172:65be27845400 682 * @rmtoll OTR TRIMOFFSETN LL_OPAMP_SetTrimmingValue\n
AnnaBridge 172:65be27845400 683 * OTR TRIMOFFSETP LL_OPAMP_SetTrimmingValue\n
AnnaBridge 172:65be27845400 684 * HSOTR TRIMHSOFFSETN LL_OPAMP_SetTrimmingValue\n
AnnaBridge 172:65be27845400 685 * HSOTR TRIMHSOFFSETP LL_OPAMP_SetTrimmingValue
AnnaBridge 172:65be27845400 686 * @param OPAMPx OPAMP instance
AnnaBridge 172:65be27845400 687 * @param PowerMode This parameter can be one of the following values:
AnnaBridge 172:65be27845400 688 * @arg @ref LL_OPAMP_POWERMODE_NORMAL
AnnaBridge 172:65be27845400 689 * @arg @ref LL_OPAMP_POWERMODE_HIGHSPEED
AnnaBridge 172:65be27845400 690 * @param TransistorsDiffPair This parameter can be one of the following values:
AnnaBridge 172:65be27845400 691 * @arg @ref LL_OPAMP_TRIMMING_NMOS
AnnaBridge 172:65be27845400 692 * @arg @ref LL_OPAMP_TRIMMING_PMOS
AnnaBridge 172:65be27845400 693 * @param TrimmingValue 0x00...0x1F
AnnaBridge 172:65be27845400 694 * @retval None
AnnaBridge 172:65be27845400 695 */
AnnaBridge 172:65be27845400 696 __STATIC_INLINE void LL_OPAMP_SetTrimmingValue(OPAMP_TypeDef* OPAMPx, uint32_t PowerMode, uint32_t TransistorsDiffPair, uint32_t TrimmingValue)
AnnaBridge 172:65be27845400 697 {
AnnaBridge 172:65be27845400 698 register __IO uint32_t *preg = __OPAMP_PTR_REG_OFFSET(OPAMPx->OTR, (PowerMode & OPAMP_POWERMODE_OTR_REGOFFSET_MASK));
AnnaBridge 172:65be27845400 699
AnnaBridge 172:65be27845400 700 /* Set bits with position in register depending on parameter */
AnnaBridge 172:65be27845400 701 /* "TransistorsDiffPair". */
AnnaBridge 172:65be27845400 702 /* Parameter used with mask "OPAMP_TRIMMING_VALUE_MASK" because */
AnnaBridge 172:65be27845400 703 /* containing other bits reserved for other purpose. */
AnnaBridge 172:65be27845400 704 MODIFY_REG(*preg,
AnnaBridge 172:65be27845400 705 (TransistorsDiffPair & OPAMP_TRIMMING_VALUE_MASK) << 1U,
AnnaBridge 172:65be27845400 706 TrimmingValue << ((TransistorsDiffPair == LL_OPAMP_TRIMMING_NMOS) ? OPAMP_OTR_TRIMOFFSETN_Pos : OPAMP_OTR_TRIMOFFSETP_Pos));
AnnaBridge 172:65be27845400 707 }
AnnaBridge 172:65be27845400 708
AnnaBridge 172:65be27845400 709 /**
AnnaBridge 172:65be27845400 710 * @brief Get OPAMP trimming factor for the selected transistors
AnnaBridge 172:65be27845400 711 * differential pair NMOS or PMOS, corresponding to the selected
AnnaBridge 172:65be27845400 712 * power mode.
AnnaBridge 172:65be27845400 713 * @rmtoll OTR TRIMOFFSETN LL_OPAMP_GetTrimmingValue\n
AnnaBridge 172:65be27845400 714 * OTR TRIMOFFSETP LL_OPAMP_GetTrimmingValue\n
AnnaBridge 172:65be27845400 715 * HSOTR TRIMHSOFFSETN LL_OPAMP_GetTrimmingValue\n
AnnaBridge 172:65be27845400 716 * HSOTR TRIMHSOFFSETP LL_OPAMP_GetTrimmingValue
AnnaBridge 172:65be27845400 717 * @param OPAMPx OPAMP instance
AnnaBridge 172:65be27845400 718 * @param PowerMode This parameter can be one of the following values:
AnnaBridge 172:65be27845400 719 * @arg @ref LL_OPAMP_POWERMODE_NORMAL
AnnaBridge 172:65be27845400 720 * @arg @ref LL_OPAMP_POWERMODE_HIGHSPEED
AnnaBridge 172:65be27845400 721 * @param TransistorsDiffPair This parameter can be one of the following values:
AnnaBridge 172:65be27845400 722 * @arg @ref LL_OPAMP_TRIMMING_NMOS
AnnaBridge 172:65be27845400 723 * @arg @ref LL_OPAMP_TRIMMING_PMOS
AnnaBridge 172:65be27845400 724 * @retval 0x0...0x1F
AnnaBridge 172:65be27845400 725 */
AnnaBridge 172:65be27845400 726 __STATIC_INLINE uint32_t LL_OPAMP_GetTrimmingValue(OPAMP_TypeDef* OPAMPx, uint32_t PowerMode, uint32_t TransistorsDiffPair)
AnnaBridge 172:65be27845400 727 {
AnnaBridge 172:65be27845400 728 register const __IO uint32_t *preg = __OPAMP_PTR_REG_OFFSET(OPAMPx->OTR, (PowerMode & OPAMP_POWERMODE_OTR_REGOFFSET_MASK));
AnnaBridge 172:65be27845400 729
AnnaBridge 172:65be27845400 730 /* Retrieve bits with position in register depending on parameter */
AnnaBridge 172:65be27845400 731 /* "TransistorsDiffPair". */
AnnaBridge 172:65be27845400 732 /* Parameter used with mask "OPAMP_TRIMMING_VALUE_MASK" because */
AnnaBridge 172:65be27845400 733 /* containing other bits reserved for other purpose. */
AnnaBridge 172:65be27845400 734 return (uint32_t)(READ_BIT(*preg, (TransistorsDiffPair & OPAMP_TRIMMING_VALUE_MASK))
AnnaBridge 172:65be27845400 735 >> ((TransistorsDiffPair == LL_OPAMP_TRIMMING_NMOS) ? OPAMP_OTR_TRIMOFFSETN_Pos : OPAMP_OTR_TRIMOFFSETP_Pos));
AnnaBridge 172:65be27845400 736 }
AnnaBridge 172:65be27845400 737
AnnaBridge 172:65be27845400 738 /**
AnnaBridge 172:65be27845400 739 * @}
AnnaBridge 172:65be27845400 740 */
AnnaBridge 172:65be27845400 741
AnnaBridge 172:65be27845400 742 /** @defgroup OPAMP_LL_EF_OPERATION Operation on OPAMP instance
AnnaBridge 172:65be27845400 743 * @{
AnnaBridge 172:65be27845400 744 */
AnnaBridge 172:65be27845400 745 /**
AnnaBridge 172:65be27845400 746 * @brief Enable OPAMP instance.
AnnaBridge 172:65be27845400 747 * @note After enable from off state, OPAMP requires a delay
AnnaBridge 172:65be27845400 748 * to fullfill wake up time specification.
AnnaBridge 172:65be27845400 749 * Refer to device datasheet, parameter "tWAKEUP".
AnnaBridge 172:65be27845400 750 * @rmtoll CSR OPAMPXEN LL_OPAMP_Enable
AnnaBridge 172:65be27845400 751 * @param OPAMPx OPAMP instance
AnnaBridge 172:65be27845400 752 * @retval None
AnnaBridge 172:65be27845400 753 */
AnnaBridge 172:65be27845400 754 __STATIC_INLINE void LL_OPAMP_Enable(OPAMP_TypeDef *OPAMPx)
AnnaBridge 172:65be27845400 755 {
AnnaBridge 172:65be27845400 756 SET_BIT(OPAMPx->CSR, OPAMP_CSR_OPAMPxEN);
AnnaBridge 172:65be27845400 757 }
AnnaBridge 172:65be27845400 758
AnnaBridge 172:65be27845400 759 /**
AnnaBridge 172:65be27845400 760 * @brief Disable OPAMP instance.
AnnaBridge 172:65be27845400 761 * @rmtoll CSR OPAMPXEN LL_OPAMP_Disable
AnnaBridge 172:65be27845400 762 * @param OPAMPx OPAMP instance
AnnaBridge 172:65be27845400 763 * @retval None
AnnaBridge 172:65be27845400 764 */
AnnaBridge 172:65be27845400 765 __STATIC_INLINE void LL_OPAMP_Disable(OPAMP_TypeDef *OPAMPx)
AnnaBridge 172:65be27845400 766 {
AnnaBridge 172:65be27845400 767 CLEAR_BIT(OPAMPx->CSR, OPAMP_CSR_OPAMPxEN);
AnnaBridge 172:65be27845400 768 }
AnnaBridge 172:65be27845400 769
AnnaBridge 172:65be27845400 770 /**
AnnaBridge 172:65be27845400 771 * @brief Get OPAMP instance enable state
AnnaBridge 172:65be27845400 772 * (0: OPAMP is disabled, 1: OPAMP is enabled)
AnnaBridge 172:65be27845400 773 * @rmtoll CSR OPAMPXEN LL_OPAMP_IsEnabled
AnnaBridge 172:65be27845400 774 * @param OPAMPx OPAMP instance
AnnaBridge 172:65be27845400 775 * @retval State of bit (1 or 0).
AnnaBridge 172:65be27845400 776 */
AnnaBridge 172:65be27845400 777 __STATIC_INLINE uint32_t LL_OPAMP_IsEnabled(OPAMP_TypeDef *OPAMPx)
AnnaBridge 172:65be27845400 778 {
AnnaBridge 172:65be27845400 779 return ((READ_BIT(OPAMPx->CSR, OPAMP_CSR_OPAMPxEN) == (OPAMP_CSR_OPAMPxEN))?1UL:0UL);
AnnaBridge 172:65be27845400 780 }
AnnaBridge 172:65be27845400 781 /**
AnnaBridge 172:65be27845400 782 * @}
AnnaBridge 172:65be27845400 783 */
AnnaBridge 172:65be27845400 784
AnnaBridge 172:65be27845400 785 #if defined(USE_FULL_LL_DRIVER)
AnnaBridge 172:65be27845400 786 /** @defgroup OPAMP_LL_EF_Init Initialization and de-initialization functions
AnnaBridge 172:65be27845400 787 * @{
AnnaBridge 172:65be27845400 788 */
AnnaBridge 172:65be27845400 789
AnnaBridge 172:65be27845400 790 ErrorStatus LL_OPAMP_DeInit(OPAMP_TypeDef *OPAMPx);
AnnaBridge 172:65be27845400 791 ErrorStatus LL_OPAMP_Init(OPAMP_TypeDef *OPAMPx, LL_OPAMP_InitTypeDef *OPAMP_InitStruct);
AnnaBridge 172:65be27845400 792 void LL_OPAMP_StructInit(LL_OPAMP_InitTypeDef *OPAMP_InitStruct);
AnnaBridge 172:65be27845400 793
AnnaBridge 172:65be27845400 794 /**
AnnaBridge 172:65be27845400 795 * @}
AnnaBridge 172:65be27845400 796 */
AnnaBridge 172:65be27845400 797 #endif /* USE_FULL_LL_DRIVER */
AnnaBridge 172:65be27845400 798
AnnaBridge 172:65be27845400 799 /**
AnnaBridge 172:65be27845400 800 * @}
AnnaBridge 172:65be27845400 801 */
AnnaBridge 172:65be27845400 802
AnnaBridge 172:65be27845400 803 /**
AnnaBridge 172:65be27845400 804 * @}
AnnaBridge 172:65be27845400 805 */
AnnaBridge 172:65be27845400 806
AnnaBridge 172:65be27845400 807 #endif /* OPAMP1 || OPAMP2 */
AnnaBridge 172:65be27845400 808
AnnaBridge 172:65be27845400 809 /**
AnnaBridge 172:65be27845400 810 * @}
AnnaBridge 172:65be27845400 811 */
AnnaBridge 172:65be27845400 812
AnnaBridge 172:65be27845400 813 #ifdef __cplusplus
AnnaBridge 172:65be27845400 814 }
AnnaBridge 172:65be27845400 815 #endif
AnnaBridge 172:65be27845400 816
AnnaBridge 172:65be27845400 817 #endif /* __STM32H7xx_LL_OPAMP_H */
AnnaBridge 172:65be27845400 818
AnnaBridge 172:65be27845400 819 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/