阅读:683回复:1
唉
详细描述入下:程序框架为“bulksrc”
配置:端口2、4为OUT,DOUBLE BUFFER,端口6、8为IN,DOUBLE BUFFER。 SLAVE FIFO 模式,在初始化TD_INIT里加入了如下代码: for (i=0;i<512;i++) EP6FIFOBUF = i+2; SYNCDELAY; // EP6BCH = 0x02; SYNCDELAY; // EP6BCL = 0x00; for (i=0;i<512;i++) EP6FIFOBUF = i+2; SYNCDELAY; // EP6BCH = 0x02; SYNCDELAY; // EP6BCL = 0x00; 这样就把递增的数据写到EP6的FIFO里了吧? 把TD_POLL里的东西全部删除。 然后用以下代码(设备已经打开,驱动为EZUSB.SYS) void CUsbfxDlg::OnReadButton() { BULK_TRANSFER_CONTROL bulkControl; BOOLEAN bResult = FALSE; UCHAR inBuffer[90000]; DWORD nBytes, dwTotalBytes; CFile myFile((int)hFile); dwTotalBytes = 0; bulkControl.pipeNum = 2; bResult=DeviceIoControl (hOmrDev, IOCTL_EZUSB_BULK_READ, &bulkControl, sizeof(BULK_TRANSFER_CONTROL), &inBuffer[dwTotalBytes], 512, &nBytes, NULL); 调试,发现&inBuffer里并没数据?唉 |
|
|
沙发#
发布于:2003-11-13 17:28
有知道原因的大牛吗?难透了。
|
|
|