亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? usb_descriptor.h

?? USB CDC and HID composite unit.
?? H
字號:
//-----------------------------------------------------------------------------
// USB_Descriptor.h
//-----------------------------------------------------------------------------

#ifndef USB_DESCRIPTORS_H
#define USB_DESCRIPTORS_H

//-----------------------------------------------------------------------------
// Definition of descriptors
//-----------------------------------------------------------------------------

//------------------------------------------
// Standard Descriptors
//------------------------------------------
//------------------------------------------
// Device Descriptor
//------------------------------------------
typedef struct {
	BYTE bLength;						// Size of this Descriptor in Bytes
	BYTE bDescriptorType;				// Descriptor Type (=1)
	UINT bcdUSB;						// USB Spec Release Number in BCD
	BYTE bDeviceClass;					// Device Class Code
	BYTE bDeviceSubClass;				// Device Subclass Code
	BYTE bDeviceProtocol;				// Device Protocol Code
	BYTE bMaxPacketSize0;				// Maximum Packet Size for EP0
	UINT idVendor;						// Vendor ID
	UINT idProduct;						// Product ID
	UINT bcdDevice;						// Device Release Number in BCD
	BYTE iManufacturer;					// Index of String Desc for Manufacturer
	BYTE iProduct;						// Index of String Desc for Product
	BYTE iSerialNumber;					// Index of String Desc for SerNo
	BYTE bNumConfigurations;			// Number of possible Configurations
} Tdevice_descriptor;

//--------------------------------------------------
// Configuration Descriptor
//--------------------------------------------------
typedef struct {
	BYTE bLength;						// Size of this Descriptor in Bytes
	BYTE bDescriptorType;				// Descriptor Type (=2)
	UINT wTotalLength;					// Total Length of Data for this Conf
	BYTE bNumInterfaces;				// number of Interfaces supported by Conf
	BYTE bConfigurationValue;			// Designator Value for *this* Conf
	BYTE iConfiguration;				// Index of String Desc for this Conf
	BYTE bmAttributes;					// Configuration Characteristics
	BYTE bMaxPower;						// Max. Power Consumption in Conf (*2mA)
} Tconfiguration_descriptor;

//----------------------------------------------
// Interface Descriptor
//----------------------------------------------
typedef struct {
	BYTE bLength;						// Size of this Descriptor in Bytes
	BYTE bDescriptorType;				// Descriptor Type (=4)
	BYTE bInterfaceNumber;				// Number of *this* Interface (0..)
	BYTE bAlternateSetting;				// Alternative for this Interface
	BYTE bNumEndpoints;					// No of EPs used by this IF (excl. EP0)
	BYTE bInterfaceClass;				// Interface Class Code
	BYTE bInterfaceSubClass;			// Interface Subclass Code
	BYTE bInterfaceProtocol;			// Interface Protocol Code
	BYTE iInterface;					// Index of String Desc for Interface
} Tinterface_descriptor;

//---------------------------------------------
// Endpoint Descriptor
//---------------------------------------------
typedef struct {
	BYTE bLength;						// Size of this Descriptor in Bytes
	BYTE bDescriptorType;				// Descriptor Type (=5)
	BYTE bEndpointAddress;				// Endpoint Address (Number + Direction)
	BYTE bmAttributes;					// Endpoint Attributes (Transfer Type)
	UINT wMaxPacketSize;				// Max. Endpoint Packet Size
	BYTE bInterval;						// Polling Interval (Interrupt) ms
} Tendpoint_descriptor;

//---------------------------------------------
// Interface Association Descriptor
//---------------------------------------------
typedef struct {
	BYTE bLength;						// Size of this Descriptor in Bytes
	BYTE bDescriptorType;				// Descriptor Type (=11)
	BYTE bFirstInterface;				// Interface number of the first one associated with this function
	BYTE bInterfaceCount;				// Numver of contiguous interface associated with this function
	BYTE bFunctionClass;				// The class triad of this interface,
	BYTE bFunctionSubClass;				//   usually same as the triad of the first interface
	BYTE bFunctionProcotol;
	BYTE iInterface;					// Index of String Desc for this function
} Tinterface_association_descriptor;

//---------------------------------------------
// Class specific descriptors for CDC
//---------------------------------------------
//---------------------------------------------
// Header Functional Descriptor
//---------------------------------------------
typedef struct {
    BYTE bLength;
    BYTE bDescriptorType;
    BYTE bDescriptorSubtype;
    UINT bcdCDC;
} Theader_func_descriptor;

//---------------------------------------------
// Call Management Functional Descriptor
//---------------------------------------------
typedef struct {
    BYTE bLength;
    BYTE bDescriptorType;
    BYTE bDescriptorSubtype;
    BYTE bmCapabilities;
    BYTE bDataInterface;
} Tcall_man_func_descriptor;

//---------------------------------------------
// Abstract Control Management Functional Descriptor
//---------------------------------------------
typedef struct {
    BYTE bLength;
    BYTE bDescriptorType;
    BYTE bDescriptorSubtype;
    BYTE bmCapabilities;
} Tabst_control_mana_descriptor;

//---------------------------------------------
// Union Functional Descriptor
//---------------------------------------------
typedef struct {
	BYTE bLength;
	BYTE bDescriptorType;
	BYTE bDescriptorSubtype;
	BYTE bMasterInterface;
	BYTE bSlaveInterface0;
} Tunion_func_descriptor;


//---------------------------------------------
// Class specific descriptors for HID
//---------------------------------------------
//---------------------------------------------
// HID class Descriptor
//---------------------------------------------
typedef struct {
	BYTE bLength;
	BYTE bDescriptorType;
	UINT bcdHID;
	BYTE bCountryCode;
	BYTE bNumDescriptors;
	BYTE bReportDescriptorType;
	UINT wReportDescriptorLength;
} THID_class_descriptor;


//---------------------------------------------
// Configuration Descriptor Set
//---------------------------------------------
typedef struct {
	Tconfiguration_descriptor				m_config_desc;

		Tinterface_association_descriptor	m_IAD;						// CDC 
		Tinterface_descriptor				m_interface_desc_CDC_comm;
			Theader_func_descriptor			m_header_func_desc;
			Tcall_man_func_descriptor		m_call_man_desc;
			Tabst_control_mana_descriptor	m_abst_control_desc;
			Tunion_func_descriptor			m_union_func_desc;
			Tendpoint_descriptor			m_endpoint_desc_CDC_INT_IN;
		Tinterface_descriptor				m_interface_desc_CDC_data;
			Tendpoint_descriptor			m_endpoint_desc_CDC_BULK_IN;
			Tendpoint_descriptor			m_endpoint_desc_CDC_BULK_OUT;

		Tinterface_descriptor				m_interface_desc_HID;		// HID IF
			THID_class_descriptor			m_HID_class_descriptor;
			Tendpoint_descriptor			m_endpoint_desc_HID_IN;
			Tendpoint_descriptor			m_endpoint_desc_HID_OUT;

} Tconfiguration_desc_set;

//---------------------------------------------
// Constants for  Descriptors
//---------------------------------------------

// Descriptor type
#define DSC_TYPE_DEVICE					0x01
#define DSC_TYPE_CONFIG					0x02
#define DSC_TYPE_STRING					0x03
#define DSC_TYPE_INTERFACE				0x04
#define DSC_TYPE_ENDPOINT				0x05
#define DSC_TYPE_IAD					0x0B

// Configuration descriptor: bmAttributes
#define DSC_CNFG_ATR_BASE				0x80	// D7: base attribute, always 1
#define DSC_CNFG_ATR_SELF_POWERED		0x40	// D6: bus-powered: 0, self-powered: 1, both: 1
#define DSC_CNFG_ATR_BUS_POWERED		0x00
#define DSC_CNFG_ATR_REMOTEWAKEUP		0x20	// D5: remote-wakeup disabled: 0, enabled: 1

// Configuration descriptor: bMaxPower
#define DSC_CNFG_MAXPOWER( x )			(((x) + 1) / 2)		// 1 unit = 2mA

// Endpoint transfer type
#define DSC_EP_CONTROL					0x00
#define DSC_EP_ISOC						0x01
#define DSC_EP_BULK						0x02
#define DSC_EP_INTERRUPT				0x03

