📄 ram.h
字号:
;========================================
;
; Ram
;
;========================================
suspend_count: equ 20h ; counter for suspend/resume
ep1_data_toggle: equ 21h ; data toggle for INs on endpoint one
ep0_data_toggle: equ 22h ; data toggle for INs on endpoint zero
data_start: equ 23h ; address of request response data, as an offset
data_count: equ 24h ; number of bytes to send back to the host
maximum_data_count: equ 25h ; request response size
data_pending_flag: equ 26h
configuration: equ 27h
ep1_stall: equ 28h
idle: equ 29h
protocol: equ 2Ah
ep0_count_tmp: equ 2Bh ; temporary register
pending_data: equ 2Ch
int_temp: equ 2Dh
idle_timer: equ 2Eh
idle_prescaler: equ 2Fh
ep0_transtype: equ 30h
data_byte_0: equ 31h
data_byte_1: equ 32h
new_task: equ 33h
task_number: equ 34h
Dpad_debounce: equ 35h
new_y: equ 37h
new_x: equ 38h
old_x: equ 39h
old_y: equ 3Ah
old_buttons: equ 3Ch
;========================================
;
; Application Specific aliases
;
;========================================
Button_Port: equ Port0
Dpad_Port: equ Port1
DPAD_BITS: equ 0fh
Y_BITS: equ 03h
BUTTON_BITS: equ ffh
EP1_REPORT_LENGTH: equ 03h
; STATE MACHINE CONSTANTS
;EP0 IN TRANSACTIONS
EP0_IN_IDLE: equ 00h
CONTROL_READ_DATA: equ 02h
NO_DATA_STATUS: equ 04h
EP0_IN_STALL: equ 06h
;******* FLAG CONSTANTS
NO_CHANGE_PENDING: equ 00h
ADDRESS_CHANGE_PENDING: equ 01h
; RESPONSE SIZES
DEVICE_STATUS_LENGTH: equ 2
DEVICE_CONFIG_LENGTH: equ 1
ENDPOINT_STALL_LENGTH: equ 2
INTERFACE_STATUS_LENGTH: equ 2
INTERFACE_ALTERNATE_LENGTH: equ 1
INTERFACE_PROTOCOL_LENGTH: equ 1
;***** TRANSACTION TYPES
DONE_TRANSACTION: equ 00h
CONTROL_READ_TRANSACTION: equ 02h
CONTROL_WRITE_TRANSACTION: equ 04h
NO_DATA_CONTROL_TRANSACTION: equ 06h
;**********************************************************
; USB Descriptor and Request constants
; source p172,,175 USB specification
;**********************************************************
; Characterists of bmRequest Value
;
; D7 Data transfer direction
; 0 = Host to device
; 1 = Device to host
;
; D6..5 Type
; 0 = Standard
; 1 = Class
; 2 = Vendor
; 3 = Reserved
;
; D4..0 Recipient
; 0 = Device
; 1 = Interface
; 2 = Endpoint
; 3 = Other
; 4..31 = Reserved
;***** bmRequestType
HOSTTODEVICE: equ 00h
DEVICETOHOST: equ 80h
STANDARD_TYPE: equ 00h
CLASS_TYPE: equ 20h
VENDOR_TYPE: equ 40h
RESERVED_TYPE: equ 60h
DEVICE_RECIPIENT: equ 00h
INTERFACE_RECIPIENT: equ 01h
ENDPOINT_RECIPIENT: equ 02h
OTHER_RECIPIENT: equ 03h
;***** bRequest
GET_STATUS: equ 00h
CLEAR_FEATURE: equ 01h
SET_FEATURE: equ 03h
SET_ADDRESS: equ 05h
GET_DESCRIPTOR: equ 06h
SET_DESCRIPTOR: equ 07h
GET_CONFIGURATION: equ 08h
SET_CONFIGURATION: equ 09h
GET_INTERFACE: equ 0Ah
SET_INTERFACE: equ 0Bh
SYNCH_FRAME: equ 0Ch
;***** Descriptor Types
DEVICE: equ 01h
CONFIGURATION: equ 02h
STRING: equ 03h
INTERFACE: equ 04h
ENDPOINT: equ 05h
;***** Feature Selectors
DEVICE_REMOTE_WAKEUP: equ 01h
ENDPOINT_STALL: equ 00h
;***** HID Class Request Types
GET_REPORT: equ 01h
GET_IDLE: equ 02h
GET_PROTOCOL: equ 03h
SET_REPORT: equ 09h
SET_IDLE: equ 0Ah
SET_PROTOCOL: equ 0Bh
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -