STM32G474xx HAL用户手册
stm32g4xx_hal_comp.h
前往此文件的文档。
00001 /**
00002   ******************************************************************************
00003   * @file    stm32g4xx_hal_comp.h
00004   * @author  MCD 应用团队
00005   * @brief   COMP HAL 模块的头文件
00006   ******************************************************************************
00007   * @attention
00008   *
00009   * 版权所有 (c) 2019 STMicroelectronics。
00010   * 保留所有权利。
00011   *
00012   * 本软件根据可在 LICENSE 文件中找到的条款进行许可,
00013   * 该文件位于本软件组件的根目录中。
00014   * 如果本软件未附带 LICENSE 文件,则按“原样”提供。
00015   *
00016   ******************************************************************************
00017   */
00018 
00019 /* 定义以防止递归包含 -------------------------------------*/
00020 #ifndef STM32G4xx_HAL_COMP_H
00021 #define STM32G4xx_HAL_COMP_H
00022 
00023 #ifdef __cplusplus
00024 extern "C" {
00025 #endif
00026 
00027 /* 包含 ------------------------------------------------------------------*/
00028 #include "stm32g4xx_hal_def.h"
00029 #include "stm32g4xx_ll_exti.h"
00030 
00031 /** @addtogroup STM32G4xx_HAL_Driver
00032   * @{
00033   */
00034 
00035 
00036 /** @addtogroup COMP
00037   * @{
00038   */
00039 
00040 /* 导出的类型 ------------------------------------------------------------*/
00041 /** @defgroup COMP_Exported_Types COMP 导出的类型
00042   * @{
00043   */
00044 
00045 /**
00046   * @brief  COMP 初始化结构体定义
00047   */
00048 typedef struct
00049 {
00050 
00051   uint32_t InputPlus;          /*!< 设置比较器输入正端(同相输入端)。
00052                                     此参数可以是 @ref COMP_InputPlus 中的一个值 */
00053 
00054   uint32_t InputMinus;         /*!< 设置比较器输入负端(反相输入端)。
00055                                     此参数可以是 @ref COMP_InputMinus 中的一个值 */
00056 
00057   uint32_t Hysteresis;         /*!< 设置输入负端的比较器迟滞模式。
00058                                     此参数可以是 @ref COMP_Hysteresis 中的一个值 */
00059 
00060   uint32_t OutputPol;          /*!< 设置比较器输出极性。
00061                                     此参数可以是 @ref COMP_OutputPolarity 中的一个值 */
00062 
00063   uint32_t BlankingSrce;       /*!< 设置比较器消隐源。
00064                                     此参数可以是 @ref COMP_BlankingSrce 中的一个值 */
00065 
00066   uint32_t TriggerMode;        /*!< 设置比较器输出触发外部中断线(EXTI)。
00067                                     此参数可以是 @ref COMP_EXTI_TriggerMode 中的一个值 */
00068 
00069 } COMP_InitTypeDef;
00070 
00071 /**
00072   * @brief  HAL COMP 状态机:HAL COMP 状态定义
00073   */
00074 #define COMP_STATE_BITFIELD_LOCK  (0x10U)
00075 typedef enum
00076 {
00077   HAL_COMP_STATE_RESET             = 0x00U,                                             /*!< COMP 尚未初始化                             */
00078   HAL_COMP_STATE_RESET_LOCKED      = (HAL_COMP_STATE_RESET | COMP_STATE_BITFIELD_LOCK), /*!< COMP 尚未初始化且配置已锁定 */
00079   HAL_COMP_STATE_READY             = 0x01U,                                             /*!< COMP 已初始化并可供使用                   */
00080   HAL_COMP_STATE_READY_LOCKED      = (HAL_COMP_STATE_READY | COMP_STATE_BITFIELD_LOCK), /*!< COMP 已初始化但配置已锁定         */
00081   HAL_COMP_STATE_BUSY              = 0x02U,                                             /*!< COMP 正在运行                                      */
00082   HAL_COMP_STATE_BUSY_LOCKED       = (HAL_COMP_STATE_BUSY | COMP_STATE_BITFIELD_LOCK)   /*!< COMP 正在运行且配置已锁定          */
00083 } HAL_COMP_StateTypeDef;
00084 
00085 /**
00086   * @brief  COMP 句柄结构定义
00087   */
00088 #if (USE_HAL_COMP_REGISTER_CALLBACKS == 1)
00089 typedef struct __COMP_HandleTypeDef
00090 #else
00091 typedef struct
00092 #endif /* USE_HAL_COMP_REGISTER_CALLBACKS */
00093 {
00094   COMP_TypeDef       *Instance;       /*!< 寄存器基地址    */
00095   COMP_InitTypeDef   Init;            /*!< COMP 所需参数 */
00096   HAL_LockTypeDef    Lock;            /*!< 锁定对象           */
00097   __IO HAL_COMP_StateTypeDef  State;  /*!< COMP 通信状态 */
00098   __IO uint32_t      ErrorCode;       /*!< COMP 错误代码 */
00099 #if (USE_HAL_COMP_REGISTER_CALLBACKS == 1)
00100   void (* TriggerCallback)(struct __COMP_HandleTypeDef *hcomp);   /*!< COMP 触发回调 */
00101   void (* MspInitCallback)(struct __COMP_HandleTypeDef *hcomp);   /*!< COMP Msp 初始化回调 */
00102   void (* MspDeInitCallback)(struct __COMP_HandleTypeDef *hcomp); /*!< COMP Msp 反初始化回调 */
00103 #endif /* USE_HAL_COMP_REGISTER_CALLBACKS */
00104 } COMP_HandleTypeDef;
00105 
00106 #if (USE_HAL_COMP_REGISTER_CALLBACKS == 1)
00107 /**
00108   * @brief  HAL COMP 回调 ID 枚举定义
00109   */
00110 typedef enum
00111 {
00112   HAL_COMP_TRIGGER_CB_ID                = 0x00U,  /*!< COMP 触发回调 ID */
00113   HAL_COMP_MSPINIT_CB_ID                = 0x01U,  /*!< COMP Msp 初始化回调 ID */
00114   HAL_COMP_MSPDEINIT_CB_ID              = 0x02U   /*!< COMP Msp 反初始化回调 ID */
00115 } HAL_COMP_CallbackIDTypeDef;
00116 
00117 /**