// Endopoint address
#define EP1_OUT							0x01
#define EP2_OUT							0x02
#define EP3_OUT							0x03
#define EP1_IN							0x81
#define EP2_IN							0x82
#define EP3_IN							0x83

// Descriptor type (Class specific)
#define DSC_TYPE_CS_INTERFACE			0x24

// Descriptor type (Class specific) - CDC
#define DSC_SUBTYPE_CS_CDC_HEADER_FUNC	0x00
#define DSC_SUBTYPE_CS_CDC_CALL_MAN		0x01
#define DSC_SUBTYPE_CS_CDC_ABST_CNTRL	0x02
#define DSC_SUBTYPE_CS_CDC_UNION_FUNC	0x06

// Descriptor type (Class specific) - HID
#define DSC_SUBTYPE_CS_HID_CLASS		0x21
#define DSC_SUBTYPE_CS_HID_REPORT		0x22
#define DSC_SUBTYPE_CS_HID_PHYSICAL		0x23

//-----------------------------------------------------------------------------
// Global variables
//-----------------------------------------------------------------------------

extern Tdevice_descriptor code DeviceDesc;
extern Tconfiguration_desc_set code ConfigDescSet;
extern BYTE code * code StringDescTable[];
extern BYTE code StringDescNum;

// for HID descriptors
#define HID_IN_REPORT_SIZE				EP3_IN_PACKET_SIZE
#define HID_OUT_REPORT_SIZE				EP3_OUT_PACKET_SIZE

extern BYTE code HID_report_desc0[];
extern BYTE code HID_report_desc0_size;

#endif	// USB_DESCRIPTORS_H

