?? et44_usb_macro.inc
字號(hào):
// ====================================================================================
// Macro program (USB Library v1.3)
//
// ====================================================================================
;1 USB REGISTER ACCESS DELAY TIMEING
N_NOP MACRO
CALL N_NOP_DELAY
ENDM
;2 USB INITIAL SUB (USB ENABLE/BANK 1/IAP0 AUTO+1/FLAG SETTING/USB INT ENABLE/SPPED SELECT/PLUG IN)
_ADD_USB_INITIAL_SUB MACRO
CALL USB_INITIAL
ENDM
_ADD_USB_INITIAL_WORK_SUB MACRO
ENDM
;3 USB BUS RESET INT SUB (DEFAULT THE DEVICE WORK)
_ADD_USB_BUS_RESET_SUB MACRO
BC M_CON_FLAG,MUSB_OK
ENDM
;4 USB IDLE INT SUB (PREPARE GO TO USB SUSPEND)
_ADD_USB_IDLE_INT_SUB MACRO
BS M_CON_FLAG,MK_IDLE
ENDM
;5 USB HUB DOWNSTREAM PORT WAKE-UP INT FROM SUSPEND
_ADD_USB_WAKEUP_INT_SUB MACRO
ENDM
;6 USB HOST RESUME INT
_ADD_USB_RESUME_INT_SUB MACRO
BS M_CON_FLAG,MK_WUP
BS M_CON_FLAG,MK_R
ENDM
;7 USB SOF INT (FOR COUNT TIMEING :1ms)
_ADD_USB_SOF_INT_SUB MACRO
BS M_CON_FLAG,MSOF_T
ENDM
;8 USB EP1 INT (EP1 DATA MANAGEMENT)
_ADD_USB_EP1_SUB MACRO
ENDM
;8.1 USB EP1 WORK MACRO (EP1 OUT/IN DATA MANAGEMENT IN MAIN LOOP)
_ADD_USB_EP1_WORK_SUB MACRO
CALL _ADD_USB_EP1_WORK_CALL
ENDM
;9 USB EP2 INT (EP2 DATA MANAGEMENT)
_ADD_USB_EP2_SUB MACRO
ENDM
;9.1 USB EP2 WORK SUB (EP2 OUT/IN DATA MANAGEMENT IN MAIN LOOP)
_ADD_USB_EP2_WORK_SUB MACRO
ENDM
;10 USB EP3 INT (EP3 DATA MANAGEMENT)
_ADD_USB_EP3_SUB MACRO
ENDM
//10.1 USB EP3 WORK SUB (EP3 OUT/IN DATA MANAGEMENT IN MAIN LOOP)
_ADD_USB_EP3_WORK_SUB MACRO
ENDM
;11 USB EXPAND bmRequestType COMMAND
_ADD_USB_bmRequestType MACRO
ENDM
;12 USB EXPAND Request COMMAND
;12.1
_ADD_USB_RT0X00_Request MACRO
ENDM
;12.2
_ADD_USB_RT0X01_Request MACRO
ENDM
;12.3
_ADD_USB_RT0X02_Request MACRO
ENDM
;12.4
_ADD_USB_RT0X80_Request MACRO
ENDM
;12.5
_ADD_USB_RT0X81_Request MACRO
ENDM
;12.6
_ADD_USB_RT0X82_Request MACRO
ENDM
;12.7
_ADD_USB_RT0X20_Request MACRO
ENDM
;12.8
_ADD_USB_RT0X21_Request MACRO
ENDM
;12.9
_ADD_USB_RT0X23_Request MACRO
ENDM
;12.10
_ADD_USB_RT0XA0_Request MACRO
ENDM
;12.11
_ADD_USB_RT0XA1_Request MACRO
ENDM
;23
_ADD_USB_RT0XA3_Request MACRO
ENDM
;24
_ADD_USB_DEVICE_CONFIG_OK MACRO
BS M_CON_FLAG,MUSB_OK
ENDM
;25
_ADD_USB_SET_REPORT_SUB MACRO
ENDM
;26
_ADD_USB_GET_REPORT_SUB MACRO
MOV A,#0x03
MOV EP0TXCTR,A
N_NOP
MOV A,MK_STATE
MOV EP0TXDAR,A
MOV A,MX_STATE
MOV EP0TXDAR,A
MOV A,MY_STATE
MOV EP0TXDAR,A
ENDM
;27
_ADD_USB_GET_REPORT_EXP_SUB MACRO
ENDM
;28
_ADD_USB_STRING_INDEX_HM MACRO
MOV A,#High(String_index_HManufacture_table<<1)
MOV TBHPTR,A
MOV A,#Low(String_index_HManufacture_table<<1)
MOV TBLPTR,A
JMP F_TABLE_READ
ENDM
;29
_ADD_USB_STRING_INDEX_HP MACRO
MOV A,#High(String_index_HProduct_table<<1)
MOV TBHPTR,A
MOV A,#Low(String_index_HProduct_table<<1)
MOV TBLPTR,A
JMP F_TABLE_READ
ENDM
;30
_ADD_USB_STRING_INDEX_HS MACRO
ENDM
;31
_ADD_USB_STRING_INDEX_HC MACRO
ENDM
;32
_ADD_USB_STRING_INDEX_HI MACRO
ENDM
;33
_ADD_USB_STRING_INDEX_DM MACRO
ENDM
;34
_ADD_USB_STRING_INDEX_DP MACRO
ENDM
;35
_ADD_USB_STRING_INDEX_DS MACRO
ENDM
;36
_ADD_USB_STRING_INDEX_DC MACRO
ENDM
;37
_ADD_USB_STRING_INDEX_DI MACRO
ENDM
;38
_ADD_USB_HID_DESCRIPTION_SUB MACRO
if _USB_HID == _ENABLE
MOV A,#High(Descriptor_type_21_index_0_0_table<<1)
MOV TBHPTR,A
MOV A,#Low(Descriptor_type_21_index_0_0_table<<1)
MOV TBLPTR,A
//table length
JMP F_TABLE_READ
endif
ENDM
_ADD_USB_HID_DESCRIPTION_SUB1 MACRO
if _USB_CD_bNumInterface == 2
MOV A,#High(Descriptor_type_21_index_0_1_table<<1)
MOV TBHPTR,A
MOV A,#Low(Descriptor_type_21_index_0_1_table<<1)
MOV TBLPTR,A
//table length
JMP F_TABLE_READ
endif
ENDM
;39
_ADD_USB_HID_REPORT_SUB1 MACRO
if _USB_HID == _ENABLE
MOV A,#High(Descriptor_type_22_index_0_0_table<<1)
MOV TBHPTR,A
MOV A,#Low(Descriptor_type_22_index_0_0_table<<1)
MOV TBLPTR,A
//table length
MOV A,#_USB_HID_wDescriptorLength_0_0
MOV TBLL,A
JMP F_TABLE_READ_1
endif
ENDM
;40
_ADD_USB_HID_REPORT_SUB2 MACRO
if _USB_CD_bNumInterface == 2
MOV A,#High(Descriptor_type_22_index_0_1_table<<1)
MOV TBHPTR,A
MOV A,#Low(Descriptor_type_22_index_0_1_table<<1)
MOV TBLPTR,A
//table length
MOV A,#_USB_HID_wDescriptorLength_0_1
MOV TBLL,A
JMP F_TABLE_READ_1
endif
ENDM
;41
_ADD_USB_HID_PHYSCIAL_SUB MACRO
ENDM
// **********************************************
// Macro Sub N_NOP
// **********************************************
N_NOP_DELAY:
if _USB_LOW_SPEED == _DISABLE
NOP
RET
else
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
RET
endif
_ADD_USB_EP1_WORK_CALL:
JBS EP1CSR,SESTALL,_ADD_USB_EP1_WORK_CALL_END
JBS EP1CSR,RXTXEN,_ADD_USB_EP1_WORK_CALL_END
MOV A,#0x03
MOV EP1CTR,A
N_NOP
MOV A,MK_STATE
MOV EP1DAR,A
MOV A,MX_STATE
MOV EP1DAR,A
MOV A,MY_STATE
MOV EP1DAR,A
BS EP1CSR,RXTXEN
N_NOP
_ADD_USB_EP1_WORK_CALL_END:
RET
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -