我想用bulk模式传输数据,从协议上看,bulk的buffer是64字节,我如何传输1k到4k的数据?具体流程是什么样的?
回复(5) 2003-03-03 17:06 来自版块 - USB驱动开发
表情
rimrock谢谢楼上的老大,你的解释很清楚。我在研究研究固件的编程方法是如何读数据的。(2003-03-04 21:57)
jinghuiren在驱动里应该是最多一次可以写64KB到下一层驱动,然后底层驱动把这些数据分批传到硬件。USB芯片里应该有一个专门的寄存器(16位的,最大是64KB)保存每次传输的要传的数据量,你在固件里读这个寄存器得到要传的数据总量,每接收一个包就把计数值减去64,直到收完为止。 一直接收...(2003-03-04 14:58)
rimrock我是想问:用writefile(hd,buffer,4k)来写数据,到usb总线上只能看到64字节的包,在驱动里如何写?还有,再单片机这端,我要一直接收数据直到有一个包为零或包长不到64菜认为这一次写操作完成,对吗?(2003-03-04 13:17)
luckyrex不知道贴主所说的1k到4k的数据要多长时间内传完。如果只是要传这么多数,不管时间的话,用个循环,多发几次不就可以了。(2003-03-04 10:35)
LIUTANG每一个包是64字节,但是一次传输(1MS时间片内)是可以有很多包的,因为包尺寸小,所以占用带宽少(或者优先级低),在有别的传输如ISO传输时可能BULK的包的个数会减少,因为必须要保证ISO的带宽。但是在没有别的传输的时候,BULK的效率是非常高的,比如包尺寸为64,在1MS里可...(2003-03-03 21:39)

返回顶部