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

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

?? usb_descriptor.c

?? USB CDC and HID composite unit.
?? C
字號:
//-----------------------------------------------------------------------------
// USB_Descriptor.c
//-----------------------------------------------------------------------------

//-----------------------------------------------------------------------------
// Includes
//-----------------------------------------------------------------------------

#include "USB_Type.h"
#include "USB_Configuration.h"
#include "USB_Descriptor.h"

//-----------------------------------------------------------------------------
// Macro for two byte field
//-----------------------------------------------------------------------------

#if defined BIG_ENDIAN
#define LE(x)	((((x)&0x00FF)<<8)|(((x)&0xFF00)>>8))	// convert to little endian
#else
#define LE(x)	(x)										// no conversion
#endif

//-----------------------------------------------------------------------------
// Descriptor Declarations
//-----------------------------------------------------------------------------

//
// Device descriptor
//
Tdevice_descriptor code DeviceDesc =
{
	sizeof(Tdevice_descriptor),				// bLength
	DSC_TYPE_DEVICE,						// bDescriptorType
	LE( VER_USB ),							// bcdUSB
    0xEF,									// bDeviceClass    (Misc)
	0x02,									// bDeviceSubClass (common)
	0x01,									// bDeviceProtocol (IAD)
	EP0_PACKET_SIZE,						// bMaxPacketSize0
	LE( VID ),								// idVendor
	LE( PID ),								// idProduct
	LE( DEV_REV ),							// bcdDevice
	0x01,									// iManufacturer
	0x02,									// iProduct
	0x03,									// iSerialNumber
	0x01,									// bNumConfigurations
}; //end of DeviceDesc

//
// HID report descriptor
//		placed here because the size of this array is referred in config:HID class desc
//
BYTE code HID_report_desc0[] =
{
	0x06, 0x00, 0xff,						// USAGE_PAGE (Vendor Defined Page 1)
	0x09, 0x01,								// USAGE (Vendor Usage 1)
	0xa1, 0x01,								// COLLECTION (Application)
	0x15, 0x00,								//	LOGICAL_MINIMUM (0)
	0x26, 0xff, 0x00,						//	LOGICAL_MAXIMUM (255)
	0x75, 0x08,								//	REPORT_SIZE  (8)	- bits
	0x95, HID_IN_REPORT_SIZE,				//	REPORT_COUNT (64)	- Bytes
	0x09, 0x01,								//	USAGE (Vendor Usage 1)
	0x81, 0x02,								//	INPUT (Data,Var,Abs)
	0x95, HID_OUT_REPORT_SIZE,				//	REPORT_COUNT (64)	- Bytes
	0x09, 0x01,								//	USAGE (Vendor Usage 1)
	0x91, 0x02,								//	OUTPUT (Data,Var,Abs)
	0xc0,									// END_COLLECTION
};

BYTE code HID_report_desc0_size = sizeof( HID_report_desc0 );		// export report desc size
																// Original idea by Patryk
