大侠们看看为啥EINT4没反应
#define GLOBAL_CLK 1#include <stdlib.h>
#include <string.h>
#include "def.h"
#include "option.h"
#include "2440addr.h"
#include "2440lib.h"
#include "2440slib.h"
static void __irq Key_ISR(void)
{
U32 r;
EnterCritical(&r);
if(rINTPND==BIT_EINT1)
{
rGPBDAT=0x7bf;
ClearPending(BIT_EINT1);
}
if(rINTPND==BIT_EINT4_7)
{
rGPBDAT=0x6ff;
ClearPending(BIT_EINT4_7);
}
if(rINTPND==BIT_EINT0)
{
rGPBDAT=0x7df;
ClearPending(BIT_EINT0);
}
if(rINTPND==BIT_EINT2)
{
rGPBDAT=0x77f;
ClearPending(BIT_EINT2);
}
ExitCritical(&r);
}
void Main(void)
{
Port_Init();
MMU_Init();
rEXTINT0 &= ~(7|(7<<4)|(7<<8)|(7<<16));
rEXTINT0 |= (0|(0<<4)|(0<<8)|(0<<16));
rEINTPEND |= (1<<4);
rEINTMASK &= ~(1<<4);
ClearPending(BIT_EINT0|BIT_EINT1|BIT_EINT2|BIT_EINT4_7);
pISR_EINT0 = pISR_EINT1 = pISR_EINT2 = pISR_EINT4_7 = (U32)Key_ISR;
EnableIrq(BIT_EINT0|BIT_EINT1|BIT_EINT2|BIT_EINT4_7);
rGPBDAT=0xfff;
rGPBCON |= (1<<16)|(1<<14)|(1<<12)|(1<<10);
rGPBUP = 0x7ff;
while(1);
}
页:
[1]