阅读:1063回复:5
请教应用程序读FIFO端点数据问题。
请教应用程序读FIFO端点数据问题。
我用的是68013的片子,设成SLAVE FIFO AUTOIN 模式,我读EP8里的数据,数据会丢失,我用DEVICEIOCONTROL()函数与驱动通信的。结果是数据处理不过来,速率小的还可以。大了就不行了。不过我没有开辟大的BUFFER,每次都是64K,直接写盘。函数里的BUFFER最大也就64000比特。是什么原因呢。底层驱动能开辟大的BUFFER吗。如何开。请教。 |
|
沙发#
发布于:2003-09-21 12:41
“你可以把驱动中的一次DEVICEIOCONTRAL的包的大小改掉,用DDK重新生成个驱动,这样会快很多,四五十兆还是轻松的! ”
如何改呢。能提供源码吗。 |
|
板凳#
发布于:2003-09-21 12:39
我现在困惑的是芯片一直不停的发数据,AUTOIN模式。那我的驱动和应用程序如何工作才能保证不掉数据呢。另外,在驱动里 的EZ_CALLUSB()是工作在同步模式吗。
|
|
地板#
发布于:2003-09-21 12:04
[quote]为什么要用ep8? 你说得对,这是我要做得工作。但我现在主要是想知道数据在底层驱动中是如何流通的,现在是我如何能上高速呢,写盘来的及吗。比如我的数据是四五十兆比特的数据时。在EZUSB.SYS驱动中数据是放在哪里呢,我如果想在驱动中用大缓存来存放数据怎么用呢。 [/quote] 你可以把驱动中的一次DEVICEIOCONTRAL的包的大小改掉,用DDK重新生成个驱动,这样会快很多,四五十兆还是轻松的! :D |
|
地下室#
发布于:2003-09-21 12:01
为什么要用ep8? 你说得对,这是我要做得工作。但我现在主要是想知道数据在底层驱动中是如何流通的,现在是我如何能上高速呢,写盘来的及吗。比如我的数据是四五十兆比特的数据时。在EZUSB.SYS驱动中数据是放在哪里呢,我如果想在驱动中用大缓存来存放数据怎么用呢。 |
|
5楼#
发布于:2003-09-21 10:25
为什么要用ep8?
用ep2或者ep6设置成四缓冲试试,如果还不行那你设备的数据就应该先缓冲一下再写到端点里。 |
|