//************************************************************ // Copyright (c) 深圳市赛元微电子有限公司 // 文件名称 : sc92f_acmp.h // 作者 : // 模块功能 : ACMP固件库函数头文件 // 最后更正日期: 2020/8/20 // 版本 : V1.0001 // 说明 : //************************************************************* #ifndef _sc92f_ACMP_H_ #define _sc92f_ACMP_H_ #include "sc92f.h" #if defined(SC92F854x) || defined(SC92F754x) || defined(SC92F844xB) || defined(SC92F744xB) || defined(SC92F84Ax_2) || defined(SC92F74Ax_2)\ || defined(SC92FWxx) || defined(SC92F859x) || defined(SC92F759x) typedef enum { ACMP_VREF_EXTERNAL = (uint8_t)0X00, //选用CMPR为ACMP的比较电压 ACMP_VREF_1D16VDD = (uint8_t)0X01, //选用1/16VDD为ACMP的比较电压 ACMP_VREF_2D16VDD = (uint8_t)0X02, //选用2/16VDD为ACMP的比较电压 ACMP_VREF_3D16VDD = (uint8_t)0X03, //选用3/16VDD为ACMP的比较电压 ACMP_VREF_4D16VDD = (uint8_t)0X04, //选用4/16VDD为ACMP的比较电压 ACMP_VREF_5D16VDD = (uint8_t)0X05, //选用5/16VDD为ACMP的比较电压 ACMP_VREF_6D16VDD = (uint8_t)0X06, //选用6/16VDD为ACMP的比较电压 ACMP_VREF_7D16VDD = (uint8_t)0X07, //选用7/16VDD为ACMP的比较电压 ACMP_VREF_8D16VDD = (uint8_t)0X08, //选用8/16VDD为ACMP的比较电压 ACMP_VREF_9D16VDD = (uint8_t)0X09, //选用9/16VDD为ACMP的比较电压 ACMP_VREF_10D16VDD = (uint8_t)0X0A, //选用10/16VDD为ACMP的比较电压 ACMP_VREF_11D16VDD = (uint8_t)0X0B, //选用11/16VDD为ACMP的比较电压 ACMP_VREF_12D16VDD = (uint8_t)0X0C, //选用12/16VDD为ACMP的比较电压 ACMP_VREF_13D16VDD = (uint8_t)0X0D, //选用13/16VDD为ACMP的比较电压 ACMP_VREF_14D16VDD = (uint8_t)0X0E, //选用14/16VDD为ACMP的比较电压 ACMP_VREF_15D16VDD = (uint8_t)0X0F //选用15/16VDD为ACMP的比较电压 } ACMP_Vref_Typedef; typedef enum { ACMP_CHANNEL_0 = (uint8_t)0x00, //选择CMP0做ACMP输入口 ACMP_CHANNEL_1 = (uint8_t)0x01, //选择CMP1做ACMP输入口 ACMP_CHANNEL_2 = (uint8_t)0x02, //选择CMP2做ACMP输入口 ACMP_CHANNEL_3 = (uint8_t)0x03, //选择CMP3做ACMP输入口 #if defined(SC92F859x) || defined (SC92F759x) ACMP_CHANNEL_P = (uint8_t)0x10, //选择CMPP做ACMP输入口,CMPP为基准电压1.5V #endif } ACMP_Channel_TypeDef; typedef enum { ACMP_TRIGGER_NO = (uint8_t)0x00, //不产生中断 ACMP_TRIGGER_RISE_ONLY = (uint8_t)0x04, //模拟比较器触发方式为上升沿 ACMP_TRIGGER_FALL_ONLY = (uint8_t)0x08, //模拟比较器触发方式为下降沿 ACMP_TRIGGER_RISE_FALL = (uint8_t)0x0C //模拟比较器触发方式为上升沿与下降沿 } ACMP_TriggerMode_Typedef; typedef enum { ACMP_FLAG_CMPIF = (uint8_t)0x40, //ACMP中断标志位 ACMP_FLAG_CMPSTA = (uint8_t)0x20 //ACMP输出状态 } ACMP_Flag_TypeDef; void ACMP_DeInit(void); void ACMP_Init(ACMP_Vref_Typedef ACMP_Vref, ACMP_Channel_TypeDef ACMP_Channel); void ACMP_SetTriggerMode(ACMP_TriggerMode_Typedef ACMP_TriggerMode); void ACMP_Cmd(FunctionalState NewState); void ACMP_ITConfig(FunctionalState NewState, PriorityStatus Priority); FlagStatus ACMP_GetFlagStatus(ACMP_Flag_TypeDef ACMP_Flag); void ACMP_ClearFlag(void); #endif #endif /******************* (C) COPYRIGHT 2020 SinOne Microelectronics *****END OF FILE****/