//
// Configuration descriptor
//
Tconfiguration_desc_set code ConfigDescSet =
{
  {										// Configuration descriptor
	sizeof(Tconfiguration_descriptor),		// bLength
	DSC_TYPE_CONFIG,						// bDescriptorType
	LE( sizeof(Tconfiguration_desc_set) ),	// bTotalLength
	DSC_NUM_INTERFACE,						// bNumInterfaces
	0x01,									// bConfigurationValue
	0x00,									// iConfiguration
	  DSC_CNFG_ATR_BASE						// bmAttributes
	| DSC_CNFG_ATR_BUS_POWERED,
	DSC_CNFG_MAXPOWER( 100 ),				// bMaxPower (mA)
											// <= 100mA: Low power
											// <= 500mA: High power
  },

								// -----  CDC descriptors  -----
  {										// Interface Association Descriptor
	sizeof(Tinterface_association_descriptor),  // bLength
	DSC_TYPE_IAD,							// bDescriptorType = 11
	0x00,									// bFirstInterface
	0x02,									// bInterfaceCount
	0x02,									// bFunctionClass (Communication Class)
	0x02,									// bFunctionSubClass (Abstract Control Model)
	0x01,									// bFunctionProcotol (V.25ter, Common AT commands)
	0x00,									// iInterface
  },
  {										// Interface 0 - CDC Communication Class
	sizeof(Tinterface_descriptor),			// bLength
	DSC_TYPE_INTERFACE,						// bDescriptorType
	DSC_INTERFACE_CDC_comm,					// bInterfaceNumber
	0x00,									// bAlternateSetting
	0x01,									// bNumEndpoints
	0x02,									// bInterfaceClass (Communication Class)
	0x02,									// bInterfaceSubClass (Abstract Control Model)
	0x01,									// bInterfaceProcotol (V.25ter, Common AT commands)
	0x00,									// iInterface
  },
  {										// Header Functional Descriptor
	sizeof(Theader_func_descriptor),		// bLength
	DSC_TYPE_CS_INTERFACE,					// bDescriptorType (CS_INTERFACE)
	DSC_SUBTYPE_CS_CDC_HEADER_FUNC,			// bDescriptorSubtype (Header Functional)
	LE(0x0110),								// bcdCDC (CDC spec release number, 1.1)
  },
  {										// Call Management Functional Descriptor
	sizeof(Tcall_man_func_descriptor),		// bLength
	DSC_TYPE_CS_INTERFACE,					// bDescriptorType (CS_INTERFACE)
	DSC_SUBTYPE_CS_CDC_CALL_MAN,			// bDescriptorSubtype (Call Management)
	0x01,									// bmCapabilities (only over Communication Class IF / handles itself)
	DSC_INTERFACE_CDC_data,					// bDataInterface (Interface number of Data Class interface)
  },
  {										// Abstract Control Management Functional Descriptor
	sizeof(Tabst_control_mana_descriptor),	// bLength
	DSC_TYPE_CS_INTERFACE,					// bDescriptorType (CS_INTERFACE)
	DSC_SUBTYPE_CS_CDC_ABST_CNTRL,			// bDescriptorSubtype (Abstract Control Management)
	0x06,									// bmCapabilities (Supports Send_Break, Set_Line_Coding, Set_Control_Line_State,
											//					Get_Line_Coding, and the notification Serial_State)
  },
  {										// Union Functional Descriptor
	sizeof(Tunion_func_descriptor),			// bLength
	DSC_TYPE_CS_INTERFACE,					// bDescriptorType (CS_INTERFACE)
	DSC_SUBTYPE_CS_CDC_UNION_FUNC,			// bDescriptorSubtype (Union Functional)
	DSC_INTERFACE_CDC_comm,					// bMasterInterface (Interface number master interface in the union)
	DSC_INTERFACE_CDC_data,					// bSlaveInterface0 (Interface number slave interface in the union)
  },
  {										// Endpoint1
	sizeof(Tendpoint_descriptor),			// bLength
	DSC_TYPE_ENDPOINT,						// bDescriptorType
	EP1_IN,									// bEndpointAddress
	DSC_EP_INTERRUPT,						// bmAttributes
	LE( EP1_IN_PACKET_SIZE ),				// MaxPacketSize
	1										// bInterval
  },

  {										// Interface 1 - CDC Data Interface Class
	sizeof(Tinterface_descriptor),			// bLength
	DSC_TYPE_INTERFACE, 					// bDescriptorType
	DSC_INTERFACE_CDC_data,					// bInterfaceNumber
	0x00,									// bAlternateSetting
	0x02,									// bNumEndpoints
	0x0A,									// bInterfaceClass (Data Interface Class)
	0x00,									// bInterfaceSubClass
	0x00,									// bInterfaceProcotol (No class specific protocol required)
	0x00									// iInterface
  },
  {										// Endpoint IN 2 descriptor
	sizeof(Tendpoint_descriptor),			// bLength
	DSC_TYPE_ENDPOINT,						// bDescriptorType
	EP2_IN,									// bEndpointAddress
	DSC_EP_BULK,							// bmAttributes
	LE( EP2_IN_PACKET_SIZE ),				// MaxPacketSize
	0										// bInterval
  },
  {										// Endpoint OUT 2 descriptor
	sizeof(Tendpoint_descriptor),			// bLength
	DSC_TYPE_ENDPOINT,						// bDescriptorType
	EP2_OUT,								// bEndpointAddress
	DSC_EP_BULK,							// bmAttributes
	LE( EP2_OUT_PACKET_SIZE ),				// MaxPacketSize
	0										// bInterval
  },

								// -----  HID descriptors  -----
  {										// HID Interface descriptor
	sizeof(Tinterface_descriptor),			// bLength
	DSC_TYPE_INTERFACE, 					// bDescriptorType
	DSC_INTERFACE_HID,						// bInterfaceNumber
	0x00,									// bAlternateSetting
	0x02,									// bNumEndpoints
	0x03,									// bInterfaceClass (HID)
	0x00,									// bInterfaceSubClass
	0x00,									// bInterfaceProcotol
	0x00,									// iInterface
  },
  {										// HID class descriptor
	sizeof(THID_class_descriptor),			// bLength
	DSC_SUBTYPE_CS_HID_CLASS,				// bDescriptorType
	LE( 0x0111 ),							// bcdHID (ver1.11)
	0x00,									// bCountryCode
	0x01,									// bNumDescriptors
	DSC_SUBTYPE_CS_HID_REPORT,				// bDescriptorType
	LE( sizeof( HID_report_desc0 ) ),		// wDescriptorLength
  },
  {										// Endpoint1 IN descriptor
	sizeof(Tendpoint_descriptor),			// bLength
	DSC_TYPE_ENDPOINT,						// bDescriptorType
	EP3_IN,									// bEndpointAddress
	DSC_EP_INTERRUPT,						// bmAttributes
	LE( EP3_IN_PACKET_SIZE ), 				// MaxPacketSize
	1,										// bInterval
  },
  {										// Endpoint1 OUT descriptor
	sizeof(Tendpoint_descriptor),			// bLength
	DSC_TYPE_ENDPOINT,						// bDescriptorType
	EP3_OUT,								// bEndpointAddress
	DSC_EP_INTERRUPT,						// bmAttributes
	LE( EP3_OUT_PACKET_SIZE ), 				// MaxPacketSize
	1										// bInterval
  },

}; //end of Configuration

