/*
  ******************************************************************************
  * @file    APP.c
  * @author  Ellsion
  * @version V1.0.0
  * @date    2021
  * @brief  
  ******************************************************************************        
*/
#include "APP.h"

GPIO_InitTypeDef GPIOA_Handle;
LVD_InitTypeDef  LVD_Init;
void GPIO_Turn()  /* 翻转PA1，起到延时作用 */
{
    GPIOA_Handle.Pin       = GPIO_PIN_1 ;
    GPIOA_Handle.Mode      = GPIO_MODE_OUTPUT_PP;
    GPIOA_Handle.Pull      = GPIO_PULLUP;
    GPIOA_Handle.Alternate = GPIO_FUNCTION_0;
    HAL_GPIO_Init(GPIOA, &GPIOA_Handle);  
    
    while(1)
    {
        HAL_GPIO_WritePin(GPIOA,GPIO_PIN_1 , GPIO_PIN_SET);
        System_Delay_MS(100);
        HAL_GPIO_WritePin(GPIOA,GPIO_PIN_1 , GPIO_PIN_CLEAR);
        System_Delay_MS(100);
    }

}

void LVD_Config()
{
    
    LVD_Init.LVDEN          =  FUNC_ENABLE;         /*使能LVD */
    LVD_Init.LVDRST_EN      =  FUNC_ENABLE;         /*使能LVD复位 */
    LVD_Init.LVD_FLTEN      =  FUNC_ENABLE;         /*使能LVD比较器滤波 */
    LVD_Init.LVD_TRIM       =  LVD_TRIM_290;        /*设置LVD TRIM */
    LVD_Init.LVD_FLTCLK_SEL =  FLTCLK_SEL_PCLK_32;  /*FLTCLK 选择， */
    LVD_Init.LVD_FLT_TIME   =  LVD_FLT_TIME_4;      /*FLTCLK 周期， */
    
    System_LVD_Config(&LVD_Init);
    
}

/*********************************************************************************
* Function    : LVD_TEST
* Description : 
* Input       : 
* Outpu       : 
* Author      : PJ                       Data : 2021年
**********************************************************************************/
void APP_Test(void)
{   
    System_Delay_MS(1000);
      
    LVD_Config();   
    
    /*电压小于LVD设定值时，系统复位，GPIO翻转停止 */
    GPIO_Turn();  
}
