/*
  ******************************************************************************
  * @file    APP.c
  * @author  PJ
  * @version V1.0.0
  * @date    2021
  * @brief   RTC demo source code.
  ******************************************************************************
*/
#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;
    GPIO_Init(GPIOA, &GPIOA_Handle);  
    
    while(1)
    {
        GPIO_WriteBit(GPIOA,GPIO_PIN_1 , Bit_SET);
        System_Delay_MS(100);
        GPIO_WriteBit(GPIOA,GPIO_PIN_1 , Bit_RESET);
        System_Delay_MS(100);
    }

}

//低压复位功能开启
void LVD_Config(void)
{
    
    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_2V73;       /*设置LVD TRIM 2.73V*/
    LVD_Init.LVD_FLTCLK_SEL =  FLTCLK_SEL_PCLK_32;  /*FLTCLK 选择RC32K */
    LVD_Init.LVD_FLT_TIME   =  LVD_FLT_TIME_4;      /*FLTCLK 周期4 */
    
    System_LVD_Config(&LVD_Init);
    
}

/*********************************************************************************
* Function    : APP_Test
* Description : LVD Test
**********************************************************************************/
void APP_Test(void)
{
    printfS("MCU LVD Test \r\n");
    
    LVD_Config();
    
    /*电压小于LVD设定值时，系统复位，GPIO翻转停止 */
    GPIO_Turn(); 

}