//
// String descriptors
//

#define STR0LEN 4

static BYTE code String0Desc[STR0LEN] =
{
	STR0LEN, DSC_TYPE_STRING, 0x09, 0x04
}; //end of String0Desc

#define STR1LEN sizeof("SILICON LABORATORIES INC.")*2

static BYTE code String1Desc[STR1LEN] =
{
	STR1LEN, DSC_TYPE_STRING,
	'S', 0,
	'I', 0,
	'L', 0,
	'I', 0,
	'C', 0,
	'O', 0,
	'N', 0,
	' ', 0,
	'L', 0,
	'A', 0,
	'B', 0,
	'O', 0,
	'R', 0,
	'A', 0,
	'T', 0,
	'O', 0,
	'R', 0,
	'I', 0,
	'E', 0,
	'S', 0,
	' ', 0,
	'I', 0,
	'N', 0,
	'C', 0,
	'.', 0
}; //end of String1Desc

#define STR2LEN sizeof("C8051F320 Development Board")*2

static BYTE code String2Desc[STR2LEN] =
{
	STR2LEN, DSC_TYPE_STRING,
	'C', 0,
	'8', 0,
	'0', 0,
	'5', 0,
	'1', 0,
	'F', 0,
	'3', 0,
	'2', 0,
	'0', 0,
	' ', 0,
	'D', 0,
	'e', 0,
	'v', 0,
	'e', 0,
	'l', 0,
	'o', 0,
	'p', 0,
	'm', 0,
	'e', 0,
	'n', 0,
	't', 0,
	' ', 0,
	'B', 0,
	'o', 0,
	'a', 0,
	'r', 0,
	'd', 0
}; //end of String2Desc

// serial number string

#define STR3LEN sizeof("0001")*2

static BYTE code String3Desc[STR3LEN] =
{
	STR3LEN, DSC_TYPE_STRING,
	'0', 0,
	'0', 0,
	'0', 0,
	'1', 0
}; //end of String3Desc

BYTE code * code StringDescTable[] =
{
	String0Desc,
	String1Desc,
	String2Desc,
	String3Desc
};

BYTE code StringDescNum = sizeof( StringDescTable ) / sizeof( StringDescTable[0] );

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

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲欧洲无码一区二区三区| 激情深爱一区二区| 国产一区中文字幕| 欧美日韩高清一区二区不卡| 国产欧美日韩精品a在线观看| 亚洲午夜免费福利视频| 成人app下载| 国产色爱av资源综合区| 蜜臀av在线播放一区二区三区| 成人18视频日本| 国产亚洲精品7777| 国产制服丝袜一区| 欧美一二区视频| 亚洲成人一区二区| 色天使色偷偷av一区二区 | 制服丝袜国产精品| 亚洲精品伦理在线| av网站免费线看精品| 国产日本欧美一区二区| 国产综合色产在线精品| 欧美一级一区二区| 老鸭窝一区二区久久精品| 91精品国产91久久久久久最新毛片| 亚洲精品日产精品乱码不卡| 不卡一区二区中文字幕| 中文字幕在线观看不卡| 97久久超碰国产精品电影| 亚洲色图20p| 91污在线观看| 亚洲精品国产成人久久av盗摄| 成人av电影在线观看| 综合精品久久久| 色婷婷av一区| 亚洲国产综合91精品麻豆| 91成人网在线| 日欧美一区二区| 欧美成人女星排名| 国产成人8x视频一区二区| 国产欧美视频一区二区三区| 99久久婷婷国产综合精品电影| 日韩理论电影院| 欧美日韩卡一卡二| 久草在线在线精品观看| 欧美国产日韩一二三区| 91亚洲男人天堂| 亚洲第一二三四区| 日韩免费看网站| 国产成人aaa| 亚洲国产aⅴ天堂久久| 日韩欧美高清dvd碟片| 国产91精品一区二区麻豆网站| 国产精品黄色在线观看| 欧美高清在线视频| 91免费国产视频网站| 秋霞电影一区二区| 久久久久99精品一区| 一本到高清视频免费精品| 日本最新不卡在线| 国产午夜精品福利| 欧美日韩国产三级| 国产精品69毛片高清亚洲| 亚洲欧美区自拍先锋| 日韩午夜激情免费电影| 不卡区在线中文字幕| 午夜激情综合网| 中文字幕乱码日本亚洲一区二区| 91在线porny国产在线看| 久久国产精品99精品国产| 自拍偷拍国产亚洲| 欧美成人乱码一区二区三区| 91伊人久久大香线蕉| 免费看日韩a级影片| 亚洲免费三区一区二区| 精品国产123| 欧美色综合天天久久综合精品| 国产精品香蕉一区二区三区| 亚洲精品国产视频| 久久精品人人爽人人爽| 欧美日本免费一区二区三区| 成人激情图片网| 极品尤物av久久免费看| 亚洲美女屁股眼交| 国产精品天美传媒| 欧美成人女星排名| 在线成人av网站| 色哟哟一区二区| 成人自拍视频在线观看| 狠狠色狠狠色合久久伊人| 五月天精品一区二区三区| 综合网在线视频| 国产精品久久久久婷婷二区次| 精品入口麻豆88视频| 91麻豆精品国产91久久久久久久久 | 精品美女在线观看| 欧美三级中文字| 色拍拍在线精品视频8848| www.99精品| 成人激情图片网| 成熟亚洲日本毛茸茸凸凹| 国产成人精品免费视频网站| 国内精品伊人久久久久av一坑 | 久久夜色精品一区| 欧美电视剧在线看免费| 欧美高清视频一二三区| 精品视频1区2区3区| 在线精品视频小说1| 91免费在线看| 欧美在线一区二区| 欧美中文字幕一区二区三区| 在线观看日韩av先锋影音电影院| 色综合久久综合中文综合网| 97久久超碰国产精品| 色狠狠av一区二区三区| 欧美性感一区二区三区| 欧美精品第一页| 日韩午夜激情视频| 久久久久久久国产精品影院| 久久久.com| 国产精品久久久久影院色老大| 国产精品美日韩| 亚洲人成小说网站色在线| 亚洲尤物在线视频观看| 无码av免费一区二区三区试看| 三级久久三级久久| 国内久久精品视频| 成人免费视频网站在线观看| 99re这里都是精品| 欧美日韩精品电影| 精品国产乱码久久久久久闺蜜| 久久久www成人免费无遮挡大片| 国产精品久久久久三级| 亚洲精品自拍动漫在线| 日本美女一区二区三区| 国产精品资源在线看| 99re在线精品| 日韩视频国产视频| 久久久精品国产免大香伊| 最新国产精品久久精品| 午夜在线成人av| 国产成人免费网站| 精品视频免费在线| 久久久国产午夜精品| 亚洲一区二区三区中文字幕| 免费美女久久99| 91麻豆.com| 欧美成人在线直播| 亚洲人快播电影网| 久久99久久99| 欧美性猛片xxxx免费看久爱| 欧美成人官网二区| 亚洲在线一区二区三区| 国产麻豆精品95视频| 欧美美女喷水视频| 国产精品日日摸夜夜摸av| 蜜桃av一区二区| 在线中文字幕一区| 日本一区二区三区四区在线视频 | 精品国产伦理网| 亚洲一区二区欧美日韩| 国产一区啦啦啦在线观看| 在线免费观看不卡av| 欧美国产精品v| 久久精品国产精品青草| 一本大道久久精品懂色aⅴ| 337p粉嫩大胆色噜噜噜噜亚洲| 亚洲va欧美va天堂v国产综合| 国产成人精品免费| 欧美mv和日韩mv国产网站| 亚洲一区在线播放| 91在线播放网址| 国产三级精品在线| 久久精品国产免费| 91精品中文字幕一区二区三区| 亚洲精品免费在线播放| 成人av在线影院| 久久久久久久综合日本| 久久国产精品99久久久久久老狼| 欧美性受xxxx黑人xyx性爽| 中文字幕一区日韩精品欧美| 国产在线精品视频| 久久综合av免费| 韩国午夜理伦三级不卡影院| 日韩亚洲欧美综合| 免费观看成人av| 3d动漫精品啪啪1区2区免费| 天天爽夜夜爽夜夜爽精品视频| 91高清视频在线| 亚洲制服丝袜一区| 在线观看国产91| 亚洲国产成人91porn| 欧美日韩三级视频| 偷窥国产亚洲免费视频| 欧美人xxxx| 热久久国产精品| 精品国产伦一区二区三区免费 | 久久久综合激的五月天| 狠狠色综合色综合网络| 久久色视频免费观看| 国产风韵犹存在线视精品| 欧美激情一区二区三区在线|