⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 et44_usb_macro.inc

📁 標準&#63748 鼠應用程式, 其中包含: X, Y座標輸入 &#1048715 固定時間輸出X,Y座標值給主機. 按鍵輸入 &#1048715 固定時間輸出按鍵值給主機.
💻 INC
字号:
// ====================================================================================
// 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

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -