阅读:774回复:1
基本问题
<<10分钟完成一个USB驱动程序
(Rayyang2000倾情奉献) >> 中一段文字如下: :) :) :) :) :) :) EP 类型 地址 buffer(Bytes) 0 IN/OUT Control 0x80/0x00 16/16 1 IN/OUT Bulk 0x81/0x01 16/16 2 IN/OUT Bulk 0x82/0x02 64/64 :) :) :) :) :) :) :(请问地址是根据什么来设置的呢? 是和usb芯片相关?还是和C51芯片相关? :(还有Bytes的大小又是根据什么来设置的呢? |
|
沙发#
发布于:2003-02-27 17:36
1,根据usb芯片来设置的,版主文中写的是philips的d12,遵循的是usb1.1协议,例如cypress的cy7c68013除了端点0(in,out各1,大小为64B)外,还有2、4、6、8四个可配置的端点,对于BULK和INT模式,最大包大小最大为512字节,而对于ISO模式不能大于1024(这个数字记不太清了)
注:协议规定,每一款USB芯片的端点总数最多为32个,不得超出这个限制! 2,BUFFER的大小出了协议限制外,还受端点类型的限制。 1)1。1协议:控制端点0最大包大小为16B;其它数据端点根据端点类型不同而不同,BULK和INT一致,都是最大为64B,也可以设置为8、16、32、64中的任何一种,对于ISO不大记得了 :D 2)2。0协议:控制端点0为64B,BULK和INT最大为512,可以去1-512中的任意一个数(3.5可不行 :D),ISO我记得好像是0-1023,(没有用过这个所以没太在意) 以上内容入有纰漏,敬请批评指正! :D |
|