/*************************************************************************************
* main.c: the main file
* NXP --> LPC1768
*
*
* Author : light
* Date : 2012-4-22
*
* Email : lightwu@hotmail.com
***************************************************************************************/
#include
#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);
*/
}
}
}