📄 usb.inc
字号:
;;*****************************************************************************
;;*****************************************************************************
;; FILENAME: USB.inc
;; Version: 1.0, Updated on 2005/04/20 at 22:16:14
;; Generated by PSoC Designer ver 4.2 b1013 : 02 September, 2004
;;
;; DESCRIPTION: Assembler declarations for the USB user module interface
;; for the CY8C24090 family of devices
;; This file also contains assembler declarations for the
;; Human Interface Device (HID) Class support.
;;-----------------------------------------------------------------------------
;; Copyright (c) Cypress Semiconductor 2005. All Rights Reserved.
;;*****************************************************************************
;;*****************************************************************************
;--------------------------------------------------
; Constants for interrupt regs and masks
;--------------------------------------------------
USB_INT_REG: equ 0xDF
USB_INT_RESET_MASK: equ 0x01
USB_INT_SOF_MASK: equ 0x02
USB_INT_EP0_MASK: equ 0x04
USB_INT_EP1_MASK: equ 0x08
USB_INT_EP2_MASK: equ 0x10
USB_INT_EP3_MASK: equ 0x20
USB_INT_EP4_MASK: equ 0x40
USB_INT_WAKUP_MASK: equ 0x80
;--------------------------------------------------
; Constants for USB API's.
;--------------------------------------------------
USB_bNumStringDescrs: EQU 0x3
USB_NUM_ENDPOINTS: EQU 5
USB_MAX_EP_NUMBER: EQU (USB_NUM_ENDPOINTS - 1)
;--------------------------------------------------
; Registers for USB API's.
;--------------------------------------------------
USB_ADDR: EQU 0x4a
USB_USBIO_CR0: EQU 0x4b
USB_USBIO_CR1: EQU 0x4c
USB_USB_CR1: EQU 0xc1
USB_EP0MODE: EQU 0x56
USB_EP0CNT: EQU 0x57
USB_EP0DATA: EQU 0x58
USB_EP1MODE: EQU 0xc4
USB_EP1CNT0: EQU 0x4f
USB_EP1CNT1: EQU 0x4e
USB_EP2MODE: EQU 0xc5
USB_EP2CNT0: EQU 0x51
USB_EP2CNT1: EQU 0x50
USB_EP3MODE: EQU 0xc6
USB_EP3CNT0: EQU 0x53
USB_EP3CNT1: EQU 0x52
USB_EP4MODE: EQU 0xc7
USB_EP4CNT0: EQU 0x55
USB_EP4CNT1: EQU 0x54
;--------------------------------------------------
; Endpoint 0 offsets (Table 9-2)
;--------------------------------------------------
bmRequestType: EQU 0
bRequest: EQU 1
wValue: EQU 2
wValueHi: EQU 3
wValueLo: EQU 2
wIndex: EQU 4
wIndexHi: EQU 5
wIndexLo: EQU 4
wLength: EQU 6
wLengthHi: EQU 7
wLengthLo: EQU 6
;--------------------------------------------------
; Request Types (Table 9-4)
;--------------------------------------------------
USB_GET_STATUS: EQU 0x00
USB_CLEAR_FEATURE: EQU 0x01
USB_SET_FEATURE: EQU 0x03
USB_SET_ADDRESS: EQU 0x05
USB_GET_DESCRIPTOR: EQU 0x06
USB_SET_DESCRIPTOR: EQU 0x07
USB_GET_CONFIGURATION: EQU 0x08
SUSB_ET_CONFIGURATION: EQU 0x09
USB_GET_INTERFACE: EQU 0x0A
USB_SET_INTERFACE: EQU 0x0B
USB_SYNCH_FRAME: EQU 0x0C
;--------------------------------------------------
; Descriptor Types (Table 9-5)
;--------------------------------------------------
DESCR_TYPE_DEVICE: EQU 1
DESCR_TYPE_CONFIG: EQU 2
DESCR_TYPE_STRING: EQU 3
DESCR_TYPE_INTERFACE: EQU 4
DESCR_TYPE_ENDPOINT: EQU 5
DESCR_TYPE_DEVICE_QUALIFIER: EQU 6
DESCR_TYPE_OTHER_SPEED: EQU 7
DESCR_TYPE_INTERFACE_POWER: EQU 8
;--------------------------------------------------
; Feature Selectors (Table 9-6)
;--------------------------------------------------
USB_DEVICE_REMOTE_WAKEUP: EQU 0x01
USB_ENDPOINT_HALT: EQU 0x00
USB_TEST_MODE: EQU 0x02
;--------------------------------------------------
; USB Device Status (Figure 9-4)
;--------------------------------------------------
USB_DEVICE_STATUS_BUS_POWERED: EQU 0x00
USB_DEVICE_STATUS_SELF_POWERED: EQU 0x01
USB_DEVICE_STATUS_REMOTE_WAKEUP: EQU 0x02
;--------------------------------------------------
; USB Endpoint Status (Figure 9-4)
;--------------------------------------------------
USB_ENDPOINT_STATUS_HALT: EQU 0x01
;--------------------------------------------------
; USB Endpoint Directions
;--------------------------------------------------
USB_DIR_IN: EQU 0x80
USB_DIR_OUT: EQU 0x00
USB_DIR_UNUSED: EQU 0x7F
;--------------------------------------------------
; USB Endpoint Address Symbols
;--------------------------------------------------
EP0: EQU 0x00
EP1: EQU 0x01
EP2: EQU 0x02
EP3: EQU 0x03
EP4: EQU 0x04
;--------------------------------------------------
; Control Endpoint States--These act as JACC jump values
;--------------------------------------------------
USB_TRANS_STATE_IDLE: EQU 0x00 ;
USB_TRANS_STATE_CONTROL_READ: EQU 0x02 ;
USB_TRANS_STATE_CONTROL_WRITE: EQU 0x04 ;
USB_TRANS_STATE_NO_DATA_CONTROL: EQU 0x06 ;
;--------------------------------------------------
; Control Write flag values to indicate pending data changes
;--------------------------------------------------
USB_ADDRESS_CHANGE_PENDING: EQU 0x01
;--------------------------------------------------
; Register Constants for USB
;--------------------------------------------------
USB_ADDR_ENABLE: EQU 0x80
USB_CNT_VALID: EQU 0x40
USB_CNT_TOGGLE: EQU 0x80
USB_PULLUP_ENABLE: EQU 0x04
USB_AUTO_DPDM: EQU 0x00
USB_REG_ENABLE: EQU 0x03
USB_PASS_THRU: EQU 0x02
USB_BUS_ACTIVITY: EQU 0x04
USB_MODE_DISABLE: EQU 0x00
USB_MODE_NAK_IN_OUT: EQU 0x01
USB_MODE_STATUS_OUT_ONLY: EQU 0x02
USB_MODE_STALL_IN_OUT: EQU 0x03
USB_MODE_RESERVED_0100: EQU 0x04
USB_MODE_ISO_OUT: EQU 0x05
USB_MODE_STATUS_IN_ONLY: EQU 0x06
USB_MODE_ISO_IN: EQU 0x07
USB_MODE_NAK_OUT: EQU 0x08
USB_MODE_ACK_OUT: EQU 0x09
USB_MODE_RESERVED_1010: EQU 0x0A
USB_MODE_ACK_OUT_STATUS_IN: EQU 0x0B
USB_MODE_NAK_IN: EQU 0x0C
USB_MODE_ACK_IN: EQU 0x0D
USB_MODE_RESERVED_1110: EQU 0x0E
USB_MODE_ACK_IN_STATUS_OUT: EQU 0x0F
USB_MODE_STALL_DATA_EP: EQU 0x80
;--------------------------------------------------
; LoadInEP Count Toggle (Argument values)
;--------------------------------------------------
USB_NO_TOGGLE: EQU 0x00
USB_TOGGLE: EQU 0x01
;--------------------------------------------------
; FORCE J/K/SE0 (Argument values)
;--------------------------------------------------
USB_FORCE_J: EQU 0xA0
USB_FORCE_K: EQU 0x80
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -