/*********************************************************
*Copyright (C), 2018, Shanghai Eastsoft Microelectronics Co., Ltd
*文件名:  main.c
*作  者:  Liut
*版  本:  V1.00
*日  期:  2018/06/21
*描  述:  CLASSB
*备  注:
          本软件仅供学习和演示使用，对用户直接引用代码所带来的风险或后果不承担任何法律责任。
**********************************************************/
#include "main.h"
#include "stdio.h"
void STL_RtcConfig(void);

/*********************************************************
函数名: void T16N0_Init(void)
描  述: T16N0定时器初始化
输入值: 无
输出值: 无
返回值: 无
**********************************************************/
void T16N0_Init(void)
{
    TIM_BaseInitStruType x;

    x.TIM_ClkS = TIM_ClkS_PCLK;
    x.TIM_SYNC = DISABLE;
    x.TIM_EDGE = TIM_EDGE_Rise;
    x.TIM_Mode = TIM_Mode_TC0;
    T16Nx_BaseInit(T16N0, &x);
    T16Nx_SetPREMAT(T16N0, 1);
    T16Nx_SetMAT0(T16N0, 1000);
    NVIC_Init(NVIC_T16N0_IRQn, NVIC_Priority_0, ENABLE);

    T16Nx_MAT0ITConfig(T16N0, TIM_Clr_Int);
    T16Nx_ITConfig(T16N0, TIM_IT_MAT0, ENABLE);
    T16N0_Enable();
}

/*********************************************************
函数名: int main(void)
描  述: 主函数
输入值: 无
输出值: 无
返回值: 无
**********************************************************/
int main(void)
{
    SystemInit();
    PLLClock_Config(ENABLE, SCU_PLL_HRC, SCU_PLL_48M, ENABLE);
    SystemCoreClock = 48000000;     //默认48MHz
    DeviceClockAllEnableButIAP();

    STL_InitRunTimeChecks();
    STL_RtcConfig();
    User_SysTickInit();
    T16N0_Init();

#ifdef STL_VERBOSE_PRINTF
    STL_UARTInit();         //打印信息接口初始化（硬件串口IO一定上拉！！！）
    printf("\n\n\r *******main: STL_InitRunTimeChecks *******\n\r");
#endif

    while (1)
    {
        /* Add your application tasks here  */

        if (TimeBaseFlag == 0xAAAAAAAAuL)
        {
            STL_DoRunTimeChecks();

            TimeBaseFlag = 0;
            TimeBaseFlagInv = ~TimeBaseFlag;
        }
    }
}
