引用 6 楼 reallyu 的回复:
// 初始化外部按键中断: 注册中断事件, 允许外部中断
if (!(InterruptInitialize(g_TIMER2SysIntr, TimerEvent, 0, 0)))
{
RETAILMSG(1, (TEXT("ERROR: TIMER2TIM: InterruptInitialize failed.\r\n")));
CloseHandle(TimerEvent);
return 0;
}
// 从 OAL 请求一个 SYSINTR 值
? ? if (!KernelIoControl(IOCTL_HAL_REQUEST_SYSINTR, &g_TIMER2Irq, sizeof(UINT32), &g_TIMER2SysIntr, sizeof(UINT32), NULL))
? ? {
? ? ? ? RETAILMSG(1, (TEXT("ERROR: TIMER2: Failed to request sysintr value for EINT interrupt.\r\n")));
? ? ? ? return(0);
? ? }
? ? RETAILMSG(1,(TEXT("INFO: TIMER2: Mapped Irq 0x%x to SysIntr 0x%x.\r\n"), g_TIMER2Irq, g_TIMER2SysIntr));
这两个顺序反了吧, 先请求 sysIntr 的值
然后再绑定事件
我不知道这个顺序有没反,我也是看别的程序上写的这个顺序呢
~~~~
等待 super man