68013a利用端点1进行块传输的速度测试,OUT端点收,IN端点返回数据。下位机代码已经用Cypress的EZ-USB Iterface软件调通了,用Bus Hound抓了一下,上位机每发一个Bulck请求,上面都显示只有DO 然后就是跟着数据,没有其它的描述符请求!
可是当我参照cypress提供的块传输例子,自己改写了一下。Bus Hound抓到了很多请求的描述符请求,然后才是数据,并不是只有一次DO。这是发一次请求的情况,如果循环发送软件就报错了!下面是改写的程序,不知这样写有没有问题?
int PACKLEN=60;
PUCHAR buf=new UCHAR[PACKLEN];
ZeroMemory(buf, PACKLEN);
LONG buflen = PACKLEN;
memset(buf,0x5a,PACKLEN);
USBDevice->BulkOutEndPt->XferData(buf,buflen);
//USBDevice->BulkOutEndPt->BeginDataXfer(buf,buflen,&outOvLap);这个也试过更上面效果一样。
请前辈们帮我修正一下错误代码! |