📄 dscr.a51
字号:
;;-----------------------------------------------------------------------------
;; File: dscr.a51
;; Contents: This file contains descriptor data tables for the Cypress USB-Serial Bridge
;;
;; Copyright (c) 2001 Cypress Semiconductor, Inc. All rights reserved
;;-----------------------------------------------------------------------------
DSCR_DEVICE equ 1 ;; Descriptor type: Device
DSCR_CONFIG equ 2 ;; Descriptor type: Configuration
DSCR_STRING equ 3 ;; Descriptor type: String
DSCR_INTRFC equ 4 ;; Descriptor type: Interface
DSCR_ENDPNT equ 5 ;; Descriptor type: Endpoint
ET_CONTROL equ 0 ;; Endpoint type: Control
ET_ISO equ 1 ;; Endpoint type: Isochronous
ET_BULK equ 2 ;; Endpoint type: Bulk
ET_INT equ 3 ;; Endpoint type: Interrupt
public DeviceDscr, ConfigDscr, StringDscr, UserDscr, HIDDscr, ReportDscr, ReportDscrEnd
DSCR SEGMENT CODE
;;-----------------------------------------------------------------------------
;; Global Variables
;;-----------------------------------------------------------------------------
;; Note: This segment must be located in on-part memory.
rseg DSCR ;; locate the descriptor table anywhere below 8K
DeviceDscr: db deviceDscrEnd-DeviceDscr ;; Descriptor length
db DSCR_DEVICE ;; Decriptor type
dw 1001H ;; Specification Version (BCD)
db 00H ;; Device class
db 00H ;; Device sub-class
db 00H ;; Device sub-sub-class
db 40H ;; Maximum packet size
dw 0B404H ;; Vendor ID
dw 0255H ;; Product ID - set to default example ID
dw 0100H ;; Product version ID
db 1 ;; Manufacturer string index
db 2 ;; Product string index
db 0 ;; Serial number string index
db 1 ;; Number of configurations
deviceDscrEnd:
ConfigDscr: db ConfigDscrEnd-ConfigDscr ;; Descriptor length
db DSCR_CONFIG ;; Descriptor type
db StringDscr-ConfigDscr ;; Configuration + End Points length (LSB)
db (StringDscr-ConfigDscr)/256 ;; Configuration + End Points length (MSB)
db 1 ;; Number of interfaces
db 1 ;; Interface number
db 0 ;; Configuration string
db 10000000b ;; Attributes (b7 - buspwr, b6 - selfpwr, b5 - rwu)
db 0FAH ;; Power requirement (div 2 ma)
ConfigDscrEnd:
IntrfcDscr:
db IntrfcDscrEnd-IntrfcDscr ;; Descriptor length
db DSCR_INTRFC ;; Descriptor type
db 0 ;; Zero-based index of this interface
db 0 ;; Alternate setting
db 2 ;; Number of end points
db 03H ;; Interface class (HID)
db 00H ;; Interface sub class
db 00H ;; Interface sub sub class
db 05H ;; Interface descriptor string index
IntrfcDscrEnd:
HIDDscr:
db 09h ;; length
db 21h ;; type: HID
dw 1001h ;; release: HID class rev 1.1
db 00h ;; country code (USA)
db 01h ;; number of HID class descriptors to follow
db 22h ;; report descriptor type (HID)
db (ReportDscrEnd-ReportDscr) ;; length of HID descriptor
db 00h
HIDDscrEnd:
Ep1InDscr:
db Ep1InDscrEnd-Ep1InDscr ;; Descriptor length
db DSCR_ENDPNT ;; Descriptor type
db 81H ;; Endpoint number, and direction
db ET_INT ;; Endpoint type
db 40H ;; Maximum packet size (LSB)
db 00H ;; Max packet size (MSB)
db 1 ;; Polling interval (ms)
Ep1InDscrEnd:
Ep2OutDscr:
db Ep2OutDscrEnd-Ep2OutDscr ;; Descriptor length
db DSCR_ENDPNT ;; Descriptor type
db 02H ;; Endpoint number, and direction
db ET_INT ;; Endpoint type
db 40H ;; Maximum packet size (LSB)
db 00H ;; Max packet size (MSB)
db 1 ;; Polling interval (ms)
Ep2OutDscrEnd:
ReportDscr:
db 06h, 0A0h, 0FFh ;; Usage Page (FFA0H = vendor defined)
db 09h, 01h ;; Usage (vendor defined)
db 0A1h, 01h ;; Collection (Application)
;; The input report
db 09h, 01h ;; Usage (vendor defined)
db 15h, 00h ;; Logical minimum (0)
db 25h, 0FFh ;; Logical maximum (255)
db 75h, 08h ;; Report size (8 bits)
db 95h, 40h ;; Report count (64 fields)
db 81h, 02h ;; Input (Data, variable, absolute)
;; The output report
db 09h, 02h ;; Usage (vendor defined)
db 75h, 08h ;; Report size (8 bits)
db 95h, 40h ;; Report count (64 fields)
db 91h, 02h ;; Output (Data, Variable, Absolute)
;; The feature report
db 09h, 03h ;; Usage Page (vendor defined)
db 75h, 08h ;; Report size (8 bits)
db 95h, 05h ;; Report count (5 fields)
db 0B1h, 02h ;; Output (Data, variable, absolute)
db 0C0h ;; End Collection
ReportDscrEnd:
StringDscr:
StringDscr0:
db StringDscr0End-StringDscr0 ;; String descriptor length
db DSCR_STRING
db 09H,04H
StringDscr0End:
StringDscr1:
db StringDscr1End-StringDscr1 ;; String descriptor length
db DSCR_STRING
db 'C',00
db 'y',00
db 'p',00
db 'r',00
db 'e',00
db 's',00
db 's',00
StringDscr1End:
StringDscr2:
db StringDscr2End-StringDscr2 ;; Descriptor length
db DSCR_STRING
db 'C',00
db 'y',00
db 'p',00
db 'r',00
db 'e',00
db 's',00
db 's',00
db ' ',00
db 'U',00
db 'S',00
db 'B',00
db '-',00
db 'S',00
db 'e',00
db 'r',00
db 'i',00
db 'a',00
db 'l',00
db ' ',00
db 'B',00
db 'r',00
db 'i',00
db 'd',00
db 'g',00
db 'e',00
StringDscr2End:
UserDscr:
dw 0000H
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -