阅读:1439回复:4
急需usb(或其他)异步读写源程
现在急需usb(或其他)异步读写源程序.iostartpacket,startio,iostartnextpacket,即应用device queue的例程,急,急,急。谁有:e-mail: lailaike@sina.com 谢了先!
|
|
沙发#
发布于:2002-06-19 13:05
呵呵,你说的这3个函数,usb的驱动用起来都很危险,因为用startio驱动的队列中断级高了点,会搞得usb的总线驱动没什么机会占用cpu。作usb的设备队列一般得自己来,我自己比较喜欢开个线程,在passive级作个队列,效果不错,当然还有其他挺好的做法。
整个过程也挺简单,在什么地方维护队列的头指针都是你的事情,从自定义接口上下来的irp,来一个排队一个,线程定时或者干脆就死循环去检查队列,有东西就从总线驱动里发出去。 这是用线程最简单的招,先按这个思路想想,搞不定了再说源程序的事情(以前程序队列里加了不少东西,改着挺麻烦,呵呵) |
|
板凳#
发布于:2002-06-19 13:39
谢谢版主的回答!
你说的调用危险我已经见识,机器crash了n遍。为什么这三个程序不好用呢?如果有时间,烦劳大驾,将你的办法发到我的信箱,多谢多谢! 另外,我是新手,怎么给分呢?分数随后送上 |
|
地板#
发布于:2002-06-20 01:53
呵呵,我不是已经说过了么,用startio驱动的队列中断级挺高,都是dpc的,usb的总线驱动的几个接口都是passive级的,当你用startio启动读写的时候系统就会出现中断级错误,这和页错误的道理一样(不知道usb2.0改过来没有,我认为这是个bug)。
其实只是要个框架的话几十行程序也就行了,过两天我没事了,给你贴出来就完了。 |
|
地下室#
发布于:2002-06-20 07:23
I see, 3k u!
|
|