阅读:2453回复:3
批量传输的一帧最大是多少字节呢?
现在程序在测试主机一次发送超过64个字节的数据,主机可以在一帧之内发送出去,但是从机的fifo最大只有64字节,
所以从机产生的中断都是一帧有一个中断,而且只能接收前64个字节,下面的就收不到了。 想知道可否在主机端设置一下,让主机最大一帧就只有64字节呢 |
|
沙发#
发布于:2005-03-07 12:17
主机端可以大于64个字节,而设备端是接收小于等于64个字节就中断一次,把数据移走,就可接收下一次的64个字节了
|
|
|
板凳#
发布于:2005-03-07 14:41
是不是你的EndPoint Descriptor数据设置错误了,记得里边有一项叫wMaxPacketSize的。
|
|
地板#
发布于:2005-03-07 22:04
to kkyouking
我用程序测试了一下,发现设备端不是小于等于64就中断,而是主机发数据过来的时候,就会有中断,这个中断是每一帧一个中断, 不管一帧之内有多少数据包,所以从机在一次中断中,加上fifo的限制,只能接收前面的64个字节,就是第一个数据包。 现在打算在主机端把一帧设为最大64字节,然后在主机端先分包,分为64字节大小的,再发送,这样从机就可以完整的收下数据了, 至于数据总长度,可以在发送数据包之前先让主机发送长度值过去, 然后由从机来组装数据包。 从机给主机发送数据也差不多要设计成这样子,比较麻烦的, 主要是芯片没有一个寄存器来存放要发送的数据总长 芯片是arm2410,三星的 |
|