📄 usb_desc.c
字号:
/*Endpoint 3 Descriptor*/
0x07, /* bLength: Endpoint Descriptor size */
USB_ENDPOINT_DESCRIPTOR_TYPE, /* bDescriptorType: Endpoint */
0x81, /* bEndpointAddress: Endpoint Address (IN) */
0x02, /* bmAttributes: Bulk */
0x40, /* wMaxPacketSize: */
0x00,
0x00, /* bInterval: ignore for Bulk transfer */
/*Endpoint 1 Descriptor*/
0x07, /* bLength: Endpoint Descriptor size */
USB_ENDPOINT_DESCRIPTOR_TYPE, /* bDescriptorType: Endpoint */
0x02, /* bEndpointAddress: Endpoint Address (OUT) */
0x02, /* bmAttributes: Bulk */
0x40, /* wMaxPacketSize: */
0x00,
0x00, /* bInterval */
};
#endif
#endif
#else
const uint8_t Virtual_Com_Port_DeviceDescriptor[] =
{
/* Device descriptor */
0x12, // bLength
0x01, // bDescriptorType
0x10, // bcdUSBL
0x01, //
0x02, // bDeviceClass: CDC class code
0x00, // bDeviceSubclass: CDC class sub code
0x00, // bDeviceProtocol: CDC Device protocol
0x08, // bMaxPacketSize0
0xEB, // idVendorL
0x03, //
0x24, // idProductL
0x61, //
0x10, // bcdDeviceL
0x01, //
0x00, // iManufacturer // 0x01
0x00, // iProduct
0x00, // SerialNumber
0x01 // bNumConfigs
};
const uint8_t Virtual_Com_Port_ConfigDescriptor[] =
{
/* ============== CONFIGURATION 1 =========== */
/* Configuration 1 descriptor */
0x09, // CbLength
0x02, // CbDescriptorType
0x43, // CwTotalLength 2 EP + Control
0x00,
0x02, // CbNumInterfaces
0x01, // CbConfigurationValue
0x00, // CiConfiguration
0xC0, // CbmAttributes 0xA0
0x00, // CMaxPower
/* Communication Class Interface Descriptor Requirement */
0x09, // bLength
0x04, // bDescriptorType
0x00, // bInterfaceNumber
0x00, // bAlternateSetting
0x01, // bNumEndpoints
0x02, // bInterfaceClass
0x02, // bInterfaceSubclass
0x00, // bInterfaceProtocol
0x00, // iInterface
/* Header Functional Descriptor */
0x05, // bFunction Length
0x24, // bDescriptor type: CS_INTERFACE
0x00, // bDescriptor subtype: Header Func Desc
0x10, // bcdCDC:1.1
0x01,
/* ACM Functional Descriptor */
0x04, // bFunctionLength
0x24, // bDescriptor Type: CS_INTERFACE
0x02, // bDescriptor Subtype: ACM Func Desc
0x00, // bmCapabilities
/* Union Functional Descriptor */
0x05, // bFunctionLength
0x24, // bDescriptorType: CS_INTERFACE
0x06, // bDescriptor Subtype: Union Func Desc
0x00, // bMasterInterface: Communication Class Interface
0x01, // bSlaveInterface0: Data Class Interface
/* Call Management Functional Descriptor */
0x05, // bFunctionLength
0x24, // bDescriptor Type: CS_INTERFACE
0x01, // bDescriptor Subtype: Call Management Func Desc
0x00, // bmCapabilities: D1 + D0
0x01, // bDataInterface: Data Class Interface 1
/* Endpoint 1 descriptor */
0x07, // bLength
0x05, // bDescriptorType
0x83, // bEndpointAddress, Endpoint 03 - IN
0x03, // bmAttributes INT
0x08, // wMaxPacketSize
0x00,
0xFF, // bInterval
/* Data Class Interface Descriptor Requirement */
0x09, // bLength
0x04, // bDescriptorType
0x01, // bInterfaceNumber
0x00, // bAlternateSetting
0x02, // bNumEndpoints
0x0A, // bInterfaceClass
0x00, // bInterfaceSubclass
0x00, // bInterfaceProtocol
0x00, // iInterface
/* First alternate setting */
/* Endpoint 1 descriptor */
0x07, // bLength
0x05, // bDescriptorType
0x01, // bEndpointAddress, Endpoint 01 - OUT
0x02, // bmAttributes BULK
VIRTUAL_COM_PORT_DATA_SIZE, // wMaxPacketSize
0x00,
0x00, // bInterval
/* Endpoint 2 descriptor */
0x07, // bLength
0x05, // bDescriptorType
0x82, // bEndpointAddress, Endpoint 02 - IN
0x02, // bmAttributes BULK
VIRTUAL_COM_PORT_DATA_SIZE, // wMaxPacketSize
0x00,
0x00 // bInterval
};
#endif
/* USB String Descriptors */
const uint8_t Virtual_Com_Port_StringLangID[VIRTUAL_COM_PORT_SIZ_STRING_LANGID] =
{
VIRTUAL_COM_PORT_SIZ_STRING_LANGID,
USB_STRING_DESCRIPTOR_TYPE,
0x09,
0x04 /* LangID = 0x0409: U.S. English */
};
/* Manufacturer: "EDES Software Ltd." */
const uint8_t Virtual_Com_Port_StringVendor[VIRTUAL_COM_PORT_SIZ_STRING_VENDOR]={
VIRTUAL_COM_PORT_SIZ_STRING_VENDOR, //该描述符的长度为38字节
USB_STRING_DESCRIPTOR_TYPE, //字符串描述符的类型编码为0x03
0x45, 0x00, //E
0x44, 0x00, //D
0x45, 0x00, //E
0x53, 0x00, //S
0x20, 0x00, //
0x53, 0x00, //S
0x6f, 0x00, //o
0x66, 0x00, //f
0x74, 0x00, //t
0x77, 0x00, //w
0x61, 0x00, //a
0x72, 0x00, //r
0x65, 0x00, //e
0x20, 0x00, //
0x4c, 0x00, //L
0x74, 0x00, //t
0x64, 0x00, //d
0x2e, 0x00 //.
};
/* Product name: "EDES Software Ltd. I2C Analyzer Device" */
const uint8_t Virtual_Com_Port_StringProduct[VIRTUAL_COM_PORT_SIZ_STRING_PRODUCT]={
VIRTUAL_COM_PORT_SIZ_STRING_PRODUCT, //该描述符的长度为78字节
USB_STRING_DESCRIPTOR_TYPE, //字符串描述符的类型编码为0x03
0x45, 0x00, //E
0x44, 0x00, //D
0x45, 0x00, //E
0x53, 0x00, //S
0x20, 0x00, //
0x53, 0x00, //S
0x6f, 0x00, //o
0x66, 0x00, //f
0x74, 0x00, //t
0x77, 0x00, //w
0x61, 0x00, //a
0x72, 0x00, //r
0x65, 0x00, //e
0x20, 0x00, //
0x4c, 0x00, //L
0x74, 0x00, //t
0x64, 0x00, //d
0x2e, 0x00, //.
0x20, 0x00, //
0x49, 0x00, //I
0x32, 0x00, //2
0x43, 0x00, //C
0x20, 0x00, //
0x41, 0x00, //A
0x6e, 0x00, //n
0x61, 0x00, //a
0x6c, 0x00, //l
0x79, 0x00, //y
0x7a, 0x00, //z
0x65, 0x00, //e
0x72, 0x00, //r
0x20, 0x00, //
0x44, 0x00, //D
0x65, 0x00, //e
0x76, 0x00, //v
0x69, 0x00, //i
0x63, 0x00, //c
0x65, 0x00 //e
};
/* Serial number "TD-2009" */
uint8_t Virtual_Com_Port_StringSerial[VIRTUAL_COM_PORT_SIZ_STRING_SERIAL]={
VIRTUAL_COM_PORT_SIZ_STRING_SERIAL, //该描述符的长度为16字节
USB_STRING_DESCRIPTOR_TYPE, //字符串描述符的类型编码为0x03
0x54, 0x00, //T
0x44, 0x00, //D
0x2d, 0x00, //-
0x32, 0x00, // 2
0x30, 0x00, //0
0x30, 0x00, //0
0x39, 0x00, //9
};
/******************* (C) COPYRIGHT 2009 STMicroelectronics *****END OF FILE****/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -