CDC类设备CDC类设备与其他标准USB设备枚举过程的并没有什么特殊的地方。在设备描述符内可以使用DeviceClass=0x00,SubClass=0x00, Protocol=0x00 表示此类信息在接口描述符内给出;或者也可以使用0x02,0x00,0x00;来表明该设备为CDC类设备。或者使用0xef, 0x02,0x01表示当前为复合设备。 USB CDC类配置描述符的结...
3、修改USB描述信息,结构体usb\\_desc\\_dev 这里bDeviceClass要改为0xEF,意思是USB复合设备,然后bDeviceSubClass是USB\\_CLASS\\_CDC,也就是0x02,最后一个实测没什么影响。 修改config信息。这个config信息其实用一个大的数组来存放会更加灵活 这个dual\\_cdc\\_acm\\_config\\_desc的信息按照那篇基于STM3...
class分为device class和interface class。具体的class值以及含义,参考define class。 class 包含 class subclass protocol 组合在一起,用来指出设备具体功能。 device class举例 DEVICE DESCRIPTOR bLength: 18 bDescriptorType: 0x01 (DEVICE) bcdUSB: 0x0200 bDeviceClass: Miscellaneous (0xef) bDeviceSubClass: 2 ...
class分为device class和interface class。具体的class值以及含义,参考define class。 https://www.usb.org/defined-class-codes class 包含 class subclass protocol 组合在一起,用来指出设备具体功能。 device class举例 DEVICE DESCRIPTOR bLength: 18 bDescriptorType: 0x01 (DEVICE) bcdUSB: 0x0200 bDeviceClass:...
class subclass protocol 组合在一起,用来指出设备具体功能。 device class举例 DEVICEDESCRIPTORbLength:18bDescriptorType:0x01(DEVICE)bcdUSB:0x0200bDeviceClass:Miscellaneous(0xef)bDeviceSubClass:2bDeviceProtocol:1(InterfaceAssociationDescriptor)bMaxPacketSize0:64idVendor:MarvellSemiconductor,Inc.(0x1286)idProduct...
1.在一个设备功能需要关联多个接口时需要使用IAD描述符,比如UVC,UAC, 而一个配置描述符下可以使用多个IAD即实现了组合设备,比如UVC+UAC_CDC, 使用IAD时此时设备描述符的设备类bDeviceClass、子类bDeviceSubClashh和协议代码bDeviceProtocol,他们的值必须分别是0xEF(Misc),0x02(Common Class),0x01(IAD)。详见前面...
InterfaceClassCode_InterfaceSubclassCode_InterfaceProtocolCode 或Default 最终的注册表值可以为上面三个Group的不同组合,最多可达64种. 例如,有一USB摄像头设备如下: Device Descriptor: bcdUSB: 0x0110 bDeviceClass: 0xEFDeviceClassCode bDeviceSubClass: 0x02DeviceSubclassCode ...
0x01:描述符类型(bDescriptorType)。代表这段数据属于设备描述符 0x00, 0x02:USB 版本号(bcdUSB)。代表USB2.0协议 0xef:设备类(bDeviceClass)。这是一个特定的类别代码。 0x02:设备子类(bDeviceSubClass)。这个字段的值也需要根据实际的设备类型来定。
bDeviceClass 0xEF bDeviceSubClass 0x02 bDeviceProtocol 0x01 这些代码值还会Windows IAD 的驱动程序版本发出警报,以安装正确枚举设备的特殊用途总线驱动程序。 如果设备描述符中没有这些代码,则系统可能无法枚举设备,或者设备可能无法正常运行。 设备可以具有多个 IAD。 每个 IAD 必须紧接在 IAD 描述的接口组中接口...
如果 deviceClass 为0 或 0xef,并且 numInterfaces 在设备描述符中大于 1,则中心驱动程序将枚举并加载父复合驱动程序。 中心驱动程序将父复合驱动程序的兼容 ID 生成为“USB\COMPOSITE”。 Usbccgp.sys使用 Windows 驱动程序模型 (WDM) 例程。父复合驱动程序枚举复合设备中的所有函数,并为每个函数创建 PD...