阅读:2061回复:12
如何开辟一个线程实现BULK IN的不断的读取USB的数据啊 ?如何轮训USB设备?
各位同盟:
我想用驱动在内核里面开一个线程实现BULK IN不断读取数据,然后存到一个队列里面(前提条件是队列有效就能不断的读取,队列满就处于挂起状态),如何实现这样一个线程呢? 可以参考哪些资料呢?谁有这样的例子麻烦发一份啊 ,谢谢了! 简单来讲就是如何在驱动里面轮询USB DEVICE,要求速度尽可能的快和尽量少占用系统的资源。。。。。。。 |
|
沙发#
发布于:2005-07-14 18:27
我也想知道!
|
|
板凳#
发布于:2005-07-15 09:17
本人用想用KTIMEDCALLBACK来实现,但是以进去就重启,郁闷啊,版主给点意见啊。
|
|
地板#
发布于:2005-07-17 07:15
没人遇到这个问题吗?
|
|
地下室#
发布于:2005-07-18 14:33
在驱动里面不需要应用程序干预的情况下如何轮询USB设备啊?
|
|
5楼#
发布于:2005-07-18 15:27
用完成例程,IoSetCompleteRoutine()等等
|
|
6楼#
发布于:2005-07-19 09:14
五楼的兄弟能不能给出个例子啊?如果是用DS写的驱动呢?
|
|
7楼#
发布于:2005-07-19 09:17
还有一个速度的问题,理论上使用IoSetCompleteRoutine()发送IN包的频率是多大?我的期望速度至少是30MByte/s.请问能做到吗?
|
|
8楼#
发布于:2005-07-20 09:41
这个问题摆了好久了 !!!!!真没人感兴趣吗 ?
|
|
9楼#
发布于:2005-07-22 10:40
下面是引用xxlangyun于2005-07-19 09:17发表的: 几天没有上论坛,让你等急了,^_^ 达到这个速度好像比较困难,我记得用等时传输也只能达到2XMB/s,bulk应该会更慢一点了。不过你可以自己try一下~~ |
|
10楼#
发布于:2005-07-22 17:04
Walter Oney的书上不是有不断读的例子吗?
|
|
11楼#
发布于:2005-07-23 10:13
哪Walter Oney的书下载?楼上能否把代码贴出来看看?或者是把书贴上来?
|
|
12楼#
发布于:2005-07-28 20:45
在线程函数里,判断上一次发送下去的读irp是否已经完成,如果完成,再构造读IRP,并发送下去,由于线程函数被不断的由系统调用,于是可以实现持续的读.
|
|