LPC1768之外部中断

/*************************************************************************************	  
*	main.c:  the main file 
*	NXP --> LPC1768
*
*   
*	Author	:	light					
*	Date	:	2012-4-22  
*
*	Email	:	[email protected]
***************************************************************************************/

#include <LPC17XX.h>
#include "GPIO.h"

/********************************************************************************
** Descriptions			:external interrupt initialze
**
** parameters			:None
** Returned value		:None
*********************************************************************************/
void ExternIntInit(void) 
{
	LPC_PINCON->PINSEL4 |=  (1<<20);				// p2.10设置为外部中断
	LPC_PINCON->PINSEL4 &= ~(1<<21); 
	LPC_GPIO2->FIODIR   &= ~(1<<10);	 			// p2.10 设置为输入
	
	NVIC_EnableIRQ(EINT3_IRQn);              		/* enable irq in nvic              */
	//EINT3和GPIO中断共用
	LPC_GPIOINT->IO2IntEnR |= (1<<10);				//上升沿触发
}
/********************************************************************************
** Descriptions			:EINT0 interrupt
**
** parameters			:None 
** Returned value		:None
*********************************************************************************/
void EINT3_IRQHandler(void)
{
	LPC_GPIOINT->IO2IntClr |= (1<<10);				//将中断清零,否则一直在中断中无法退出

		LedNOn(3);
		DelayMs(1000);

		LedNOff(3);
		DelayMs(1000);
}


/*----------------------------------------------------------------------------
  The main Function 
 *----------------------------------------------------------------------------*/
int main(void)
{
	int loc;

	SystemInit();
	ExternIntInit(); 
	LedInit();

	while(1)
	{
		
		for(loc=7;loc>=0;loc--)
		{
/*			LedNOn(loc);
			DelayMs(1000);

			LedNOff(loc);
			DelayMs(1000);
*/
		}
	}

}

你可能感兴趣的:(Date,function,File,Parameters,email)