阅读:1813回复:6
如何一次性读取超过64字节的数据
我的89c52+d12已基本调通,win32用bcb,驱动部分用DS,
但主端点的读取速度只有30K左右,我现在每次只能读64字 节,我看到USB协议上说1ms可读取19个数据包,这是怎么 实现的?是否将一个大于64的参数用readfile传给驱动程 序,驱动程序将此参数生成URB发给固件后主机便会不断地 向下发IN令牌,在固件的端点中断程序中向端点填数,直 到固件返回的字节数达到所发的参数为止?我用过此方法 但是未成功,显示端点已停止,而且未产生端点中断。请 各位大虾指点我是错在哪?驱动、固件、还是我对协议的 理解有问题? |
|
最新喜欢:![]() |
沙发#
发布于:2003-03-12 11:23
关注ing
|
|
板凳#
发布于:2003-03-12 11:09
用户被禁言,该主题自动屏蔽! |
|
地板#
发布于:2003-03-12 10:07
我也遇到了这个问题,D12的PIPE最大一次只能传64字节,9604也一样,我后来想了一个很弱智的办法:不改驱动程序,应用层我首先送存储器的第一个64字节的首地址,然后送64字节,再送第二个……固件中对应,先读第一个地址,校验,再读数据……如此循环,理论上说它可以传无穷字节,但在应用中我有两个问题需要解决:准确度和速度,由于每次传输的准确度不可能100%,所以N 次之后就很低,其次就是速度问题,如果谁有更好的办法,请不吝赐教! ;)
|
|
地下室#
发布于:2003-03-11 16:21
用户被禁言,该主题自动屏蔽! |
|
5楼#
发布于:2003-03-09 17:04
听说用cpress的片子可以达到高的速度。
|
|
6楼#
发布于:2003-03-09 17:02
我也在采用这种方法,不同的是你用bcd,我用delphi.我刚开始做,用DS生成的driver还要在那个地方加上自己的代码?还网给于指导。是否可以把你的程序发送一分给我。weijianfeng@citiz.net
者你填我在编mcu部分的程序,还没有头绪,也请帮忙。 |
|