📄 descriptor.h
字号:
#ifndef descriptor_h
#define descriptor_h
typedef struct USB_DEVICEZ_DESCRIPTOR
{
uchar bLength;
uchar bDescriptorType;
uchar bcdUSB0;
uchar bcdUSB1;
uchar bDeviceClass;
uchar bDeviceSubclass;
uchar bDeviceProtocol;
uchar bMaxPacketSize;
uchar idVendor0;
uchar idvendor1;
uchar idProduct0;
uchar idProduct1;
uchar bcdDevice0;
uchar bcdDevice1;
uchar iManufacturer;
uchar iProduct;
uchar iSerialNumber;
uchar bNumConfigurations;
}USB_DEVICE_DESCRIPTOR, *PUSB_DEVICE_DESCRIPTOR;
typedef struct USB_CONFIGURATION_DESCRIPTOR
{
uchar bLength;
uchar bDescriptorType;
uchar wTotalLength0;
uchar wTotalLength1;
uchar bNumInterfaces;
uchar bConfigurationValue;
uchar iConfiguration;
uchar bmAttributes;
uchar MaxPower;
}USB_CONFIGURATION_DESCRIPTOR, *PUSB_CONFIGURATION_DESCRIPTOR;
typedef struct USB_INTERFACE_DESCRIPTOR
{
uchar bLength;
uchar bDescriptorType;
uchar bInterfaceNumber;
uchar bAlternateSetting;
uchar bNumEndpoints;
uchar bInterfaceClass;
uchar bInterfaceSubclass;
uchar bInterfaceProtocol;
uchar iInterface;
}USB_INTERFACE_DESCRIPTOR, *PUSB_INTERFACE_DESCRIPTOR;
//Endpoint descriptor
typedef struct USB_ENDPOINT_DESCRIPTOR
{
uchar bLength;
uchar bDescriptorType;
uchar bEndpointAddress;
uchar bmAttributes;
uchar wMaxPacketSize0;
uchar wMaxPacketSize1;
uchar bInterval;
}USB_ENDPOINT_DESCRIPTOR, *PUSB_ENDPOINT_DESCRIPTOR;
typedef struct USB_DESCRIPTOR {
USB_CONFIGURATION_DESCRIPTOR ConfigDescr; //配置描述符
USB_INTERFACE_DESCRIPTOR InterfaceDescr; //接口描述符
USB_ENDPOINT_DESCRIPTOR EP1_TXDescr; //端点1输入描述符
USB_ENDPOINT_DESCRIPTOR EP1_RXDescr; //端点1输出描述符
USB_ENDPOINT_DESCRIPTOR EP2_TXDescr; //端点2输入描述符
USB_ENDPOINT_DESCRIPTOR EP2_RXDescr; //端点2输出描述符
} USB_DESCRIPTOR, *PUSB_DESCRIPTOR;
extern const USB_DEVICE_DESCRIPTOR DeviceDescr ;
extern const USB_DESCRIPTOR usb_descr ;
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -