stm32l4xx_hal_opamp.h 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482
  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. * Copyright (c) 2017 STMicroelectronics.
  10. * All rights reserved.
  11. *
  12. * This software is licensed under terms that can be found in the LICENSE file
  13. * in the root directory of this software component.
  14. * If no LICENSE file comes with this software, it is provided AS-IS.
  15. *
  16. ******************************************************************************
  17. */
  18. /* Define to prevent recursive inclusion -------------------------------------*/
  19. #ifndef STM32L4xx_HAL_OPAMP_H
  20. #define STM32L4xx_HAL_OPAMP_H
  21. #ifdef __cplusplus
  22. extern "C" {
  23. #endif
  24. /* Includes ------------------------------------------------------------------*/
  25. #include "stm32l4xx_hal_def.h"
  26. /** @addtogroup STM32L4xx_HAL_Driver
  27. * @{
  28. */
  29. /** @addtogroup OPAMP
  30. * @{
  31. */
  32. /* Exported types ------------------------------------------------------------*/
  33. /** @defgroup OPAMP_Exported_Types OPAMP Exported Types
  34. * @{
  35. */
  36. /**
  37. * @brief OPAMP Init structure definition
  38. */
  39. typedef struct
  40. {
  41. uint32_t PowerSupplyRange; /*!< Specifies the power supply range: above or under 2.4V.
  42. This parameter must be a value of @ref OPAMP_PowerSupplyRange
  43. Caution: This parameter is common to all OPAMP instances: a modification of this parameter for the selected OPAMP impacts the other OPAMP instances. */
  44. uint32_t PowerMode; /*!< Specifies the power mode Normal or Low-Power.
  45. This parameter must be a value of @ref OPAMP_PowerMode */
  46. uint32_t Mode; /*!< Specifies the OPAMP mode
  47. This parameter must be a value of @ref OPAMP_Mode
  48. mode is either Standalone, - Follower or PGA */
  49. uint32_t InvertingInput; /*!< Specifies the inverting input in Standalone & PGA modes
  50. - In Standalone mode: i.e. when mode is OPAMP_STANDALONE_MODE
  51. & PGA mode: i.e. when mode is OPAMP_PGA_MODE
  52. This parameter must be a value of @ref OPAMP_InvertingInput
  53. - In Follower mode i.e. when mode is OPAMP_FOLLOWER_MODE
  54. This parameter is Not Applicable */
  55. uint32_t NonInvertingInput; /*!< Specifies the non inverting input of the opamp:
  56. This parameter must be a value of @ref OPAMP_NonInvertingInput */
  57. uint32_t PgaGain; /*!< Specifies the gain in PGA mode
  58. i.e. when mode is OPAMP_PGA_MODE.
  59. This parameter must be a value of @ref OPAMP_PgaGain (2, 4, 8 or 16 ) */
  60. uint32_t UserTrimming; /*!< Specifies the trimming mode
  61. This parameter must be a value of @ref OPAMP_UserTrimming
  62. UserTrimming is either factory or user trimming.*/
  63. uint32_t TrimmingValueP; /*!< Specifies the offset trimming value (PMOS)
  64. i.e. when UserTrimming is OPAMP_TRIMMING_USER.
  65. This parameter must be a number between Min_Data = 0 and Max_Data = 31
  66. 16 is typical default value */
  67. uint32_t TrimmingValueN; /*!< Specifies the offset trimming value (NMOS)
  68. i.e. when UserTrimming is OPAMP_TRIMMING_USER.
  69. This parameter must be a number between Min_Data = 0 and Max_Data = 31
  70. 16 is typical default value */
  71. uint32_t TrimmingValuePLowPower; /*!< Specifies the offset trimming value (PMOS)
  72. i.e. when UserTrimming is OPAMP_TRIMMING_USER.
  73. This parameter must be a number between Min_Data = 0 and Max_Data = 31
  74. 16 is typical default value */
  75. uint32_t TrimmingValueNLowPower; /*!< Specifies the offset trimming value (NMOS)
  76. i.e. when UserTrimming is OPAMP_TRIMMING_USER.
  77. This parameter must be a number between Min_Data = 0 and Max_Data = 31
  78. 16 is typical default value */
  79. }OPAMP_InitTypeDef;
  80. /**
  81. * @brief HAL State structures definition
  82. */
  83. typedef enum
  84. {
  85. HAL_OPAMP_STATE_RESET = 0x00000000, /*!< OPAMP is not yet Initialized */
  86. HAL_OPAMP_STATE_READY = 0x00000001, /*!< OPAMP is initialized and ready for use */
  87. HAL_OPAMP_STATE_CALIBBUSY = 0x00000002, /*!< OPAMP is enabled in auto calibration mode */
  88. HAL_OPAMP_STATE_BUSY = 0x00000004, /*!< OPAMP is enabled and running in normal mode */
  89. HAL_OPAMP_STATE_BUSYLOCKED = 0x00000005 /*!< OPAMP is locked
  90. only system reset allows reconfiguring the opamp. */
  91. }HAL_OPAMP_StateTypeDef;
  92. /**
  93. * @brief OPAMP Handle Structure definition
  94. */
  95. #if (USE_HAL_OPAMP_REGISTER_CALLBACKS == 1)
  96. typedef struct __OPAMP_HandleTypeDef
  97. #else
  98. typedef struct
  99. #endif /* USE_HAL_OPAMP_REGISTER_CALLBACKS */
  100. {
  101. OPAMP_TypeDef *Instance; /*!< OPAMP instance's registers base address */
  102. OPAMP_InitTypeDef Init; /*!< OPAMP required parameters */
  103. HAL_StatusTypeDef Status; /*!< OPAMP peripheral status */
  104. HAL_LockTypeDef Lock; /*!< Locking object */
  105. __IO HAL_OPAMP_StateTypeDef State; /*!< OPAMP communication state */
  106. #if (USE_HAL_OPAMP_REGISTER_CALLBACKS == 1)
  107. void (* MspInitCallback) (struct __OPAMP_HandleTypeDef *hopamp);
  108. void (* MspDeInitCallback) (struct __OPAMP_HandleTypeDef *hopamp);
  109. #endif /* USE_HAL_OPAMP_REGISTER_CALLBACKS */
  110. }OPAMP_HandleTypeDef;
  111. /**
  112. * @brief HAl_OPAMP_TrimmingValueTypeDef definition
  113. */
  114. typedef uint32_t HAL_OPAMP_TrimmingValueTypeDef;
  115. /**
  116. * @}
  117. */
  118. #if (USE_HAL_OPAMP_REGISTER_CALLBACKS == 1)
  119. /**
  120. * @brief HAL OPAMP Callback ID enumeration definition
  121. */
  122. typedef enum
  123. {
  124. HAL_OPAMP_MSPINIT_CB_ID = 0x01U, /*!< OPAMP MspInit Callback ID */
  125. HAL_OPAMP_MSPDEINIT_CB_ID = 0x02U, /*!< OPAMP MspDeInit Callback ID */
  126. HAL_OPAMP_ALL_CB_ID = 0x03U /*!< OPAMP All ID */
  127. }HAL_OPAMP_CallbackIDTypeDef;
  128. /**
  129. * @brief HAL OPAMP Callback pointer definition
  130. */
  131. typedef void (*pOPAMP_CallbackTypeDef)(OPAMP_HandleTypeDef *hopamp);
  132. #endif /* USE_HAL_OPAMP_REGISTER_CALLBACKS */
  133. /* Exported constants --------------------------------------------------------*/
  134. /** @defgroup OPAMP_Exported_Constants OPAMP Exported Constants
  135. * @{
  136. */
  137. /** @defgroup OPAMP_Mode OPAMP Mode
  138. * @{
  139. */
  140. #define OPAMP_STANDALONE_MODE 0x00000000U /*!< standalone mode */
  141. #define OPAMP_PGA_MODE OPAMP_CSR_OPAMODE_1 /*!< PGA mode */
  142. #define OPAMP_FOLLOWER_MODE OPAMP_CSR_OPAMODE /*!< follower mode */
  143. /**
  144. * @}
  145. */
  146. /** @defgroup OPAMP_NonInvertingInput OPAMP Non Inverting Input
  147. * @{
  148. */
  149. #define OPAMP_NONINVERTINGINPUT_IO0 0x00000000U /*!< OPAMP non-inverting input connected to dedicated IO pin */
  150. #define OPAMP_NONINVERTINGINPUT_DAC_CH OPAMP_CSR_VPSEL /*!< OPAMP non-inverting input connected internally to DAC channel */
  151. /**
  152. * @}
  153. */
  154. /** @defgroup OPAMP_InvertingInput OPAMP Inverting Input
  155. * @{
  156. */
  157. #define OPAMP_INVERTINGINPUT_IO0 0x00000000U /*!< OPAMP inverting input connected to dedicated IO pin low-leakage */
  158. #define OPAMP_INVERTINGINPUT_IO1 OPAMP_CSR_VMSEL_0 /*!< OPAMP inverting input connected to alternative IO pin available on some device packages */
  159. #define OPAMP_INVERTINGINPUT_CONNECT_NO OPAMP_CSR_VMSEL_1 /*!< OPAMP inverting input not connected externally (PGA mode only) */
  160. /**
  161. * @}
  162. */
  163. /** @defgroup OPAMP_PgaGain OPAMP Pga Gain
  164. * @{
  165. */
  166. #define OPAMP_PGA_GAIN_2 0x00000000U /*!< PGA gain = 2 */
  167. #define OPAMP_PGA_GAIN_4 OPAMP_CSR_PGGAIN_0 /*!< PGA gain = 4 */
  168. #define OPAMP_PGA_GAIN_8 OPAMP_CSR_PGGAIN_1 /*!< PGA gain = 8 */
  169. #define OPAMP_PGA_GAIN_16 (OPAMP_CSR_PGGAIN_0 | OPAMP_CSR_PGGAIN_1) /*!< PGA gain = 16 */
  170. /**
  171. * @}
  172. */
  173. /** @defgroup OPAMP_PowerMode OPAMP PowerMode
  174. * @{
  175. */
  176. #define OPAMP_POWERMODE_NORMALPOWER 0x00000000U /*!< OPAMP power mode normal */
  177. #define OPAMP_POWERMODE_LOWPOWER OPAMP_CSR_OPALPM /*!< OPAMP power mode low-power */
  178. /**
  179. * @}
  180. */
  181. /** @defgroup OPAMP_PowerSupplyRange OPAMP PowerSupplyRange
  182. * @{
  183. */
  184. #define OPAMP_POWERSUPPLY_LOW 0x00000000U /*!< Power supply range low (VDDA lower than 2.4V) */
  185. #define OPAMP_POWERSUPPLY_HIGH OPAMP1_CSR_OPARANGE /*!< Power supply range high (VDDA higher than 2.4V) */
  186. /**
  187. * @}
  188. */
  189. /** @defgroup OPAMP_UserTrimming OPAMP User Trimming
  190. * @{
  191. */
  192. #define OPAMP_TRIMMING_FACTORY 0x00000000U /*!< Factory trimming */
  193. #define OPAMP_TRIMMING_USER OPAMP_CSR_USERTRIM /*!< User trimming */
  194. /**
  195. * @}
  196. */
  197. /** @defgroup OPAMP_FactoryTrimming OPAMP Factory Trimming
  198. * @{
  199. */
  200. #define OPAMP_FACTORYTRIMMING_DUMMY 0xFFFFFFFFU /*!< Dummy value if trimming value could not be retrieved */
  201. #define OPAMP_FACTORYTRIMMING_N 0U /*!< Offset trimming N */
  202. #define OPAMP_FACTORYTRIMMING_P 1U /*!< Offset trimming P */
  203. /**
  204. * @}
  205. */
  206. /**
  207. * @}
  208. */
  209. /* Private constants ---------------------------------------------------------*/
  210. /** @defgroup OPAMP_Private_Constants OPAMP Private Constants
  211. * @brief OPAMP Private constants and defines
  212. * @{
  213. */
  214. /* NONINVERTING bit position in OTR & LPOTR */
  215. #define OPAMP_INPUT_NONINVERTING ((uint32_t) 8) /*!< Non inverting input */
  216. /* Offset trimming time: during calibration, minimum time needed between two */
  217. /* steps to have 1 mV accuracy. */
  218. /* Refer to datasheet, electrical characteristics: parameter tOFFTRIM Typ=1ms.*/
  219. /* Unit: ms. */
  220. #define OPAMP_TRIMMING_DELAY ((uint32_t) 1)
  221. /**
  222. * @}
  223. */
  224. /* Exported macros -----------------------------------------------------------*/
  225. /** @defgroup OPAMP_Exported_Macros OPAMP Exported Macros
  226. * @{
  227. */
  228. /** @brief Reset OPAMP handle state.
  229. * @param __HANDLE__ OPAMP handle.
  230. * @retval None
  231. */
  232. #if (USE_HAL_OPAMP_REGISTER_CALLBACKS == 1)
  233. #define __HAL_OPAMP_RESET_HANDLE_STATE(__HANDLE__) do { \
  234. (__HANDLE__)->State = HAL_OPAMP_STATE_RESET; \
  235. (__HANDLE__)->MspInitCallback = NULL; \
  236. (__HANDLE__)->MspDeInitCallback = NULL; \
  237. } while(0)
  238. #else
  239. #define __HAL_OPAMP_RESET_HANDLE_STATE(__HANDLE__) ((__HANDLE__)->State = HAL_OPAMP_STATE_RESET)
  240. #endif /* USE_HAL_OPAMP_REGISTER_CALLBACKS */
  241. /**
  242. * @}
  243. */
  244. /* Private macro -------------------------------------------------------------*/
  245. /** @defgroup OPAMP_Private_Macros OPAMP Private Macros
  246. * @{
  247. */
  248. #define IS_OPAMP_FUNCTIONAL_NORMALMODE(INPUT) (((INPUT) == OPAMP_STANDALONE_MODE) || \
  249. ((INPUT) == OPAMP_PGA_MODE) || \
  250. ((INPUT) == OPAMP_FOLLOWER_MODE))
  251. #if defined (STM32L471xx) || defined (STM32L475xx) || defined (STM32L476xx) || defined (STM32L485xx) || defined (STM32L486xx) || \
  252. defined (STM32L496xx) || defined (STM32L4A6xx) || \
  253. defined (STM32L4P5xx) || defined (STM32L4Q5xx) || \
  254. defined (STM32L4R5xx) || defined (STM32L4R7xx) || defined (STM32L4R9xx) || defined (STM32L4S5xx) || defined (STM32L4S7xx) || defined(STM32L4S9xx)
  255. #define IS_OPAMP_INVERTING_INPUT_STANDALONE(INPUT) (((INPUT) == OPAMP_INVERTINGINPUT_IO0) || \
  256. ((INPUT) == OPAMP_INVERTINGINPUT_IO1))
  257. #endif /* STM32L471xx STM32L475xx STM32L476xx STM32L485xx STM32L486xx */
  258. /* STM32L496xx STM32L4A6xx */
  259. /* STM32L4P5xx STM32L4Q5xx */
  260. /* STM32L4R5xx STM32L4R7xx STM32L4R9xx STM32L4S5xx STM32L4S7xx STM32L4S9xx */
  261. #if defined (STM32L412xx) || defined (STM32L422xx) || \
  262. defined (STM32L431xx) || defined (STM32L432xx) || defined (STM32L433xx) || defined (STM32L442xx) || defined (STM32L443xx) || \
  263. defined (STM32L451xx) || defined (STM32L452xx) || defined (STM32L462xx)
  264. #define IS_OPAMP_INVERTING_INPUT_STANDALONE(INPUT) ((INPUT) == OPAMP_INVERTINGINPUT_IO0)
  265. #endif /* STM32L412xx STM32L422xx */
  266. /* STM32L431xx STM32L432xx STM32L433xx STM32L442xx STM32L443xx */
  267. /* STM32L451xx STM32L452xx STM32L462xx */
  268. #if defined (STM32L412xx) || defined (STM32L422xx)
  269. #define IS_OPAMP_NONINVERTING_INPUT(INPUT) ((INPUT) == OPAMP_NONINVERTINGINPUT_IO0)
  270. #endif /* STM32L412xx STM32L422xx */
  271. #if defined (STM32L431xx) || defined (STM32L432xx) || defined (STM32L433xx) || defined (STM32L442xx) || defined (STM32L443xx) || \
  272. defined (STM32L451xx) || defined (STM32L452xx) || defined (STM32L462xx) || \
  273. defined (STM32L471xx) || defined (STM32L475xx) || defined (STM32L476xx) || defined (STM32L485xx) || defined (STM32L486xx) || \
  274. defined (STM32L496xx) || defined (STM32L4A6xx) || \
  275. defined (STM32L4P5xx) || defined (STM32L4Q5xx) || \
  276. defined (STM32L4R5xx) || defined (STM32L4R7xx) || defined (STM32L4R9xx) || defined (STM32L4S5xx) || defined (STM32L4S7xx) || defined(STM32L4S9xx)
  277. #define IS_OPAMP_NONINVERTING_INPUT(INPUT) (((INPUT) == OPAMP_NONINVERTINGINPUT_IO0) || \
  278. ((INPUT) == OPAMP_NONINVERTINGINPUT_DAC_CH))
  279. #endif /* STM32L431xx STM32L432xx STM32L433xx STM32L442xx STM32L443xx */
  280. /* STM32L451xx STM32L452xx STM32L462xx */
  281. /* STM32L471xx STM32L475xx STM32L476xx STM32L485xx STM32L486xx */
  282. /* STM32L496xx STM32L4A6xx */
  283. /* STM32L4P5xx STM32L4Q5xx */
  284. /* STM32L4R5xx STM32L4R7xx STM32L4R9xx STM32L4S5xx STM32L4S7xx STM32L4S9xx */
  285. #if defined (STM32L471xx) || defined (STM32L475xx) || defined (STM32L476xx) || defined (STM32L485xx) || defined (STM32L486xx) || \
  286. defined (STM32L496xx) || defined (STM32L4A6xx) || \
  287. defined (STM32L4P5xx) || defined (STM32L4Q5xx) || \
  288. defined (STM32L4R5xx) || defined (STM32L4R7xx) || defined (STM32L4R9xx) || defined (STM32L4S5xx) || defined (STM32L4S7xx) || defined(STM32L4S9xx)
  289. #define IS_OPAMP_INVERTING_INPUT_PGA(INPUT) (((INPUT) == OPAMP_INVERTINGINPUT_IO0) || \
  290. ((INPUT) == OPAMP_INVERTINGINPUT_IO1) || \
  291. ((INPUT) == OPAMP_INVERTINGINPUT_CONNECT_NO))
  292. #endif /* STM32L471xx STM32L475xx STM32L476xx STM32L485xx STM32L486xx */
  293. /* STM32L496xx STM32L4A6xx */
  294. /* STM32L4P5xx STM32L4Q5xx */
  295. /* STM32L4R5xx STM32L4R7xx STM32L4R9xx STM32L4S5xx STM32L4S7xx STM32L4S9xx */
  296. #if defined (STM32L412xx) || defined (STM32L422xx) || \
  297. defined (STM32L431xx) || defined (STM32L432xx) || defined (STM32L433xx) || defined (STM32L442xx) || defined (STM32L443xx) || \
  298. defined (STM32L451xx) || defined (STM32L452xx) || defined (STM32L462xx)
  299. #define IS_OPAMP_INVERTING_INPUT_PGA(INPUT) (((INPUT) == OPAMP_INVERTINGINPUT_IO0) || \
  300. ((INPUT) == OPAMP_INVERTINGINPUT_CONNECT_NO))
  301. #endif /* STM32L412xx STM32L422xx */
  302. /* STM32L431xx STM32L432xx STM32L433xx STM32L442xx STM32L443xx */
  303. /* STM32L451xx STM32L452xx STM32L462xx */
  304. #define IS_OPAMP_PGA_GAIN(GAIN) (((GAIN) == OPAMP_PGA_GAIN_2) || \
  305. ((GAIN) == OPAMP_PGA_GAIN_4) || \
  306. ((GAIN) == OPAMP_PGA_GAIN_8) || \
  307. ((GAIN) == OPAMP_PGA_GAIN_16))
  308. #define IS_OPAMP_POWERMODE(TRIMMING) (((TRIMMING) == OPAMP_POWERMODE_NORMALPOWER) || \
  309. ((TRIMMING) == OPAMP_POWERMODE_LOWPOWER) )
  310. #define IS_OPAMP_POWER_SUPPLY_RANGE(RANGE) (((RANGE) == OPAMP_POWERSUPPLY_LOW) || \
  311. ((RANGE) == OPAMP_POWERSUPPLY_HIGH) )
  312. #define IS_OPAMP_TRIMMING(TRIMMING) (((TRIMMING) == OPAMP_TRIMMING_FACTORY) || \
  313. ((TRIMMING) == OPAMP_TRIMMING_USER))
  314. #define IS_OPAMP_TRIMMINGVALUE(TRIMMINGVALUE) ((TRIMMINGVALUE) <= 31U)
  315. #define IS_OPAMP_FACTORYTRIMMING(TRIMMING) (((TRIMMING) == OPAMP_FACTORYTRIMMING_N) || \
  316. ((TRIMMING) == OPAMP_FACTORYTRIMMING_P))
  317. /**
  318. * @}
  319. */
  320. /* Include OPAMP HAL Extended module */
  321. #include "stm32l4xx_hal_opamp_ex.h"
  322. /* Exported functions --------------------------------------------------------*/
  323. /** @addtogroup OPAMP_Exported_Functions
  324. * @{
  325. */
  326. /** @addtogroup OPAMP_Exported_Functions_Group1
  327. * @{
  328. */
  329. /* Initialization/de-initialization functions **********************************/
  330. HAL_StatusTypeDef HAL_OPAMP_Init(OPAMP_HandleTypeDef *hopamp);
  331. HAL_StatusTypeDef HAL_OPAMP_DeInit (OPAMP_HandleTypeDef *hopamp);
  332. void HAL_OPAMP_MspInit(OPAMP_HandleTypeDef *hopamp);
  333. void HAL_OPAMP_MspDeInit(OPAMP_HandleTypeDef *hopamp);
  334. /**
  335. * @}
  336. */
  337. /** @addtogroup OPAMP_Exported_Functions_Group2
  338. * @{
  339. */
  340. /* I/O operation functions *****************************************************/
  341. HAL_StatusTypeDef HAL_OPAMP_Start(OPAMP_HandleTypeDef *hopamp);
  342. HAL_StatusTypeDef HAL_OPAMP_Stop(OPAMP_HandleTypeDef *hopamp);
  343. HAL_StatusTypeDef HAL_OPAMP_SelfCalibrate(OPAMP_HandleTypeDef *hopamp);
  344. /**
  345. * @}
  346. */
  347. /** @addtogroup OPAMP_Exported_Functions_Group3
  348. * @{
  349. */
  350. /* Peripheral Control functions ************************************************/
  351. #if (USE_HAL_OPAMP_REGISTER_CALLBACKS == 1)
  352. /* OPAMP callback registering/unregistering */
  353. HAL_StatusTypeDef HAL_OPAMP_RegisterCallback (OPAMP_HandleTypeDef *hopamp, HAL_OPAMP_CallbackIDTypeDef CallbackID, pOPAMP_CallbackTypeDef pCallback);
  354. HAL_StatusTypeDef HAL_OPAMP_UnRegisterCallback (OPAMP_HandleTypeDef *hopamp, HAL_OPAMP_CallbackIDTypeDef CallbackID);
  355. #endif /* USE_HAL_OPAMP_REGISTER_CALLBACKS */
  356. HAL_StatusTypeDef HAL_OPAMP_Lock(OPAMP_HandleTypeDef *hopamp);
  357. HAL_OPAMP_TrimmingValueTypeDef HAL_OPAMP_GetTrimOffset (OPAMP_HandleTypeDef *hopamp, uint32_t trimmingoffset);
  358. /**
  359. * @}
  360. */
  361. /** @addtogroup OPAMP_Exported_Functions_Group4
  362. * @{
  363. */
  364. /* Peripheral State functions **************************************************/
  365. HAL_OPAMP_StateTypeDef HAL_OPAMP_GetState(OPAMP_HandleTypeDef *hopamp);
  366. /**
  367. * @}
  368. */
  369. /**
  370. * @}
  371. */
  372. /**
  373. * @}
  374. */
  375. /**
  376. * @}
  377. */
  378. #ifdef __cplusplus
  379. }
  380. #endif
  381. #endif /* STM32L4xx_HAL_OPAMP_H */