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

📄 descp.h

📁 软件中包含了Cypress的SL811 USB接口芯片的固件程序以及如何51单片机进行操作的例子
💻 H
字号:
//*****************************************************************************************
// Cypress Semiconductor - Customer Design Center 
//*****************************************************************************************
// Project		: (SL811S + Audio Control + Internet Control) Demo Code
// File			: descp.h (USB Descriptors ROM code)
// DCE/FAE		: Shawn Ng (cxn)
// Last Update	: 03/01/02
//
//*****************************************************************************************
// Constant specific to USB Slave Descriptors
//*****************************************************************************************
#define DEV_LEN		18			// Device Descriptor Length
#define HID_LEN		9			// HID-Class Descriptor Length
#define CFG_LEN		34			// Configuration Descriptor Length
#define REP_LEN		57			// HID Report Descriptor Length

//---------------------------------------------------------------------------------------------------------------------
// DEVICE DESCRIPTOR
//---------------------------------------------------------------------------------------------------------------------
code BYTE	Dev_Descp[] = {	DEV_LEN,			// bLength: Size of descriptor
							0x01,				// bDescriptorType: Device	
							0x10,0x01,			// bcdUSB: USB 1.1
							0x00,				// bDeviceClass: none
							0x00,				// bDeviceSubClass: none
							0x00,				// bDeviceProtocol: none
							EP0_LEN,			// bMaxPacketSize0: 8/64 bytes
							0xB4,0x04,			// idVendor: 0x04B4 - Cypress
							0x11,0x08,			// idProduct: 0x1111 - SL811S
							0x00,0x01,			// bcdDevice: version 1.0
							0x01,				// iManufacturer: Cypress
							0x02,				// iProduct: Cypress SL811S - HID Consumer Control
							0x00,				// iSerialNumber: none
							0x01};				// bNumConfigurations: 1

//---------------------------------------------------------------------------------------------------------------------
// CONFIGURATION DESCRIPTOR
//---------------------------------------------------------------------------------------------------------------------
code BYTE	Cfg_Descp[] = {	0x09,				// bLength: Size of descriptor
							0x02,				// bDescriptorType: Configuration	
							CFG_LEN,0x00,		// wTotalLength: Cfg+Ifc+Class+Ep = 34 bytes
							0x01,				// bNumInterfaces: 1 interface
							0x01,				// bConfigurationValue: 1
							0x00,				// iConfiguration: none
							0xA0,				// bmAttributes: bus-powered, remote-wakeup
							0x32,				// MaxPower: 100mA

//---------------------------------------------------------------------------------------------------------------------
// INTERFACE DESCRIPTOR
//---------------------------------------------------------------------------------------------------------------------
							0x09,				// bLength: Size of descriptor
							0x04,				// bDescriptorType: Interface
							0x00,				// bInterfaceNumber: #0
							0x00,				// bAlternateSetting: #0
							0x01,				// bNumEndpoints: 1
							0x03,				// bInterfaceClass: HID-class
							0x00,				// bInterfaceSubClass: none
							0x00,				// bInterfaceProtocol: none
							0x00,				// iInterface: none

//---------------------------------------------------------------------------------------------------------------------
// HID-CLASS DESCRIPTOR
//---------------------------------------------------------------------------------------------------------------------
							0x09,				// bLength: Size of descriptor
							0x21,				// bDescriptorType: HID Class
							0x00,0x01,			// bcdHID: HID Class version 1.1
							0x00,				// bCountryCode: none
							0x01,				// bNumDescriptors: 1 report descp
							0x22,				// bDescriptorType: report descriptor type
							REP_LEN,0x00,		// wDescriptorLength: 31 bytes

//---------------------------------------------------------------------------------------------------------------------
// ENDPOINT DESCRIPTOR
//---------------------------------------------------------------------------------------------------------------------
							0x07,				// bLength: Size of descriptor
							0x05,				// bDescriptorType: Endpoint
							0x81,				// bEndpointAddress: IN, EP1
							0x03,				// bmAttributes: Interrupt
							EP1_LEN,0x00,		// wMaxPacketSize: 
							0x0A};				// bInterval: 10ms

//---------------------------------------------------------------------------------------------------------------------
// REPORT DESCRIPTOR
//--------------------------------------------------------------------------------------------------------------------------
// Bytes |  Bit 7  |  Bit 6  |  Bit 5  |  Bit 4  |  Bit 3  |  Bit 2  |  Bit 1  |  Bit 0  | 
//--------------------------------------------------------------------------------------------------------------------------
//   0   |  ScanNT |  ScanPT |  BassB   |  Stop   |  Play   |  VolDn  |  VolUp  |  Mute	 | << MultiMedia Audio Control
//--------------------------------------------------------------------------------------------------------------------------
//   1   |  Email  |  BookM  | Refresh |  Stop   | Forward |  Back   |   Home  |  Search | << Internet Application Control
//--------------------------------------------------------------------------------------------------------------------------
code BYTE	Rep_Descp[] = {	0x05, 0x0C,			// USAGE_PAGE (Consumer Devices)
							0x09, 0x01,			// USAGE (Consumer Control)
							0xA1, 0x01,			// COLLECTION (Application)
							0x15, 0x00,			//  LOGICAL_MINIMUM (0)
							0x25, 0x01,			//  LOGICAL_MAXIMUM (1)
							0x09, 0xE2,			//    USAGE (Mute)					// 	 MultiMedia Audio Control
							0x09, 0xE9,			//    USAGE (Volume Up)
							0x09, 0xEA,			//    USAGE (Volume Down)
							0x09, 0xCD,			//    USAGE (Play/Pause)
							0x09, 0xB7,			//    USAGE (Stop)
							0x09, 0xB6,			//    USAGE (Scan Previous Track)
							0x09, 0xB5,			//    USAGE (Scan Next Track)
							0x09, 0xE5, 		//    USAGE (Bass Boost)								
							0x0A, 0x21, 0x02,	//    USAGE (AC Search)				// 	 Internet Application Control
							0x0A, 0x23, 0x02,	//    USAGE (AC Home)
							0x0A, 0x24, 0x02,	//    USAGE (AC Back)
							0x0A, 0x25, 0x02,	//    USAGE (AC Forward)
							0x0A, 0x26, 0x02,	//    USAGE (AC Stop)
							0x0A, 0x27, 0x02,	//    USAGE (AC Refresh)
							0x0A, 0x2A, 0x02,	//    USAGE (AC Favorites/Bookmark)
							0x0A, 0x8A, 0x01,	//    USAGE (AL Email Reader)
							0x75, 0x01,      	//  REPORT_SIZE (1)
							0x95, 0x10, 		//  REPORT_COUNT (16)
							0x81, 0x06,			//  INPUT (Data,Var,Rel,Prf)
							0xC0};				// END_COLLECTION

//---------------------------------------------------------------------------------------------------------------------
// STRING DESCRIPTOR
//---------------------------------------------------------------------------------------------------------------------
code BYTE LangString[] = {4,3,9,4};
code BYTE MfgString[]  = {16,3,'C',0,'y',0,'p',0,'r',0,'e',0,'s',0,'s',0};
code BYTE ProdString[] = {76,3,'C',0,'y',0,'p',0,'r',0,'e',0,'s',0,'s',0,' ',0,'S',0,'L',0,'8',0,'1',0,'1',0,'S',0,' ',0,'-',0,' ',0,'H',0,'I',0,'D',0,' ',0,'C',0,'o',0,'n',0,'s',0,'u',0,'m',0,'e',0,'r',0,' ',0,'C',0,'o',0,'n',0,'t',0,'r',0,'o',0,'l',0};

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -