15,471
社区成员
发帖
与我相关
我的任务
分享
UINT ReadThreadLoop( LPVOID params ) { //线程处理
CString strtemp;
CSlaveFIFODlg *dlg = (CSlaveFIFODlg *) params;
OVERLAPPED inOvLap;
ZeroMemory(inData,2048);
inOvLap.hEvent = CreateEvent(NULL, false, false, "CYUSB_IN");
dlg->InEndpt->TimeOut = 1;
for (;dlg->ReadThreadLooping ;) //循环
{
UCHAR *inContext = dlg->InEndpt->BeginDataXfer(inData,inlen,&inOvLap);
dlg->InEndpt->WaitForXfer(&inOvLap,100);
success = dlg->InEndpt->FinishDataXfer(inData,inlen, &inOvLap,inContext);
if(success ) //如果读取成功,则进行波形显示
{
for(int i = 0,j = 1,k = 0;i < 2048;i=i+2,j=j+2,k++)
{
DataBuffer[k] =inData[j]*256.0 + inData[i];
strtemp.Format(_T("%d"),DataBuffer[k]);
DataWave[k] = (((DataBuffer[k] / 65536.0) * 4.096) - 2.048) * 5000.0;
}
PostMessage(hWindow,WM_DRAWPICTURE,0,0);
}
}
CloseHandle(inOvLap.hEvent);
delete []inData;
return true;
}
CWinThread* AFXAPI AfxBeginThread(AFX_THREADPROC pfnThreadProc, LPVOID pParam,
int nPriority = THREAD_PRIORITY_NORMAL, UINT nStackSize = 0,
DWORD dwCreateFlags = 0, LPSECURITY_ATTRIBUTES lpSecurityAttrs = NULL);
CWinThread* AFXAPI AfxBeginThread(CRuntimeClass* pThreadClass,
int nPriority = THREAD_PRIORITY_NORMAL, UINT nStackSize = 0,
DWORD dwCreateFlags = 0, LPSECURITY_ATTRIBUTES lpSecurityAttrs = NULL);
程序中,有您说的这个线程创建函数,上面就是我的程序中存在的UINT ReadThreadLoop( LPVOID params ) { //线程处理
我的这个程序难道不是线程吗?