21 #ifndef STM32L4xx_HAL_OPAMP_H 22 #define STM32L4xx_HAL_OPAMP_H 51 uint32_t PowerSupplyRange;
62 uint32_t InvertingInput;
69 uint32_t NonInvertingInput;
76 uint32_t UserTrimming;
80 uint32_t TrimmingValueP;
85 uint32_t TrimmingValueN;
90 uint32_t TrimmingValuePLowPower;
95 uint32_t TrimmingValueNLowPower;
123 #if (USE_HAL_OPAMP_REGISTER_CALLBACKS == 1) 124 typedef struct __OPAMP_HandleTypeDef
131 HAL_StatusTypeDef Status;
135 #if (USE_HAL_OPAMP_REGISTER_CALLBACKS == 1) 136 void (* MspInitCallback) (
struct __OPAMP_HandleTypeDef *hopamp);
137 void (* MspDeInitCallback) (
struct __OPAMP_HandleTypeDef *hopamp);
152 #if (USE_HAL_OPAMP_REGISTER_CALLBACKS == 1) 179 #define OPAMP_STANDALONE_MODE 0x00000000U 180 #define OPAMP_PGA_MODE OPAMP_CSR_OPAMODE_1 181 #define OPAMP_FOLLOWER_MODE OPAMP_CSR_OPAMODE 191 #define OPAMP_NONINVERTINGINPUT_IO0 0x00000000U 192 #define OPAMP_NONINVERTINGINPUT_DAC_CH OPAMP_CSR_VPSEL 202 #define OPAMP_INVERTINGINPUT_IO0 0x00000000U 203 #define OPAMP_INVERTINGINPUT_IO1 OPAMP_CSR_VMSEL_0 204 #define OPAMP_INVERTINGINPUT_CONNECT_NO OPAMP_CSR_VMSEL_1 214 #define OPAMP_PGA_GAIN_2 0x00000000U 215 #define OPAMP_PGA_GAIN_4 OPAMP_CSR_PGGAIN_0 216 #define OPAMP_PGA_GAIN_8 OPAMP_CSR_PGGAIN_1 217 #define OPAMP_PGA_GAIN_16 (OPAMP_CSR_PGGAIN_0 | OPAMP_CSR_PGGAIN_1) 226 #define OPAMP_POWERMODE_NORMAL 0x00000000U 227 #define OPAMP_POWERMODE_LOWPOWER OPAMP_CSR_OPALPM 236 #define OPAMP_POWERSUPPLY_LOW 0x00000000U 237 #define OPAMP_POWERSUPPLY_HIGH OPAMP1_CSR_OPARANGE 246 #define OPAMP_TRIMMING_FACTORY 0x00000000U 247 #define OPAMP_TRIMMING_USER OPAMP_CSR_USERTRIM 256 #define OPAMP_FACTORYTRIMMING_DUMMY 0xFFFFFFFFU 257 #define OPAMP_FACTORYTRIMMING_N 0U 258 #define OPAMP_FACTORYTRIMMING_P 1U 275 #define OPAMP_INPUT_NONINVERTING ((uint32_t) 8) 281 #define OPAMP_TRIMMING_DELAY ((uint32_t) 1) 296 #if (USE_HAL_OPAMP_REGISTER_CALLBACKS == 1) 297 #define __HAL_OPAMP_RESET_HANDLE_STATE(__HANDLE__) do { \ 298 (__HANDLE__)->State = HAL_OPAMP_STATE_RESET; \ 299 (__HANDLE__)->MspInitCallback = NULL; \ 300 (__HANDLE__)->MspDeInitCallback = NULL; \ 303 #define __HAL_OPAMP_RESET_HANDLE_STATE(__HANDLE__) ((__HANDLE__)->State = HAL_OPAMP_STATE_RESET) 318 #define IS_OPAMP_FUNCTIONAL_NORMALMODE(INPUT) (((INPUT) == OPAMP_STANDALONE_MODE) || \ 319 ((INPUT) == OPAMP_PGA_MODE) || \ 320 ((INPUT) == OPAMP_FOLLOWER_MODE)) 322 #if defined (STM32L471xx) || defined (STM32L475xx) || defined (STM32L476xx) || defined (STM32L485xx) || defined (STM32L486xx) || \ 323 defined (STM32L496xx) || defined (STM32L4A6xx) || \ 324 defined (STM32L4R5xx) || defined (STM32L4R7xx) || defined (STM32L4R9xx) || defined (STM32L4S5xx) || defined (STM32L4S7xx) || defined(STM32L4S9xx) 325 #define IS_OPAMP_INVERTING_INPUT_STANDALONE(INPUT) (((INPUT) == OPAMP_INVERTINGINPUT_IO0) || \ 326 ((INPUT) == OPAMP_INVERTINGINPUT_IO1)) 331 #if defined (STM32L412xx) || defined (STM32L422xx) || \ 332 defined (STM32L431xx) || defined (STM32L432xx) || defined (STM32L433xx) || defined (STM32L442xx) || defined (STM32L443xx) || \ 333 defined (STM32L451xx) || defined (STM32L452xx) || defined (STM32L462xx) 334 #define IS_OPAMP_INVERTING_INPUT_STANDALONE(INPUT) ((INPUT) == OPAMP_INVERTINGINPUT_IO0) 339 #if defined (STM32L412xx) || defined (STM32L422xx) 340 #define IS_OPAMP_NONINVERTING_INPUT(INPUT) ((INPUT) == OPAMP_NONINVERTINGINPUT_IO0) 343 #if defined (STM32L431xx) || defined (STM32L432xx) || defined (STM32L433xx) || defined (STM32L442xx) || defined (STM32L443xx) || \ 344 defined (STM32L451xx) || defined (STM32L452xx) || defined (STM32L462xx) || \ 345 defined (STM32L471xx) || defined (STM32L475xx) || defined (STM32L476xx) || defined (STM32L485xx) || defined (STM32L486xx) || \ 346 defined (STM32L496xx) || defined (STM32L4A6xx) || \ 347 defined (STM32L4R5xx) || defined (STM32L4R7xx) || defined (STM32L4R9xx) || defined (STM32L4S5xx) || defined (STM32L4S7xx) || defined(STM32L4S9xx) 348 #define IS_OPAMP_NONINVERTING_INPUT(INPUT) (((INPUT) == OPAMP_NONINVERTINGINPUT_IO0) || \ 349 ((INPUT) == OPAMP_NONINVERTINGINPUT_DAC_CH)) 356 #if defined (STM32L471xx) || defined (STM32L475xx) || defined (STM32L476xx) || defined (STM32L485xx) || defined (STM32L486xx) || \ 357 defined (STM32L496xx) || defined (STM32L4A6xx) || \ 358 defined (STM32L4R5xx) || defined (STM32L4R7xx) || defined (STM32L4R9xx) || defined (STM32L4S5xx) || defined (STM32L4S7xx) || defined(STM32L4S9xx) 359 #define IS_OPAMP_INVERTING_INPUT_PGA(INPUT) (((INPUT) == OPAMP_INVERTINGINPUT_IO0) || \ 360 ((INPUT) == OPAMP_INVERTINGINPUT_IO1) || \ 361 ((INPUT) == OPAMP_INVERTINGINPUT_CONNECT_NO)) 366 #if defined (STM32L412xx) || defined (STM32L422xx) || \ 367 defined (STM32L431xx) || defined (STM32L432xx) || defined (STM32L433xx) || defined (STM32L442xx) || defined (STM32L443xx) || \ 368 defined (STM32L451xx) || defined (STM32L452xx) || defined (STM32L462xx) 369 #define IS_OPAMP_INVERTING_INPUT_PGA(INPUT) (((INPUT) == OPAMP_INVERTINGINPUT_IO0) || \ 370 ((INPUT) == OPAMP_INVERTINGINPUT_CONNECT_NO)) 375 #define IS_OPAMP_PGA_GAIN(GAIN) (((GAIN) == OPAMP_PGA_GAIN_2) || \ 376 ((GAIN) == OPAMP_PGA_GAIN_4) || \ 377 ((GAIN) == OPAMP_PGA_GAIN_8) || \ 378 ((GAIN) == OPAMP_PGA_GAIN_16)) 380 #define IS_OPAMP_POWERMODE(TRIMMING) (((TRIMMING) == OPAMP_POWERMODE_NORMAL) || \ 381 ((TRIMMING) == OPAMP_POWERMODE_LOWPOWER) ) 383 #define IS_OPAMP_POWER_SUPPLY_RANGE(RANGE) (((RANGE) == OPAMP_POWERSUPPLY_LOW) || \ 384 ((RANGE) == OPAMP_POWERSUPPLY_HIGH) ) 386 #define IS_OPAMP_TRIMMING(TRIMMING) (((TRIMMING) == OPAMP_TRIMMING_FACTORY) || \ 387 ((TRIMMING) == OPAMP_TRIMMING_USER)) 390 #define IS_OPAMP_TRIMMINGVALUE(TRIMMINGVALUE) ((TRIMMINGVALUE) <= 31U) 392 #define IS_OPAMP_FACTORYTRIMMING(TRIMMING) (((TRIMMING) == OPAMP_FACTORYTRIMMING_N) || \ 393 ((TRIMMING) == OPAMP_FACTORYTRIMMING_P)) 437 #if (USE_HAL_OPAMP_REGISTER_CALLBACKS == 1)
void(* pOPAMP_CallbackTypeDef)(OPAMP_HandleTypeDef *hopamp)
HAL OPAMP Callback pointer definition.
HAL_StatusTypeDef HAL_OPAMP_UnRegisterCallback(OPAMP_HandleTypeDef *hopamp, HAL_OPAMP_CallbackIDTypeDef CallbackID)
Unregister a User OPAMP Callback OPAMP Callback is redirected to the weak (surcharged) predefined cal...
HAL_StatusTypeDef HAL_OPAMP_Stop(OPAMP_HandleTypeDef *hopamp)
Stop the OPAMP.
This file contains HAL common defines, enumeration, macros and structures definitions.
struct __OPAMP_HandleTypeDef else typedef struct endif OPAMP_HandleTypeDef
OPAMP Handle Structure definition.
HAL_LockTypeDef
HAL Lock structures definition.
void HAL_OPAMP_MspDeInit(OPAMP_HandleTypeDef *hopamp)
DeInitialize OPAMP MSP.
__IO HAL_OPAMP_StateTypeDef State
void HAL_OPAMP_MspInit(OPAMP_HandleTypeDef *hopamp)
Initialize the OPAMP MSP.
HAL_StatusTypeDef HAL_OPAMP_DeInit(OPAMP_HandleTypeDef *hopamp)
DeInitialize the OPAMP peripheral.
HAL_OPAMP_TrimmingValueTypeDef HAL_OPAMP_GetTrimOffset(OPAMP_HandleTypeDef *hopamp, uint32_t trimmingoffset)
Return the OPAMP factory trimming value.
ADC handle Structure definition.
HAL_StatusTypeDef HAL_OPAMP_Init(OPAMP_HandleTypeDef *hopamp)
Initializes the OPAMP according to the specified parameters in the OPAMP_InitTypeDef and initialize t...
HAL_OPAMP_StateTypeDef HAL_OPAMP_GetState(OPAMP_HandleTypeDef *hopamp)
Return the OPAMP handle state.
HAL_OPAMP_CallbackIDTypeDef
HAL OPAMP Callback ID enumeration definition.
uint32_t HAL_OPAMP_TrimmingValueTypeDef
HAl_OPAMP_TrimmingValueTypeDef definition.
Header file of OPAMP HAL Extended module.
HAL_StatusTypeDef HAL_OPAMP_Start(OPAMP_HandleTypeDef *hopamp)
Start the OPAMP.
HAL_StatusTypeDef HAL_OPAMP_Lock(OPAMP_HandleTypeDef *hopamp)
Lock the selected OPAMP configuration.
HAL_StatusTypeDef HAL_OPAMP_SelfCalibrate(OPAMP_HandleTypeDef *hopamp)
Run the self calibration of one OPAMP.
HAL_OPAMP_StateTypeDef
HAL State structures definition.
HAL_StatusTypeDef HAL_OPAMP_RegisterCallback(OPAMP_HandleTypeDef *hopamp, HAL_OPAMP_CallbackIDTypeDef CallbackID, pOPAMP_CallbackTypeDef pCallback)
Register a User OPAMP Callback To be used instead of the weak (surcharged) predefined callback...