📄 usb_desc.src
字号:
DB 04EH
DB 000H
DB 03AH
DB 000H
DB 030H
DB 000H
DB 030H
DB 000H
DB 031H
DB 000H
DB 02FH
DB 000H
DB 032H
DB 000H
DB 030H
DB 000H
DB 030H
DB 000H
DB 034H
DB 000H
stringXDesc:
DB 002H
DB 000H
stringDescTable:
DB 0FFH
DW string0Desc + 0
DB 0FFH
DW string1Desc + 0
DB 0FFH
DW string2Desc + 0
DB 0FFH
DW string3Desc + 0
DB 0FFH
DW stringXDesc + 0
; /* `=========================================================================`
;
; ***************************************
; **** * * ****
; Title: USB_DESC
; File name: usb_desc.c
; Project name: USB_DESC
; *** ****
; ****************** * ******************
; **** ****
; Author: Petr PFEIFER
; MPG Prague, Czech Republic
; **** * * ****
; ***************************************
;
; $Version: 0.019a Build: April 30, 2004
;
; $Version: 0.019 Build: 2004-03-22,15:44:27
;
;
;
;
;
; Description:
; ============
; Version 0.19 String descriptor problem fixed.
; Since version 0.018 PhysicalReportDesc added
; Since version 0.016, no aux. string constants needed
;
;
; based on USB demo version 7E
; Author: Jon Moore
; 07/22/02 (JAM) Initial coding.
; 08/30/03 (JAM) Changed to ST vendor ID.
;
;
; Notes:
; ======
; -none
;
;
; ..........................
; . .
; . ****************** .
; . **PPPPPPPPPPPPPPPP .
; . *PPPP*******PP**** .
; . **PPP********PP*** .
; . ***PPP******PP**** .
; . *****PPP****PP**** .
; . *****PPP****PP**** .
; . PPPPPPPP****PP**** (R) .
; . .
; ..........................
;
;
; =-=-=-=-=-=
; =-=-=-=-=-=-=-=-=-=-=-=-=
; =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
;
; Copyright 2004 ST Microelectronics
;
; This code/file is provided as is and has no warranty,
; implied or otherwise. You are free to use/modify any of the provided
; code at your own risk in your applications with the expressed limitation
; of liability (see below) so long as your product using the code
; contains at least one uPSD products (device).
;
; LIMITATION OF LIABILITY:
; ========================
; NEITHER STMicroelectronics NOR ITS VENDORS OR AGENTS
; SHALL BE LIABLE FOR ANY LOSS OF PROFITS, LOSS OF USE, LOSS OF DATA,
; INTERRUPTION OF BUSINESS, NOR FOR INDIRECT, SPECIAL, INCIDENTAL OR
; CONSEQUENTIAL DAMAGES OF ANY KIND WHETHER UNDER THIS AGREEMENT OR
; OTHERWISE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
;
; =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
; =-=-=-=-=-=-=-=-=-=-=-=-=
; =-=-=-=-=-=
;
; For current information on uPSD products,
; please consult our pages on the World Wide Web:
;
; www.st.com/psm
;
; - - - - - - - - - - - -
;
; STMicroelectronics GROUP OF COMPANIES
; Australia - Brazil - China - Czech Republic - Finland - France - Germany
; Hong Kong - India - Italy - Japan - Malaysia - Malta - Morocco - Singapore
; Spain - Sweden - Switzerland - United Kingdom - U.S.A.
;
; http://www.st.com
;
;
; `========================================================================` */
;
;
; #pragma NOAREGS
;
;
; #include "uPSD3200.h"
; #include "usb.h"
;
;
; const uchar code string1Desc[];
; const uchar code string2Desc[];
; const uchar code string3Desc[];
; const uchar code stringXDesc[];
;
;
;
; #define REPORT_DESC_LEN sizeof(reportDesc)
;
; const uchar code reportDesc[] =
; {
; 0x06, 0xA0, 0xFF, // Usage page (vendor defined)
; 0x09, 0xA5, // Usage (vendor defined)
;
; 0xA1, 0x01, // Collection (application)
; 0x09, 0xA6, // Usage (vendor defined)
;
; // Feature report
;
; 0x09, 0xA5, // Usage (vendor defined)
; 0x15, 0x80, // Logical min (-127)
; 0x25, 0x7F, // Logical max (128)
; 0x75, 0x08, // Report size (8 bits)
; 0x95, 0x40, // Report count (64 bytes)
; 0xB1, 0x02, // Feature (data, variable, absolute)
;
; // Input report
;
; 0x09, 0xA7, // Usage (vendor defined)
; 0x15, 0x80, // Logical min (-127)
; 0x25, 0x7F, // Logical max (128)
; 0x75, 0x08, // Report size (8 bits)
; 0x95, 0x08, // Report count (8 bytes)
; 0x81, 0x02, // Input (data, variable, absolute)
;
; // Output report
;
; 0x09, 0xA9, // Usage (vendor defined)
; 0x15, 0x80, // Logical min (-127)
; 0x25, 0x7F, // Logical max (128)
; 0x75, 0x08, // Report size (8 bits)
; 0x95, 0x40, // Report count (64 bytes)
; 0x91, 0x02, // Output (data, variable, absolute)
;
; 0xC0 // End Collection (Application)
; }
; ;
;
; const uchar code reportDescSize = REPORT_DESC_LEN;
;
;
;
;
;
; const uchar code PhysicalReportDesc[] =
; {
; 0,0,0 // no physical descriptor defined now
; }
; ;
;
; const uchar code PhysicalReportDescSize = sizeof(PhysicalReportDesc);
;
;
;
;
;
;
; const device_descriptor code deviceDesc =
; {
; sizeof(device_descriptor), // Size of this Descriptor in Bytes
; DT_DEVICE, // Descriptor Type (=1)
; {
; 0x10, 0x01 } //changed on April 30, 2004
; , // USB Spec Release Number in BCD = 1.10 0x10,0x01
; 0, // Device Class Code (none)
; 0, // Device Subclass Code (none)
; 0, // Device Protocol Code (none)
; 8, // Maximum Packet Size for EP0
; {
; 0x83, 0x04 }
; , // Vendor ID
; {
; 0x00, 0x00 }
; , // Product ID
; {
; 0x00, 0x01 }
; , // Device Release Number in BCD
; 1, // Index of String Desc for Manufacturer
; 2, // Index of String Desc for Product
; 3, // Index of String Desc for SerNo
; 1 // Number of possible Configurations
; }
; ;
;
;
;
;
; // Copy of HID class descriptor embedded in configDesc below
;
; const uchar code hidClassDesc[] =
; {
; 9, // Descriptor length
; 0x21, // Descriptor type (HID)
; 0x10,0x01, //changed on April 30, 2004 // HID release (1.10)
; 0, // Country code (none)
; 1, // Number of HID class descriptors to follow
; 0x22, // Report descriptor type (HID)
; REPORT_DESC_LEN, 0 // Byte length of report descriptor
; }
; ;
;
; const uchar code hidClassDescSize = sizeof(hidClassDesc);
;
;
;
;
;
; const uchar code configDesc[] =
; {
; 9, // Configuration descriptor length
; 2, // Descriptor type (configuration)
; 34, 0, // Total length of this descriptor
; 1, // Number of interfaces
; 1, // Configuration value
; 0, // Index of string descriptor (none)
; 0xC0, // Self powered, no remote wakeup
; 25, // <100 mA max power consumption, 2mA steps
;
;
;
; /*===== Interface =====*/
;
; 9, // Descriptor length
; 4, // Descriptor type (interface)
; 0, // Number of interface
; 0, // Alternate setting
; 1, // Number of endpoints (except EP0)
;
; // if you would like to disable EP1, easily write 0 (and 1 back for EP1/display copy refresh enable)
; 3, // Class code (HID)
; 0, // Subclass (none)
; 0, // Protocol (none)
; 0, // Index of string descriptor (none)
;
;
;
;
; /*===== HID class descriptor (copy of hidClassDesc) =====*/
;
; 9, // Descriptor length
; 0x21, // Descriptor type (HID)
; 0x10,0x01, //changed on April 30, 2004 // HID release (1.10)
; 0, // Country code (none)
; 1, // Number of HID class descriptors to follow
; 0x22, // Report descriptor type (HID)
; REPORT_DESC_LEN, 0, // Byte length of report descriptor
;
;
;
;
; /*===== Endpoint descriptor =====*/
;
; 7, // Descriptor length (7 bytes)
; 5, // Descriptor type (endpoint)
; 0x81, // Address (IN1)
; 3, // Attributes (interrupt)
; 8, 0, // Maximum packet size (8 bytes)
; 100 // Polling interval (in msec)
; }
; ;
;
;
;
;
;
;
;
;
;
; // Language IDs
; #define SD0LEN 4
; const uchar code string0Desc[] =
; {
; SD0LEN, DT_STRING , // Size, Type
; 0x09, 0x04 // LangID Codes
; }
; ;
;
;
;
;
;
; // Manufacturer String
; #define SD1LEN sizeof("ST Microelectronics")*2
; const uchar code string1Desc[] =
; {
; SD1LEN, DT_STRING, // Size, Type
; 'S', 0, // Unicode String
; 'T', 0,
; ' ', 0,
; 'M', 0,
; 'i', 0,
; 'c', 0,
; 'r', 0,
; 'o', 0,
; 'e', 0,
; 'l', 0,
; 'e', 0,
; 'c', 0,
; 't', 0,
; 'r', 0,
; 'o', 0,
; 'n', 0,
; 'i', 0,
; 'c', 0,
; 's', 0
; }
; ;
;
; // Product String
; #define SD2LEN sizeof("DK3200 Evaluation Board")*2
; const uchar code string2Desc[] =
; {
; SD2LEN, DT_STRING, // Size, Type
; 'D', 0, // Unicode String
; 'K', 0,
; '3', 0,
; '2', 0,
; '0', 0,
; '0', 0,
; ' ', 0,
; 'E', 0,
; 'v', 0,
; 'a', 0,
; 'l', 0,
; 'u', 0,
; 'a', 0,
; 't', 0,
; 'i', 0,
; 'o', 0,
; 'n', 0,
; ' ', 0,
; 'B', 0,
; 'o', 0,
; 'a', 0,
; 'r', 0,
; 'd', 0
; }
; ;
;
; // Serial Number String
; #define SD3LEN sizeof("S/N:001/2004")*2
; const uchar code string3Desc[] =
; {
; SD3LEN, DT_STRING, // Size, Type
; 'S', 0, // Unicode String
; '/', 0,
; 'N', 0,
; ':', 0,
; '0', 0,
; '0', 0,
; '1', 0,
; '/', 0,
; '2', 0,
; '0', 0,
; '0', 0,
; '4', 0,
; }
; ;
;
;
; const uchar code stringXDesc[2] =
; {
; 2, 0, // Size, Type
; }
; ;
;
;
; // Table of String Descriptors
; const uchar * const code stringDescTable[] =
; {
; string0Desc,
; string1Desc,
; string2Desc,
; string3Desc,
; stringXDesc //no string
; }
; ;
;
;
;
; /* *************************************************************************
; *** ***
; ** *** End of File *** **
; *** ***
; ************************************************************************* */
; *** sync lost ***
; *** sync lost ***
; *** sync lost ***
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -