阅读:3344回复:4
bulk传输 上位机读取数据问题
请教一下:
我用CyAPI编写读取来自Cy7C68013A bulk传输数据的程序。固件里面选用EP6 IN 512字节 双缓冲,能够用CyConsole EZ-USB读取到数据。自己编写的程序能够读到IDVendors,IDProduct,但是一旦去读端点的信息程序,调试就出现“Unhandled exception...”,弄了很久了一直搞不明白。读取程序如下,望指点: void CSPI_USBDlg::OnButtonTransport() { BOOL okin; OVERLAPPED inOvLap; PUCHAR inData = new UCHAR[256]; ZeroMemory(inData,1024); //数据缓冲区 inOvLap.hEvent = CreateEvent(NULL, false, false, "CYUSB_IN"); int devices = USBDevice->DeviceCount(); //USBDevice是已经创建的一个实例,devices 读出来的数值是 1 CCyUSBEndPoint *ep6 = USBDevice->EndPoints[0]; // 程序一执行到这里就死了?????????????????????????????????????????? USBDevice->BulkInEndPt->TimeOut = 10; LONG inlen=512; //异步读数据 UCHAR *inContext = USBDevice->BulkInEndPt->BeginDataXfer(inData,inlen,&inOvLap); USBDevice->BulkInEndPt->WaitForXfer(&inOvLap,200); okin = USBDevice->BulkInEndPt->FinishDataXfer(inData,inlen, &inOvLap,inContext); if (okin) //如果读取成功,则保存数据 { mFile.SeekToEnd(); mFile.Write(inData,inlen); } CloseHandle(inOvLap.hEvent); delete [] inData; } |
|