CYPRESS XferData False

[复制链接]
1200|1
 楼主| dwindy 发表于 2016-7-4 18:33 | 显示全部楼层 |阅读模式
Hi, 我完全没有接触过USB的东西,所以问题有点门外汉。请见谅。

今天刚看完CYAPI的REFERENCE
自己写了一点代码,尝试简单的写入和读取一些数据
  1. //创建ccyusbdevice实例
  2.         CCyUSBDevice *USBDevice = new CCyUSBDevice(NULL);

  3. //取两个bulk端口
  4.         CCyBulkEndPoint *bulkIn = NULL;
  5.         CCyBulkEndPoint *bulkOut = NULL;
  6.         int index1=0, index2=0;
  7.         for(int i=0; i<endpointNum; i++)
  8.         {
  9.                 bool isIn = USBDevice->EndPoints[i]->bIn;
  10.                 bool isBulk = (USBDevice->EndPoints[i]->Attributes==2);
  11.                 if(isBulk&&isIn)
  12.                 {
  13.                         bulkIn = (CCyBulkEndPoint *)USBDevice->EndPoints[i];
  14.                         index1 = i;
  15.                 }
  16.                 if(isBulk&&!isIn)
  17.                 {
  18.                         bulkOut =  (CCyBulkEndPoint *)USBDevice->EndPoints[i];
  19.                         index2 = i;
  20.                 }
  21.         }

  22. ////创建假数据
  23.         LONG len = 512;
  24.         unsigned char data1[512]={0};
  25.         for(int i =0;i<len;i++)
  26.         {
  27.                 data1[i]=1;
  28.         }
  29.         
  30.         bool writeDone = bulkOut->XferData(data1, len);
  31.         if(writeDone)
  32.                 std::cout<<"write "<<len<<" bytes successfully"<<std::endl;
  33.         else
  34.                 std::cout<<"write failed !!!!!"<<std::endl;

  35.         unsigned char data2[512]={0};
  36.         bool readDone = bulkIn->XferData(data2, len);
  37.         if(readDone)
  38.                 std::cout<<"read successfully"<<std::endl;
  39.         else
  40.                 std::cout<<"read failed !!!!!"<<std::endl;

  41.         for(int i=0;i<len;i++)
  42.         {
  43.                 std::cout<<data2[i]<<" ";
  44.         }



bulkout的操作是成功的。
bulkin就不行了。


ps:bulkout写入多次之后也会false。
pss:bulkout成功之后,用官方的ezusb-interface,bulk trans去读数据,并读不到。
psss:官方的ezusb-interface也经常能写入不能读取。
 楼主| dwindy 发表于 2016-7-6 16:13 | 显示全部楼层
原来是同事设定了4对端口中2对不可用。
刚好我bulkout是可用的端口
bulkin取的是不可用的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

9

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部