
#ifndef _MAIN_C_
#define _MAIN_C_
/*********************************************************************************************************************/
#include "include/ca51f_config.h"		
#include "include/ca51f2sfr.h"
#include "include/ca51f2xsfr.h"
#include "include/gpiodef_f2.h"
#include "include/system_clock.h"

#include "include/uart.h"
#include "include/delay.h"
#include "include/ext_int.h"
#include <intrins.h>
/*********************************************************************************************************************/

/***********************************************************************************
函数名  ： Ext_Int_Init										 	
功能描述： 外部中断初始化
输入参数： 无
返回值  ： 无
***********************************************************************************/
void Ext_Int_Init(void)									
{
#ifdef HAVE_EXINT0_EN
	Ext_Int0_Init();
#endif	
#ifdef HAVE_EXINT1_EN		
	Ext_Int1_Init();
#endif
#ifdef HAVE_EXINT2_EN
	Ext_Int2_Init(); 
#endif
#ifdef HAVE_EXINT3_EN
	Ext_Int3_Init();
#endif
#ifdef HAVE_EXINT4_EN
	Ext_Int4_Init();
#endif
#ifdef HAVE_EXINT5_EN
	Ext_Int5_Init();
#endif
#ifdef HAVE_EXINT6_EN
	Ext_Int6_Init();
#endif	
#ifdef HAVE_EXINT7_EN
	Ext_Int7_Init();
#endif
#ifdef HAVE_EXINT8_EN
	Ext_Int8_Init();
#endif
#ifdef HAVE_EXINT9_EN
	Ext_Int9_Init();
#endif
}

/***********************************************************************************
函数名  ： Ext_Int_Close										 	
功能描述： 关闭外部中断
输入参数： 无
返回值  ： 无
***********************************************************************************/
void Ext_Int_Close(void)
{
#ifdef HAVE_EXINT0_EN
	Ext_Int0_Close();
#endif
#ifdef HAVE_EXINT1_EN
	Ext_Int1_Close();
#endif	
#ifdef HAVE_EXINT2_EN
	Ext_Int2_Close();
#endif
#ifdef HAVE_EXINT3_EN
	Ext_Int3_Close();
#endif
#ifdef HAVE_EXINT4_EN
	Ext_Int4_Close();
#endif
#ifdef HAVE_EXINT5_EN
	Ext_Int5_Close();
#endif	
#ifdef HAVE_EXINT6_EN
	Ext_Int6_Close();
#endif	
#ifdef HAVE_EXINT7_EN
	Ext_Int7_Close();
#endif
#ifdef HAVE_EXINT8_EN
	Ext_Int8_Close();
#endif
#ifdef HAVE_EXINT9_EN
	Ext_Int9_Close();
#endif
}

/*********************************************************************************************************************/

void main(void)
{
#ifdef LVD_RST_ENABLE
	LVDCON = 0xE1;					//设置LVD复位电压为2V
#endif

#if (SYSCLK_SRC == PLL)
	Sys_Clk_Set_PLL(PLL_Multiple);	//设置系统时钟为PLL，PLL_Multiple为倍频倍数
#endif
	
#ifdef UART0_EN
	Uart0_Initial(UART0_BAUTRATE);	//初始化UART0
#endif
	
#ifdef UART1_EN
	Uart1_Initial(UART1_BAUTRATE);	//初始化UART1
#endif

#ifdef UART2_EN
	Uart2_Initial(UART2_BAUTRATE);	//初始化UART2
#endif
	
	EA = 1;							//开全局中断
	Ext_Int_Init();

#ifdef PRINT_EN
	uart_printf("INT0 to INT9 Demo Code\n");
#endif
	
	while(1)
	{
		
	}
}
#endif

