阅读:998回复:0
请教68013的登时传输的问题
我用的是cypress公司提供的驱动程序,采用下面的方法读入数据,速度很慢。
IsoControl.PacketSize = 512; IsoControl.PacketCount = 160; IsoControl.PipeNum = 2; IsoControl.BufferCount = 2; IsoControl.FramesPerBuffer = 40; bytesToRead = IsoControl.PacketCount * (IsoControl.PacketSize + sizeof(USBD_ISO_PACKET_DESCRIPTOR)); BeginReadOdd(); bResult = DeviceIoControl (hDevice, IOCTL_EZUSB_ISO_READ, &IsoControl, sizeof(ISO_TRANSFER_CONTROL), (void*)LBaseAddress, bytesToRead, &nBytes, NULL); 如果用下面的bulk传输,则速度可以达到20M m_Height=576; m_Widht=768; inPacketSize=m_Height*m_Width;//GetDlgItemInt(IDC_NUMBER); BeginReadOdd(); //同步完成后进行读入 // Perform the BULK OUT bResult = DeviceIoControl (hDevice, IOCTL_EZUSB_BULK_READ, &bulkControl, sizeof(BULK_TRANSFER_CONTROL), (void*)(LBaseAddress), inPacketSize, &nBytes, NULL); 谢谢各位大虾指点。使用同步传输有什么快的方法。 |
|