dayong
驱动牛犊
驱动牛犊
  • 注册日期2003-06-15
  • 最后登录2004-08-10
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:3016回复:6

对于支持高速和全速的设备,两个CONFIGURATION里的bConfigurationValue值是不是应该有区别?

楼主#
更多 发布于:2003-12-12 16:15
对于支持高速和全速的设备,两个CONFIGURATION里的bConfigurationValue值是不是应该有区别?
junj18
驱动牛犊
驱动牛犊
  • 注册日期2003-06-30
  • 最后登录2005-01-11
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-12-12 16:34
这个是不用变的吧,在USB的高速和全速上的枚举不同主要是在 USB_DEVICE_DESCRIPTOR里的
努力。。努力。。一切都会好的,相信自己!
jinghuiren
驱动巨牛
驱动巨牛
  • 注册日期2002-06-01
  • 最后登录2008-10-27
  • 粉丝0
  • 关注0
  • 积分291分
  • 威望460点
  • 贡献值0点
  • 好评度428点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-12-12 18:33
对的,config可以一样,但是device descr和endpoint descr要有区别的。
dayong
驱动牛犊
驱动牛犊
  • 注册日期2003-06-15
  • 最后登录2004-08-10
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2003-12-12 19:50
jinghuiren
设备描述不是只有一个吗?怎么不一样法?
SET CONFIGURATION命令里不是有个CONFIGURATION索引值吗,如果两个CONFIGURATION的索引值都一样,那它怎么知道是用哪个来设置呢?
jinghuiren
驱动巨牛
驱动巨牛
  • 注册日期2002-06-01
  • 最后登录2008-10-27
  • 粉丝0
  • 关注0
  • 积分291分
  • 威望460点
  • 贡献值0点
  • 好评度428点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2003-12-13 14:09
在枚举时,如果主机能支持高速设备,那么就应该按照高速模式枚举,完成之后设备就会工作与高速模式,如果不支持,那就是全速模式,也就是设备在同一时间只会工作与一种模式,要么高速要么全速。
而你说的那个值是用来判别不同的接口的,不同接口的差别一般在于端点配置,也就是说当设备工作与某种模式时可以有多个接口,例如接口1有四个端点,接口2有6个端点等等,那个值就是来区别这个的。不是用来区别不同的模式的。

高速和全速莫是的不同就在于设备描述符合端点描述符,具体你可以查阅协议第9章第6节。
dayong
驱动牛犊
驱动牛犊
  • 注册日期2003-06-15
  • 最后登录2004-08-10
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2003-12-14 09:37
jinghuiren
呵呵,不好意思再问一下啊,你说的枚举我懂,我就想知道对于高速和全速两个配置,主机是怎么区分它,怎么知道我送上去的哪个是高速配置哪个是全速配置,就象你说的多个接口一样,同类的东西总该有个标志做区分吧。
jinghuiren
驱动巨牛
驱动巨牛
  • 注册日期2002-06-01
  • 最后登录2008-10-27
  • 粉丝0
  • 关注0
  • 积分291分
  • 威望460点
  • 贡献值0点
  • 好评度428点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2003-12-14 20:42
全速usb的device descriptor里的bcdUSB项为0110,而高速的为0200,主机以次来判断你送来的是全速还是高速描述符。

以上为个人见解。
游客

返回顶部