USB复合设备的实现

USB复合设备一般用Interface Association Descriptor(IAD)实现,就是在要合并的接口前加上IAD描述符。

IAD描述符:

typedef struct _USBInterfaceAssociationDescriptor {
    BYTE  bLength:                  0x08        //描述符大小
    BYTE  bDescriptorType:          0x0B        //IAD描述符类型
    BYTE  bFirstInterface:          0x00        //起始接口
    BYTE  bInterfaceCount:          0x02        //接口数
    BYTE  bFunctionClass:           0x0E        //类型代码
    BYTE  bFunctionSubClass:        0x03        //子类型代码
    BYTE  bFunctionProtocol:        0x00        //协议代码
    BYTE  iFunction:                0x04        //描述字符串索引
}

参考资料  http://www.microsoft.com/whdc/archive/IAD.mspx

这里有我发布的stm32虚拟双串口的例子http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=4028048 下载

Posted by jie.lee 2010年5月12日 02:00