事件的问题,不好意思没分了,下次补上
驱动里有一个中断事件的线程
do
{
dwEventStatus = WaitForSingleObject(m_CAMISPEvent, INFINITE);
if(dwEventStatus==WAIT_OBJECT_0)
{
EnterCriticalSection(&m_readwriteBuf);
setting = INREG32(&S_GetCCDCRegs()->CCDC_SYN_MODE);
setting = INREG32(&S_GetIspCfgRegs()->IRQ0STATUS);
RETAILMSG(1,(_T("IRQ0: 0x%08x\r\n"), setting));
OUTREG32(&S_GetIspCfgRegs()->IRQ0STATUS, setting);
InterruptDone(m_CAMISPIntr);
m_DataisFull = TRUE;
LeaveCriticalSection(&m_readwriteBuf);
}
}while(1);
这个线程接收的是中断消息,会不断写一个BUF
现在我的应用想要读取这个BUF,我用settimer是可以读到buf内容的
但是我想用事件方式,让应用在等到事件后去读取BUF
碰到的问题是:应用我也创建了同名事件,然后像上面一样用了while(1)的线程,等待事件,结果是系统很卡,并且驱动应用事件收到一次后就不动了。
想问的问题是:可否用两个WaitForSingleObject等待同一个中断事件,然后为什么会出现我上面的现象,再个有没有其它更好方式?
[解决办法]