/************************************************************************************
* @Copyright (c)	  :(C)2020, Qindao ieslab Co., Ltd
* @FileName   		  :hc32_gpio_driver.c
* @Author           :QDIES PLATFORM TEAM
* @Version          :V1.0
* @Date             :2020-07-01
* @Description      :
************************************************************************************/

#ifdef	__cplusplus
extern "C"
{
#endif

#include "UWater_lvd_driver.h"

void LVDInit(void)
{
		stc_lvd_cfg_t stcLvdCfg;

    DDL_ZERO_STRUCT(stcLvdCfg);                                 //变量清0
	  
    Gpio_SetAnalogMode(LVD_POW_PORT, LVD_POW_PIN);              ///< LVD INPUT SOURCE
	
    Sysctrl_SetPeripheralGate(SysctrlPeripheralVcLvd, TRUE);    //开LVD时钟
	  
    stcLvdCfg.enAct        = LvdActMskInt;              ///< 配置触发产生中断
    stcLvdCfg.enInputSrc   = LVD_SRC;                   ///< 配置LVD输入源
    stcLvdCfg.enThreshold  = LvdMskTH2_8V;              ///< 配置LVD基准电压
    stcLvdCfg.enFilter     = LvdFilterMskEnable;        ///< 滤波使能
    stcLvdCfg.enFilterTime = LvdFilterMsk28_8ms;        ///< 滤波时间设置
    stcLvdCfg.enIrqType    = LvdIrqMskRiseFall;         ///< 中断触发类型
    Lvd_Init(&stcLvdCfg);
    
    Lvd_EnableIrq();                                    ///< 中断开启
    Lvd_ClearIrq();
    EnableNvic(LVD_IRQn, IrqLevel3, TRUE);              ///< NVIC 中断使能
    
    Lvd_Enable();                                       ///< LVD 模块使能
	
}

///< LVD 中断服务函数
void Lvd_IRQHandler(void)
{
    Lvd_ClearIrq();
		
}

#ifdef	__cplusplus
}
#endif
