⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 usb_desc.c

📁 usb+源代码
💻 C
📖 第 1 页 / 共 2 页
字号:
    /*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 + -