阅读:1812回复:1
usb中断传输
m_pUrb = Pipe1.BuildInterruptTransfer(
m_buffer, // Where is data coming from? 0x8, // How much data to read? TRUE, // direction (TRUE = IN) NULL, // Link to next URB NULL, TRUE ); // m_pUrb->UrbBulkOrInterruptTransfer.TransferFlags =( USBD_TRANSFER_DIRECTION_IN |USBD_SHORT_TRANSFER_OK); status = Pipe1.SubmitUrb( m_pUrb, NULL,//LinkTo(TransferComplete), NULL,//pCompInfo, 0); 上面的程序我发现只能中断传输一次,也就是说我只能在设备上采集到一次数据。 我想请教一下大家: 中断传输的驱动一般怎么处理,我想通过windows下的驱动,定时或者不定时的查询设备的状态,通过终端传输来读取设备上的数据,那么windows驱动怎么控制终端查询的时间,接受到的数据存储在什么位置?我现在在m_buffer中确实能看到一次接受的数据,可是驱动就不在查询了。如果我LinkTo(TransferComplete),驱动就会出现蓝屏,不知道什么原因,请大家帮忙看看。 |
|
沙发#
发布于:2009-01-23 14:11
“如果我LinkTo(TransferComplete),驱动就”不知道 是什么 意思 ?
貌似 一般 在驱动里 循环 来实现 查询。 或者 是 完成 例程 的递归 调用 |
|