阅读:1311回复:4
usb驱动,应用程序能够打开设备,但是发送数据的时候堵在了SubmitUrb
是什么原因使得发送数据阻塞啊?,请高人指教。
PURB pUrb = m_Endpoint2OUT.BuildBulkTransfer( Mem,//(PVOID)buffer, // Where is data coming from? BufferLength, // How much data to write? FALSE, // direction (FALSE = OUT) NULL, // Link to next URB TRUE, NULL ); if (pUrb != NULL) { t << "pUrb created " <<"\n"; pUrb->UrbBulkOrInterruptTransfer.TransferFlags = (USBD_TRANSFER_DIRECTION_OUT | USBD_SHORT_TRANSFER_OK); status = m_Endpoint2OUT.SubmitUrb(pUrb, NULL, NULL);//到这里后就死在这里了。???? if ( NT_SUCCESS(status) ) { dwBytesSent = pUrb->UrbBulkOrInterruptTransfer.TransferBufferLength; t << "Write() posted " << dwTotalSize << " bytes to USB\n"; } else { t << "Write() failed " <<"\n"; } delete pUrb; } |
|
沙发#
发布于:2007-11-21 14:11
我在固件初始化的时候给某个端点缓冲中填入数据,如
EP2FIFOBUF[0]=0xe3; EP2FIFOBUF[1]=0xe3; EP2FIFOBUF[2]=0xe3; 请问这样有效没有? 然后我发读的命令,发现SubmitUrb始终不返回。 端点缓冲中不一定要填满才能读出吧? 是不是初始化填的缓冲区无效? |
|
板凳#
发布于:2007-11-21 11:23
用户被禁言,该主题自动屏蔽! |
|
地板#
发布于:2007-11-20 09:13
PC端WDM设备驱动程序
|
|
地下室#
发布于:2007-11-19 14:54
这是什么程序,用什么写的,用什么编译的,在什么环境下使用?
|
|
|