使用TQ2440做ADS的实验,按键中断服务怎么进不去啊?超级终端报错:Dummy_isr error, interrupt number: 0, INTMSK = 0xfffffffe,
谁见过这个错误??
以下是我的小程序,编译没错
////************中断法检测按键,并点亮相应的LED********************/
/*********KEY1:GPF1/EINT1 , KEY2:GPF4/EINT4 , KEY3:GPF2/EINT2 , KEY4:GPF0/EINT0********/
#include "2440addr.h"
unsigned long i;
static void __irq KEY4(void)
{
rGPBDAT = rGPBDAT & 0x6ff; //点亮LED4
for(i=0;i<6553600;i++);
rGPBDAT = rGPBDAT | 0x1e0;//全灭
rSRCPND |= rSRCPND;
rINTPND |= rINTPND;
}
void Main()
{
rGPBCON = (rGPBCON & 0x3c03ff)|0x15400;//仅将GPB5~8设为输出口,对应led1~4
rGPBDAT = rGPBDAT | 0x1e0;//全灭
/**************************************************/
rINTMSK = 0xFFFFFFFF; //屏蔽所有中断
rGPFCON = (rGPFCON & 0)|(1<<1)|(1<<3)|(1<<5)|(1<<9);
//F口的0、1、2、4脚为外部中断输入
rEXTINT0 = (rEXTINT0 & 0)|(1<<13)|(1<<7)|(1<<4)|(1<<1);
//EINT0/1/2/4为下降沿触发
rINTMOD = 0;//均为IRQ中断,此为默认值,不设亦可
pISR_EINT0=(unsigned int)KEY4;
rINTMSK &= 0xfffffffe; //仅开EINT0/1/2/4~7
//rEINTMASK = (rEINTMASK | 0xfffffff) & (0<<4);//仅开EINT4
//rEINTPEND = 0xfffffff; //清EINT4~23
//rSRCPND |= rSRCPND;
//rINTPND |= rINTPND;
//rPRIORITY = 0;
/************************************************/
//EINT_INIT();
while(1);
} |