📄 ax_enum.asm
字号:
$$IFN$ (EPATT14 == 1)
jnb FTXD2, F_EP2_RX
mov EPINDEX,#02
lcall Ep2TxLoopBack
jb RXFIF0, GetEp2RxData ; If data is pending in the FIFOs go get it.
jb RXFIF1, GetEp2RxData ; This is quicker than calling the routines.
ljmp F_EP2_RX ; Look at all Interrupt flags again
GetEp2RxData:
lCall Ep2RxLoopBack ; 82930 has received a packet from HC
$$END$
$$END$
$$END$
$$IF$ (BENCFG15 == 1)
$$IF$ (EPADDR15 == 130)
$$IFN$ (EPATT15 == 1)
jnb FTXD2, F_EP2_RX
mov EPINDEX,#02
lcall Ep2TxLoopBack
jb RXFIF0, GetEp2RxData ; If data is pending in the FIFOs go get it.
jb RXFIF1, GetEp2RxData ; This is quicker than calling the routines.
ljmp F_EP2_RX ; Look at all Interrupt flags again
GetEp2RxData:
lCall Ep2RxLoopBack ; 82930 has received a packet from HC
$$END$
$$END$
$$END$
$$IF$ (BENCFG16 == 1)
$$IF$ (EPADDR16 == 130)
$$IFN$ (EPATT16 == 1)
jnb FTXD2, F_EP2_RX
mov EPINDEX,#02
lcall Ep2TxLoopBack
jb RXFIF0, GetEp2RxData ; If data is pending in the FIFOs go get it.
jb RXFIF1, GetEp2RxData ; This is quicker than calling the routines.
ljmp F_EP2_RX ; Look at all Interrupt flags again
GetEp2RxData:
lCall Ep2RxLoopBack ; 82930 has received a packet from HC
$$END$
$$END$
$$END$
F_EP2_RX:
$$IF$ (BENCFG11 == 1)
$$IF$ (EPADDR11 == 2)
$$IFN$ (EPATT11 == 1)
jnb FRXD2, F_EP3_TX
mov EPINDEX,#02
lCall Ep2RxLoopBack ; 82930 has received a packet from HC
lcall Ep2TxLoopBack
$$END$
$$END$
$$END$
$$IF$ (BENCFG12 == 1)
$$IF$ (EPADDR12 == 2)
$$IFN$ (EPATT12 == 1)
jnb FRXD2, F_EP3_TX
mov EPINDEX,#02
lCall Ep2RxLoopBack ; 82930 has received a packet from HC
lcall Ep2TxLoopBack
$$END$
$$END$
$$END$
$$IF$ (BENCFG13 == 1)
$$IF$ (EPADDR13 == 2)
$$IFN$ (EPATT13 == 1)
jnb FRXD2, F_EP3_TX
mov EPINDEX,#02
lCall Ep2RxLoopBack ; 82930 has received a packet from HC
lcall Ep2TxLoopBack
$$END$
$$END$
$$END$
$$IF$ (BENCFG14 == 1)
$$IF$ (EPADDR14 == 2)
$$IFN$ (EPATT14 == 1)
jnb FRXD2, F_EP3_TX
mov EPINDEX,#02
lCall Ep2RxLoopBack ; 82930 has received a packet from HC
lcall Ep2TxLoopBack
$$END$
$$END$
$$END$
$$IF$ (BENCFG15 == 1)
$$IF$ (EPADDR15 == 2)
$$IFN$ (EPATT15 == 1)
jnb FRXD2, F_EP3_TX
mov EPINDEX,#02
lCall Ep2RxLoopBack ; 82930 has received a packet from HC
lcall Ep2TxLoopBack
$$END$
$$END$
$$END$
$$IF$ (BENCFG16 == 1)
$$IF$ (EPADDR16 == 2)
$$IFN$ (EPATT16 == 1)
jnb FRXD2, F_EP3_TX
mov EPINDEX,#02
lCall Ep2RxLoopBack ; 82930 has received a packet from HC
lcall Ep2TxLoopBack
$$END$
$$END$
$$END$
F_EP3_TX:
$$IF$ (BENCFG11 == 1)
$$IF$ (EPADDR11 == 131)
$$IFN$ (EPATT11 == 1)
jnb FTXD3, F_EP3_RX
mov EPINDEX,#03
lcall Ep3TxLoopBack
jb RXFIF0, GetEp3RxData ; If data is pending in the FIFOs go get it.
jb RXFIF1, GetEp3RxData ; This is quicker than calling the routines.
ljmp F_EP3_RX ; Look at all Interrupt flags again
GetEp3RxData:
lCall Ep3RxLoopBack ; 82930 has received a packet from HC
$$END$
$$END$
$$END$
$$IF$ (BENCFG12 == 1)
$$IF$ (EPADDR12 == 131)
$$IFN$ (EPATT12 == 1)
jnb FTXD3, F_EP3_RX
mov EPINDEX,#03
lcall Ep3TxLoopBack
jb RXFIF0, GetEp3RxData ; If data is pending in the FIFOs go get it.
jb RXFIF1, GetEp3RxData ; This is quicker than calling the routines.
ljmp F_EP3_RX ; Look at all Interrupt flags again
GetEp3RxData:
lCall Ep3RxLoopBack ; 82930 has received a packet from HC
$$END$
$$END$
$$END$
$$IF$ (BENCFG13 == 1)
$$IF$ (EPADDR13 == 131)
$$IFN$ (EPATT13 == 1)
jnb FTXD3, F_EP3_RX
mov EPINDEX,#03
lcall Ep3TxLoopBack
jb RXFIF0, GetEp3RxData ; If data is pending in the FIFOs go get it.
jb RXFIF1, GetEp3RxData ; This is quicker than calling the routines.
ljmp F_EP3_RX ; Look at all Interrupt flags again
GetEp3RxData:
lCall Ep3RxLoopBack ; 82930 has received a packet from HC
$$END$
$$END$
$$END$
$$IF$ (BENCFG14 == 1)
$$IF$ (EPADDR14 == 131)
$$IFN$ (EPATT14 == 1)
jnb FTXD3, F_EP3_RX
mov EPINDEX,#03
lcall Ep3TxLoopBack
jb RXFIF0, GetEp3RxData ; If data is pending in the FIFOs go get it.
jb RXFIF1, GetEp3RxData ; This is quicker than calling the routines.
ljmp F_EP3_RX ; Look at all Interrupt flags again
GetEp3RxData:
lCall Ep3RxLoopBack ; 82930 has received a packet from HC
$$END$
$$END$
$$END$
$$IF$ (BENCFG15 == 1)
$$IF$ (EPADDR15 == 131)
$$IFN$ (EPATT15 == 1)
jnb FTXD3, F_EP3_RX
mov EPINDEX,#03
lcall Ep3TxLoopBack
jb RXFIF0, GetEp3RxData ; If data is pending in the FIFOs go get it.
jb RXFIF1, GetEp3RxData ; This is quicker than calling the routines.
ljmp F_EP3_RX ; Look at all Interrupt flags again
GetEp3RxData:
lCall Ep3RxLoopBack ; 82930 has received a packet from HC
$$END$
$$END$
$$END$
$$IF$ (BENCFG16 == 1)
$$IF$ (EPADDR16 == 131)
$$IFN$ (EPATT16 == 1)
jnb FTXD3, F_EP3_RX
mov EPINDEX,#03
lcall Ep3TxLoopBack
jb RXFIF0, GetEp3RxData ; If data is pending in the FIFOs go get it.
jb RXFIF1, GetEp3RxData ; This is quicker than calling the routines.
ljmp F_EP3_RX ; Look at all Interrupt flags again
GetEp3RxData:
lCall Ep3RxLoopBack ; 82930 has received a packet from HC
$$END$
$$END$
$$END$
F_EP3_RX:
$$IF$ (BENCFG11 == 1)
$$IF$ (EPADDR11 == 3)
$$IFN$ (EPATT11 == 1)
jnb FRXD3, EXIT_FUNCTION_ISR
mov EPINDEX,#03
lCall Ep3RxLoopBack ; 82930 has received a packet from HC
lcall Ep3TxLoopBack
$$END$
$$END$
$$END$
$$IF$ (BENCFG12 == 1)
$$IF$ (EPADDR12 == 3)
$$IFN$ (EPATT12 == 1)
jnb FRXD3, EXIT_FUNCTION_ISR
mov EPINDEX,#03
lCall Ep3RxLoopBack ; 82930 has received a packet from HC
lcall Ep3TxLoopBack
$$END$
$$END$
$$END$
$$IF$ (BENCFG13 == 1)
$$IF$ (EPADDR13 == 3)
$$IFN$ (EPATT13 == 1)
jnb FRXD3, EXIT_FUNCTION_ISR
mov EPINDEX,#03
lCall Ep3RxLoopBack ; 82930 has received a packet from HC
lcall Ep3TxLoopBack
$$END$
$$END$
$$END$
$$IF$ (BENCFG14 == 1)
$$IF$ (EPADDR14 == 3)
$$IFN$ (EPATT14 == 1)
jnb FRXD3, EXIT_FUNCTION_ISR
mov EPINDEX,#03
lCall Ep3RxLoopBack ; 82930 has received a packet from HC
lcall Ep3TxLoopBack
$$END$
$$END$
$$END$
$$IF$ (BENCFG15 == 1)
$$IF$ (EPADDR15 == 3)
$$IFN$ (EPATT15 == 1)
jnb FRXD3, EXIT_FUNCTION_ISR
mov EPINDEX,#03
lCall Ep3RxLoopBack ; 82930 has received a packet from HC
lcall Ep3TxLoopBack
$$END$
$$END$
$$END$
$$IF$ (BENCFG16 == 1)
$$IF$ (EPADDR16 == 3)
$$IFN$ (EPATT16 == 1)
jnb FRXD3, EXIT_FUNCTION_ISR
mov EPINDEX,#03
lCall Ep3RxLoopBack ; 82930 has received a packet from HC
lcall Ep3TxLoopBack
$$END$
$$END$
$$END$
mov A, FIFLG ; Check to see if any other Interrupts are pending.
jz EXIT_FUNCTION_ISR
ljmp ProcessFunctionEndpoints ; Look at all Interrupt flags again
mov A, FIFLG ; Check to see if any other Interrupts are pending.
jz EXIT_FUNCTION_ISR
ljmp ProcessFunctionEndpoints ; Look at all Interrupt flags again
;F_EP2_TX:
; jnb FTXD2, F_EP3_TX
; mov EPINDEX,#02
; lCall EP2_TX_ISR ; 82930 has sent a packet to HC
; jmp ProcessFunctionEndpoints ; Look at all Interrupt flags again
;F_EP3_TX:
; jnb FTXD3, EXIT_FUNCTION_ISR
; mov EPINDEX,#03
; lCall EP3_TX_ISR ; 82930 has sent a packet to HC
; jmp ProcessFunctionEndpoints ; Look at all Interrupt flags again
EXIT_FUNCTION_ISR:
pop EPINDEX
pop B
pop ACC
pop PSW1
pop PSW
reti
$$IF$ (EPATT11 == 1) || (EPATT12 == 1) || (EPATT13 == 1) || (EPATT14 == 1) || (EPATT15 == 1) || (EPATT16 == 1)
;----------------------------------------------------------------
;SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
;SS SOF ISR
;SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
;----------------------------------------------------------------
;COMMENT *------------------------------------------------------------
;Function name : SOF_ISR
;Brief Description : Service the SOF_ISR Interrupt
; : This routine simply displays the upper three bytes of the
; : SOF in the lower three bits of the LEDs on P1.
; : It does not affect the other LEDS. Very usefull
; : in determining when the function is receiveing SOFs
;Regs preserved : Reg. A is saved
;--------------------------------------------------------------------*
SOF_ISR:
SOF_ISR1:
push PSW
push PSW1
push ACC
jnb ASOF, ExitSofIsr ; If this ASOF bit not set, the ISR could be a HUB. Go Check.
SofIsocIsr:
;-----------------------------------------------------
; Update LEDs for the Heartbeat
;-----------------------------------------------------
clr ASOF
mov A, P1 ; Mask off lower three bits
anl A, #0f8h
mov P1, A
mov A, SOFH ; Put upper 3 bits of SOF in low 3 bits of P1
anl A, #07h
orl P1, A
ExitSofIsr:
pop ACC
pop PSW1
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -