51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 10491|回复: 5
打印 上一主题 下一主题

CYAPI USB bulk传输

[复制链接]
  • TA的每日心情
    无聊
    昨天 09:47
  • 签到天数: 528 天

    连续签到: 1 天

    [LV.9]测试副司令

    跳转到指定楼层
    1#
    发表于 2021-7-23 13:13:25 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    1测试积点
    目的:用endpoint0x02作为out通道,输出指令;用用endpoint0x88作为in通道,接收数据;
    问题:目前能输出指令,但不能接收数据,请找出问题并指正
    代码如下:
    1. do {
    2.             USBDevice->Open(d); // Open automatically calls Close() if necessary
    3.              usb_id = d;//定义几个USB设备
    4.             vID = USBDevice->VendorID;//将VendorID地址放到vID里
    5.             pID = USBDevice->ProductID;//将ProductID地址放到pID里
    6.             d++;
    7.         } while ((d < devices) && (vID != mVID) && (pID != mPID));//判断,当d小于总数,vID=设备VID,pID=PID时,跳出循环;
    8.         if (usb_id == devices)
    9.             MessageBox(NULL, TEXT("USB未连接"), TEXT("警告"), MB_OK);  //弹出对话框
    10.         else
    11.         {
    12.             int eptCount = USBDevice->EndPointCount();//获取端点数
    13.             for (int i = 1; i<eptCount; i++)
    14.             {
    15.                 bool bIn = ((USBDevice->EndPoints[i]->Address & 0x88) == 0x88);//判断usb设备的端点的地址第7位是不是1
    16.                 bool bBulk = (USBDevice->EndPoints[i]->Attributes == 2);//判断usb设备的端点的属性是不是等时传输
    17.                 if (bBulk && bIn) BulkInEpt = (CCyBulkEndPoint *)USBDevice->EndPoints[i];
    18.                 if (bBulk && !bIn) BulkOutEpt = (CCyBulkEndPoint *)USBDevice->EndPoints[i];
    19.             }
    20.         }
    21.         //2.BULK发送
    22.         OVERLAPPED outOvLap;//创建异步事件
    23.         outOvLap.hEvent = CreateEvent(NULL, false, false, "CYUSB_OUT");//线程循环
    24.         unsigned char outBuf[2];
    25.         //for (int i = 0; i<512; i++)
    26.             outBuf[0] = 0XFF;
    27.             outBuf[1] = 0X9F;
    28.         LONG length = 2;
    29.         UCHAR *outContext = BulkOutEpt->BeginDataXfer(outBuf, length, &outOvLap);//开始传输
    30.          BulkOutEpt->WaitForXfer(&outOvLap, 100);//100ms
    31.         bool success;
    32.         success = BulkOutEpt->FinishDataXfer(outBuf, length, &outOvLap, outContext);//传输完成
    33.         CloseHandle(outOvLap.hEvent);
    34.         //3.BULK接收        
    35.         OVERLAPPED inOvLap;
    36.         inOvLap.hEvent = CreateEvent(NULL, false, false, "CYUSB_IN");
    37.         unsigned char inBuf[512];
    38.         unsigned char result[512];
    39.         ZeroMemory(inBuf, 512);
    40.         ZeroMemory(result, 512);
    41.         //LONG length = 512;
    42.         UCHAR *inContext = BulkInEpt->BeginDataXfer(inBuf, length, &inOvLap);
    43.         BulkInEpt->WaitForXfer(&inOvLap, 500); //100mS
    44.         //bool success;
    45.         success = BulkInEpt->FinishDataXfer(inBuf, length, &inOvLap, inContext);
    46.         CloseHandle(inOvLap.hEvent);
    47.         result[512] = inBuf[512];
    48.         delay_ms(1);
    复制代码


    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    昨天 10:24
  • 签到天数: 1517 天

    连续签到: 1 天

    [LV.Master]测试大本营

    2#
    发表于 2021-7-26 10:13:06 | 只看该作者
    检查下网络环境
    回复

    使用道具 举报

  • TA的每日心情
    擦汗
    昨天 14:30
  • 签到天数: 752 天

    连续签到: 1 天

    [LV.10]测试总司令

    3#
    发表于 2021-7-26 10:17:38 | 只看该作者
    看下这个链接对你又帮助吗https://blog.csdn.net/junnes/article/details/8476548
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    昨天 08:48
  • 签到天数: 1802 天

    连续签到: 1 天

    [LV.Master]测试大本营

    4#
    发表于 2021-7-26 10:38:01 | 只看该作者
    有报错信息吗
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    昨天 08:00
  • 签到天数: 2813 天

    连续签到: 1 天

    [LV.Master]测试大本营

    5#
    发表于 2021-7-26 16:44:09 | 只看该作者
    确实不会,定一下
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    昨天 09:30
  • 签到天数: 992 天

    连续签到: 1 天

    [LV.10]测试总司令

    6#
    发表于 2021-7-26 16:48:23 | 只看该作者
    回复

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-19 06:23 , Processed in 0.069297 second(s), 21 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表