问一下关于中断处理的问题
PCI9054的中断处理的实现问题???
我用的API函数是WDC_IntEnable(),请问一下哪位大虾下面程序还要修改点什么或者添加点什么???
还有就是这段代码需要添加到哪一个函数里头???是自己添加成员函数还是放置在某个按钮或在初始化中???
小弟新手,刚接触中断,很迷茫啊!谢谢了! WDC_DriverOpen(WDC_DRV_OPEN_DEFAULT, NULL);
flag = WDC_PciDeviceOpen(&hDev,&p_9054Info,p_9054Ctx,NULL,NULL,NULL);
INT_HANDLER interrupt_handler=NULL;
flag = WDC_IntEnable(hDev, NULL, 0, 0,interrupt_handler, (PVOID)hDev, FALSE);
if (WD_STATUS_SUCCESS != flag)
{
printf ("Failed enabling interrupt. Error: 0x%x - %s\n",flag, Stat2Str(flag));
}
else
{
WD_TRANSFER trans[3];
BZERO(trans);
DWORD intrMask=NULL;
PVOID pData=NULL;
int dwAddr=0;
trans[0].cmdTrans = RP_DWORD;
trans[0].dwPort = dwAddr;
trans[1].cmdTrans = CMD_MASK;
trans[1].Data.Dword = intrMask;
trans[2].cmdTrans = WP_DWORD;
trans[2].dwPort = dwAddr;
trans[2].Data.Dword = 0;
WDC_IntEnable(hDev, trans, 3, INTERRUPT_CMD_COPY, interrupt_handler, pData, FALSE);
printf("Press Enter to uninstall interrupt\n");
char* line=NULL;
fgets(line, sizeof(line), stdin);
WDC_IntDisable(hDev);
}
WDC_PciDeviceClose(hDev);
WDC_DriverClose();
}