//-----------------------------------------------------------------------------
// End Of File
//-----------------------------------------------------------------------------

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色综合激情五月| 中文字幕不卡在线播放| 国产欧美精品一区二区色综合| 亚洲丝袜美腿综合| 国产一区二区91| 欧美亚洲一区二区在线| 久久久久国产精品免费免费搜索 | 91成人国产精品| 国产欧美日韩视频一区二区| 亚洲成av人片观看| 91亚洲精品乱码久久久久久蜜桃| 日韩午夜在线播放| 亚洲第一精品在线| 色乱码一区二区三区88| 国产欧美精品一区二区色综合 | 99在线精品一区二区三区| 精品国产一区二区亚洲人成毛片| 亚洲精品美国一| av不卡免费电影| 国产日本欧洲亚洲| 激情偷乱视频一区二区三区| 欧美一区二区三区男人的天堂| 一区二区三区不卡视频在线观看 | 亚洲欧美日韩精品久久久久| 粉嫩aⅴ一区二区三区四区| 亚洲精品一区二区三区影院| 天天操天天色综合| 欧美三级午夜理伦三级中视频| 亚洲天堂a在线| 色播五月激情综合网| 亚洲免费观看高清完整版在线| 国产成人超碰人人澡人人澡| 久久综合久久鬼色中文字| 精品一二三四在线| 久久蜜桃香蕉精品一区二区三区| 韩国一区二区在线观看| 久久先锋影音av鲁色资源网| 精品一区二区在线视频| 26uuu精品一区二区| 国产另类ts人妖一区二区| 久久久久国产精品厨房| 国产成人午夜视频| 中文字幕在线视频一区| 97精品视频在线观看自产线路二| 亚洲精品国产视频| 欧美剧情片在线观看| 日本美女一区二区三区视频| 精品免费视频.| youjizz国产精品| 亚洲国产成人av| 日韩精品最新网址| 大胆欧美人体老妇| 亚洲精品久久久蜜桃| 91麻豆精品国产综合久久久久久| 秋霞影院一区二区| 国产精品丝袜一区| 欧美视频在线播放| 性久久久久久久| 国产亚洲欧美日韩在线一区| k8久久久一区二区三区| 亚洲综合视频在线| 2023国产精华国产精品| 成人国产精品免费网站| 亚洲曰韩产成在线| 久久久99精品免费观看不卡| 99精品在线免费| 日本va欧美va精品发布| 中文字幕久久午夜不卡| 欧美日韩一区二区电影| 国产一区二区导航在线播放| 亚洲欧洲制服丝袜| 久久中文字幕电影| 欧美色图天堂网| 国产精品影视在线观看| 一区二区三区不卡在线观看 | 成人黄色在线视频| 日本欧美久久久久免费播放网| 国产精品无遮挡| 日韩欧美一级二级| 欧美亚洲国产bt| 国产99久久久国产精品潘金网站| 香蕉久久夜色精品国产使用方法 | 亚洲欧美偷拍卡通变态| 日韩精品一区二区三区中文精品| 国产91对白在线观看九色| 亚洲成人自拍网| 国产精品色在线观看| 91麻豆精品国产91久久久资源速度| 国产成人精品免费网站| 久久精品国产亚洲aⅴ| 亚洲一区二区成人在线观看| 国产女人18水真多18精品一级做| 欧美一区二区视频免费观看| 99久久er热在这里只有精品66| 老司机一区二区| 亚洲国产精品久久久男人的天堂 | 免费在线一区观看| 亚洲午夜精品在线| 亚洲色大成网站www久久九九| 久久综合999| 久久综合九色欧美综合狠狠| 制服.丝袜.亚洲.中文.综合 | 99热99精品| 成人黄色小视频| 成人毛片视频在线观看| 国产麻豆精品在线观看| 极品尤物av久久免费看| 日本不卡一二三区黄网| 日本一道高清亚洲日美韩| 亚洲成人激情综合网| 亚洲一区精品在线| 亚洲尤物在线视频观看| 亚洲五月六月丁香激情| 一区二区三区日韩| 亚洲一区欧美一区| 视频一区二区三区中文字幕| 亚洲国产精品欧美一二99| 亚洲成人精品一区| 麻豆精品一区二区综合av| 久久精品国产精品亚洲精品| 麻豆精品视频在线观看视频| 精品一区二区国语对白| 国产精品白丝av| av高清久久久| 欧美最新大片在线看| 欧美电影一区二区三区| 日韩免费看的电影| 久久久噜噜噜久久人人看 | 轻轻草成人在线| 麻豆久久久久久| 豆国产96在线|亚洲| 99re6这里只有精品视频在线观看| 色婷婷综合激情| 在线电影国产精品| 精品第一国产综合精品aⅴ| 国产欧美一区二区精品久导航| 中文字幕免费一区| 一区二区欧美在线观看| 日韩av一级片| 国产精品18久久久久久久久| 成人午夜视频网站| 91国产丝袜在线播放| 欧美精品久久一区| 久久久www免费人成精品| 中文文精品字幕一区二区| 亚洲一区在线观看网站| 精品综合免费视频观看| 91在线国产福利| 欧美不卡在线视频| 国产精品乱码一区二区三区软件| 一区二区三区欧美激情| 狠狠色丁香婷婷综合久久片| 99热99精品| 精品国产髙清在线看国产毛片| 国产精品久久久久一区二区三区| 亚洲高清免费观看| 国产99久久久精品| 51精品视频一区二区三区| 国产性色一区二区| 天天综合天天综合色| 99麻豆久久久国产精品免费| 91精品国产品国语在线不卡| 国产精品白丝在线| 国产一区二区视频在线播放| 日本伦理一区二区| 久久精品男人天堂av| 日日骚欧美日韩| 91免费观看在线| 国产婷婷一区二区| 奇米精品一区二区三区在线观看| 99久久精品免费精品国产| 欧美精品一区视频| 日本中文在线一区| 精品视频999| 亚洲男女毛片无遮挡| 国产一区二区三区免费| 欧美一三区三区四区免费在线看| 国产精品久久综合| 国产乱码精品一区二区三| 日韩欧美美女一区二区三区| 一区二区三区在线高清| 97精品超碰一区二区三区| 久久一夜天堂av一区二区三区| 午夜伦理一区二区| 欧美日韩一本到| 亚洲国产另类av| 欧美日韩中字一区| 亚洲制服丝袜av| 在线视频国产一区| 亚洲精品少妇30p| 色婷婷香蕉在线一区二区| 中文字幕欧美一| 9i在线看片成人免费| 国产日韩精品一区| 国产成人av电影在线观看| 久久久久久久性| 懂色av中文字幕一区二区三区 | 91视视频在线观看入口直接观看www| 久久久精品2019中文字幕之3| 精彩视频一区二区三区 |