?? usb_lib.asm
字號:
;;Established date: 2005/09/01
;;********************************************************************
SBR_FIFO0_RD_Check:
MOV A,00000000B
JMP L_FIFO_Check
;;********************************************************************
SBR_FIFO0_WR_Check:
MOV A,00000010B
JMP L_FIFO_Check
;;********************************************************************
SBR_FIFO1_WR_Check:
MOV A,00001010B
; JMP L_FIFO_Check
;;--------------------------------------------------------------------
L_FIFO_Check:
MOV R_temp1,A
MOV A,C_MISC
MOV MP1,A
MOV A,R1
AND A,11100000B
OR A,R_Temp1
MOV R1,A
SET R1.@USB_REQ
CALL SBR_Delay2us
SET Z
SNZ R1.@Ready
CLR Z
RET
;;********************************************************************
;;Read data from fifo to data buffer.
SBR_ReadFIFO0:
MOV A,C_FIFO0Address
JMP L_ReadFIFO
;;********************************************************************
;SBR_ReadFIFO1: ;;The endpoint 1 is interrupt in input, so no read operation.
; MOV A,C_FIFO1Address
; JMP L_ReadFIFO
;;--------------------------------------------------------------------
L_ReadFIFO:
MOV R_FIFOAddress,A
CLR R_DataPacketLength
MOV A, OFFSET R_FIFOBAK0
MOV MP0,A
L_ReadFIFOLoop:
MOV A,R_FIFOAddress
MOV MP1,A
MOV A,R1
MOV R0,A
INC R_DataPacketLength
INC MP0
MOV A,C_FIFOSize
XOR A,R_DataPacketLength
SZ Z
JMP L_ExitprocessFIFO
MOV A,C_MISC
MOV MP1,A
CALL SBR_Delay2us
SZ R1.@Ready
JMP L_ReadFIFOLoop
JMP L_ExitProcessFIFO
;;********************************************************************
;;Write data from data buffer to fifo.
SBR_WriteFIFO0:
MOV A,C_FIFO0Address
JMP L_WriteFIFO
;;********************************************************************
SBR_WriteFIFO1:
MOV A,C_FIFO1Address
; JMP L_WriteFIFO
;;--------------------------------------------------------------------
L_WriteFIFO:
MOV R_FIFOAddress,A
MOV A,OFFSET R_FIFOBAK0
MOV MP0,A
L_WriteFIFOLoop:
SZ R_DataPacketLength
JMP L_WriteFIFOTag
JMP L_ExitProcessFIFO
L_WriteFIFOTag:
MOV A,R_FIFOAddress
MOV MP1,A
MOV A,R0
MOV R1,A
DEC R_DataPacketLength
INC MP0
MOV A,C_MISC
MOV MP1,A
CALL SBR_Delay2us
SZ R1.@Ready
JMP L_WriteFIFOLoop
JMP L_ExitProcessFIFO
;;--------------------------------------------------------------------
SBR_Write_0_Packet:
L_ExitProcessFIFO:
MOV A,C_MISC
MOV MP1,A
MOV A,00000010B
XORM A,R1
; CALL SBR_Delay2us
NOP
NOP
NOP
NOP
CLR R1.@USB_Req
RET
;;********************************************************************
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -