| 
 
中级会员  
 
	积分211金钱211 注册时间2016-5-16在线时间67 小时 | 
 
1金钱 
| [mw_shl_code=c,true]const uint8_t Virtual_Com_Port_ConfigDescriptor[] = {
 /*Configuration Descriptor*/
 0x09,   /* bLength: Configuration Descriptor size */
 USB_CONFIGURATION_DESCRIPTOR_TYPE,      /* bDescriptorType: Configuration */
 VIRTUAL_COM_PORT_SIZ_CONFIG_DESC,       /* wTotalLength:no of returned bytes */
 0x00,
 0x02,   /* bNumInterfaces: 2 interface */
 0x01,   /* bConfigurationValue: Configuration value */
 0x00,   /* iConfiguration: Index of string descriptor describing the configuration */
 0xC0,   /* bmAttributes: self powered */
 0x32,   /* MaxPower 0 mA */
 /*Interface Descriptor*/
 0x09,   /* bLength: Interface Descriptor size */
 USB_INTERFACE_DESCRIPTOR_TYPE,  /* bDescriptorType: Interface */
 /* Interface descriptor type */
 0x00,   /* bInterfaceNumber: Number of Interface */
 0x00,   /* bAlternateSetting: Alternate setting */
 0x01,   /* bNumEndpoints: One endpoints used */
 0xff,   /* bInterfaceClass: Communication Interface Class */
 0x00,   /* bInterfaceSubClass: Abstract Control Model */
 0x00,   /* bInterfaceProtocol: Common AT commands */
 0x00,   /* iInterface: */
 /*Header Functional Descriptor*/
 0x05,   /* bLength: Endpoint Descriptor size */
 0x24,   /* bDescriptorType: CS_INTERFACE */
 0x00,   /* bDescriptorSubtype: Header Func Desc */
 0x10,   /* bcdCDC: spec release number */
 0x01,
 /*Call Management Functional Descriptor*/
 0x05,   /* bFunctionLength */
 0x24,   /* bDescriptorType: CS_INTERFACE */
 0x01,   /* bDescriptorSubtype: Call Management Func Desc */
 0x00,   /* bmCapabilities: D0+D1 */
 0x01,   /* bDataInterface: 1 */
 /*ACM Functional Descriptor*/
 0x04,   /* bFunctionLength */
 0x24,   /* bDescriptorType: CS_INTERFACE */
 0x02,   /* bDescriptorSubtype: Abstract Control Management desc */
 0x02,   /* bmCapabilities */
 /*Union Functional Descriptor*/
 0x05,   /* bFunctionLength */
 0x24,   /* bDescriptorType: CS_INTERFACE */
 0x06,   /* bDescriptorSubtype: Union func desc */
 0x00,   /* bMasterInterface: Communication class interface */
 0x01,   /* bSlaveInterface0: Data Class Interface */
 
 /*Endpoint 2 Descriptor*/
 0x07,   /* bLength: Endpoint Descriptor size */
 USB_ENDPOINT_DESCRIPTOR_TYPE,   /* bDescriptorType: Endpoint */
 0x81,   /* bEndpointAddress: (IN2) */
 0x02,   /* bmAttributes: Interrupt */
 VIRTUAL_COM_PORT_INT_SIZE,      /* wMaxPacketSize: */
 0x00,
 0xFF,   /* bInterval: */
 
 /*Data class interface descriptor*/
 0x09,   /* bLength: Endpoint Descriptor size */
 USB_INTERFACE_DESCRIPTOR_TYPE,  /* bDescriptorType: */
 0x02,   /* bInterfaceNumber: Number of Interface */
 0x00,   /* bAlternateSetting: Alternate setting */
 0x02,   /* bNumEndpoints: Two endpoints used */
 0xff,   /* bInterfaceClass: CDC */
 0x00,   /* bInterfaceSubClass: */
 0x00,   /* bInterfaceProtocol: */
 0x00,   /* iInterface: */
 
 /*Endpoint 3 Descriptor*/
 0x07,   /* bLength: Endpoint Descriptor size */
 USB_ENDPOINT_DESCRIPTOR_TYPE,   /* bDescriptorType: Endpoint */
 0x03,   /* bEndpointAddress: (OUT3) */
 0x02,   /* bmAttributes: Bulk */
 VIRTUAL_COM_PORT_DATA_SIZE,             /* wMaxPacketSize: */
 0x00,
 0x00,   /* bInterval: ignore for Bulk transfer */
 };[/mw_shl_code]如上是根据虚拟串口改的自定义配置描述符,比如我把端点3和端点1配置移到端点2下面,就不行,删除端点2也不行,CDC类的配置描述格式是固定的吗?
 
 | 
 |