申请中断:
Irq[0]=-1;Irq[1]=OAL_INTR_FORCE_STATIC;Irq[2]=IRQ_EINT8;
Irq[0]=-1;Irq[1]=OAL_INTR_FORCE_STATIC;Irq[2]=IRQ_TIMER3;
if (!KernelIoControl(IOCTL_HAL_REQUEST_SYSINTR, &Irq, sizeof(Irq), &gIntrTouchChanged, sizeof(UINT32), NULL))
按照Usrkey申请方法:
UINT32 IRQ;
IRQ = 36;
if (!KernelIoControl(IOCTL_HAL_REQUEST_SYSINTR, &IRQ, sizeof(UINT32), &gIntrTouchChanged, sizeof(UINT32), NULL))
{
RETAILMSG(1, (TEXT("ERROR: Failed to request the touch changed sysintr.\r\n")));
gIntrTouchChanged = SYSINTR_UNDEFINED;
return(FALSE);
}
是在上电的时候开启中断:
v_pIOPregs->GPGCON = (v_pIOPregs->GPGCON & ~(0x3 << 0x0)) | (0x2 << 0x0); // GPG0 == EINT8
v_pIOPregs->EXTINT1 = (v_pIOPregs->EXTINT1 & ~(0x7<< 0)) | (0x2 << 0);
v_pIOPregs->EINTPEND |= (1 << 8);
v_pIOPregs->EINTMASK &= ~(0x1<<8);
v_pINTregs->SRCPND &= ~(0x1<<5);
v_pINTregs->INTPND &= ~(0x1<<5);
v_pINTregs->INTMSK &= ~(0x1<<5);
按照以上的方法申请外部中断8,下降沿触发中断,老是没有任何反应,但是在裸机测试中是OK的,请高手们给予指点啊!万分感谢啊!