/*Copyright (C), 2024-2030
*文件名:	USER.c
*版  本:	Ver1.00
*日  期:	2025/04/30
*描  述:	常用函数定义
*备  注:     
**********************************************************/
#include "USER.h"
#include "BL51F003T.h"	
#include "stdio.h"

bit Flag_INT0 = 0;		
bit Flag_INT1 = 0;		

/**********************************************************/
/**
	* @brief  EINT0初始化，P03、P02、P01，P00上升沿触发中断
  * @param  None
  * @retval None
	*/
void eint0_init()
{
	P00_FUN_DOWN_INPUT;			//下拉输入
	P01_FUN_DOWN_INPUT;			//下拉输入
	P02_FUN_DOWN_INPUT;			//下拉输入
	P03_FUN_DOWN_INPUT;			//下拉输入
	INT0_OPEN;							//外部中断0使能
	INT0_EDGE;							//外部中断0边沿触发
	/* 上升沿触发, P03~P00组 */
	IT0CON = HIGH|P00_P03_M;		//中断源来自P03~P00组,上升沿触发
	INT_INT0;							//外部中断0中断使能
}

/**
	* @brief  EINT1初始化，P07、P06、P05，P04下降沿触发中断
  * @param  None
  * @retval None
	*/
void eint1_init()
{
	P04_FUN_UP_INPUT;		  	//上拉输入
	P05_FUN_UP_INPUT;		  	//上拉输入
	P06_FUN_UP_INPUT;		  	//上拉输入
	P07_FUN_UP_INPUT;		  	//上拉输入
	INT1_OPEN;							//外部中断1使能
	INT1_EDGE;							//外部中断1边沿触发	
	/* 下降沿触发, P07~P04组*/
	IT1CON = LOW|P04_P07_M; 	
	INT_INT1;							//外部中断1中断使能
}
/**
	* @brief  中断服务，External Interrupt 1
  * @param  None
  * @retval None
	*/
void isr_2() interrupt	2
{	
	Flag_INT1 = 1;
}

/**
	* @brief  中断服务，External Interrupt 0
  * @param  None
  * @retval None
	*/
void isr_0() interrupt 0	
{
	Flag_INT0 = 1;
}
void FLAG_INIT()
{
	if(Flag_INT0)		//INT0中断产生
	{
		Flag_INT0 = 0;
		printf("\n------INT0------");	
	}
	if(Flag_INT1)		//INT1中断产生
	{
		Flag_INT1 = 0;
		printf("\n------INT1------");
	}
}