阅读:1356回复:2
请问一下DS怎么生成多端点传输驱动,芯片是CY7C68013?(谢谢大家帮帮我吧)
我用DS生成了USB驱动。准备用于CY7C68013。
生成的了EP2 4 6 8都是Bulk模式。且Maximum Transfer Size 都是512 现在驱动自动生成了如下代码: NTSTATUS TUsbDevice::Write(KIrp I) { ...... ULONG dwTotalSize = I.WriteSize(CURRENT); ULONG dwMaxSize = m_Endpoint2OUT.MaximumTransferSize(); if (dwTotalSize > dwMaxSize) { ASSERT(dwMaxSize); dwTotalSize = dwMaxSize; } // Declare a memory object KMemory Mem(I.Mdl()); // Allocate a new context structure for Irp completion USB_COMPLETION_INFO* pCompInfo = new (NonPagedPool) USB_COMPLETION_INFO; if (pCompInfo == NULL) { I.Information() = 0; return I.PnpComplete(this, STATUS_INSUFFICIENT_RESOURCES); } PURB pUrb = m_Endpoint2OUT.BuildBulkTransfer( Mem, // Where is data coming from? dwTotalSize, // How much data to read? FALSE, // direction (FALSE = OUT) NULL // Link to next URB ); ........... } 想问的问题就是为什么只有 m_Endpoint2OUT.BuildBulkTransfer(...) 端点2的下传数据代码? 那我是不是要自己增加其它端点的传输代码呢 把KIrp I里的数据自己分开然后用 m_Endpoint4OUT.BuildBulkTransfer(...) m_Endpoint6OUT.BuildBulkTransfer(...) m_Endpoint8OUT.BuildBulkTransfer(...) 这样下传吗 谢谢大家告诉我,其它的端点怎么用?这样下传速度会比对一个端点操作速度快吗? |
|
沙发#
发布于:2008-03-02 12:42
顶一下,帮你
![]() |
|
|
板凳#
发布于:2007-01-25 14:06
这个技术版为什么会这么冷清呢。。目前来看是最大的驱动开发论坛版了。。。哎。。和些其它软件技术开发版相差太选了。。。
|
|