DerekLiu
驱动牛犊
驱动牛犊
  • 注册日期2009-02-26
  • 最后登录2009-03-10
  • 粉丝0
  • 关注0
  • 积分4分
  • 威望31点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:3340回复: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;
}
fdsa1860
驱动牛犊
驱动牛犊
  • 注册日期2008-12-29
  • 最后登录2009-04-27
  • 粉丝0
  • 关注0
  • 积分4分
  • 威望41点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2009-03-12 15:25
68013A的端点有七个:0,1(两个),2,4,6,8,控制端点0的数据结构和其他端点是不一样的。
USBDevice->EndPoints[0]默认是控制端点0的地址,不能赋给普通端点的指针。如果楼主已经在固件中把端点1,2,4,8设置为非激活状态,那么把0改成1,应该就不会报错了。
CCyUSBEndPoint *ep6 = USBDevice->EndPoints[1];
不过下面的代码好像和这句没什么关系,呵呵!
fdsa1860
驱动牛犊
驱动牛犊
  • 注册日期2008-12-29
  • 最后登录2009-04-27
  • 粉丝0
  • 关注0
  • 积分4分
  • 威望41点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2009-03-12 15:28
如果你英文还可以,建议多看看Cypress\USB DevStudio\CyAPI目录下面的CyAPI.chm文件
zhuli_321
驱动牛犊
驱动牛犊
  • 注册日期2009-04-17
  • 最后登录2009-04-17
  • 粉丝0
  • 关注0
  • 积分1分
  • 威望11点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2009-04-17 16:45
你好,我现在也在做这块内容,能交流一下么?
我的qq是499194127.期待你的回应。
caoju111
驱动牛犊
驱动牛犊
  • 注册日期2012-02-14
  • 最后登录2012-06-18
  • 粉丝0
  • 关注0
  • 积分3分
  • 威望31点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2012-06-18 15:24
你好,请问问题解决没有呀,我也遇到相似的问题
游客

返回顶部