单片机配置描述符
日期:2009-1-5一旦所有的配置已经通过主机检查过后,主机就会送出非0数值的setconfigura-tlon命令,而此数值符合配置之一 bconfigurationvalue字段值。这个动作用来选择所要的配置方式。
以usb鼠标为例,利用view descriptors项目与device framework项目所测试的配置描述符如图1和图2所示。
图1 view descriptors项目所测试的配置描述符
图2 device framework项目所测试的配置描述符
以下,列出配置描述符的范例、数值以及各个字段的意义。
;blength,长度大小(9字节)
;bdescriptortype,描述符类型,2代表配置(1字节)
,ooh ;wtatollength,描述符的总长度(34字节),(包括配置描述符9字节、接口描述符
;9字节、端点描述符7字节与群组描述符9字节)。在这例子中,总长度为34字节
;bnumlnterface,用来配置的接口的数目(1字节)
;bconfigurationvalue,配置值(1字节)
;iconfiguration,配置的字符串描述符的索引(1字节)
;bmattributes,配置的属性(具有总线供电与远程唤醒的特性)(1字节)
最大电源以2ma为单位,在这例子中,32h×2ma=100 ma(1字节)
其中,应注意的是bmattributes字段配置了这个设各的电源属性。bit-7表示总线供电,bit-6表示自我供电,bit-5表示具有远程唤 醒的功能,bit[4:0]则保留使用。例如,上面的数值0xa0,表示这个设备具有远程唤醒的功能,且是总线供电的。而maxpower字段 ,则说明以2 ma为单位的设各最大电源。此外,当通过控制传输来读取配置描述符时,它将会回传包含了相关的接口与端点描述符完 整的配置层,如图3所示。wtotallength字段即是放置了在这层图中所有的字节数目。
图3配置描述符中的wtotallenrth字段所存放的字节层图