DerekLiu
驱动牛犊
驱动牛犊
  • 注册日期2009-02-26
  • 最后登录2009-03-10
  • 粉丝0
  • 关注0
  • 积分4分
  • 威望31点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:3344回复:4

bulk传输 上位机读取数据问题

楼主#
更多 发布于:2009-03-06 11:40
请教一下:
我用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;
}
游客

返回顶部