ct_test/Keil_C/FWLib/SC92F_Lib/inc/sc92f_acmp.h

78 lines
3.1 KiB
C
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

//************************************************************
// 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****/