本帖最后由 tenme1 于 2010-5-26 13:49 编辑
#include <LPC2103.H>
#include"config.h"
int i=0;
void EINTInt()
{
VICIntSelect =(1<<14)|(1<<15)|(1<<16); //选择了FIR快速中断
EXTINT=0x07;//清除EINT中断标志
VICIntEnable=(1<<14)|(1<<15)|(1<<16);// //使能中断口
EXTMODE=0x07;//外部中断方式寄存器 为边沿激活
EXTPOLAR=0x00;//设置中断极性为低电平或下降沿触发.
}
int main()
{
PINSEL0 = 0xa0000000; // 设置外部中断口
PINSEL1 = 0x00000001;
IO0DIR=LED_MASK;这个是二极管的引脚 即(1<<17)
EINTInt();
while(1);
}
void __irq FIQ_Handler()
{
i++;
if(i%2==1)
IO0SET= LED_MASK;
else
IO0CLR=LED_MASK;
EXTINT=0x07;//清除EINT中断标志
}
这个程序工能是 按一次键,进入快速中断服务程序,使灯亮了或灭,可是我调试时,进不去中断程序,而且我在开发板上也不行,
调度时,我给它一个中断,可最后程序停在
这里,一直不动.而中断程序一直进不去. |