English
Language : 

SP2-433-160 Datasheet, PDF (21/27 Pages) Radiometrix Ltd – UHF SpacePort Transceiver
;SUBROUTINE IN_BYTE
;
;IN_BYTE READ A BYTE FROM THE SP2 INTO FILE POINTED TO BY FSR
;
W IS DESTROYED
;
;
NOTE THIS ROUTINE WILL HANG THE HOST UNTIL THE HOST
;
COMPLETES THE TRANSFER OF TWO NIBBLES
;
;
THIS SUBROUTINE CAN BE CONFIGURES TO RUN AS PART OF
ANINTERRUPT HANDLER IF THE :RXR LINE FROM THE SP2
:
IS USED TO TRIGGER A HOST INTERRUPT
;
;
IN_BYTE
BTFSC SP2,RXR
;WE GOT A RX REQUEST YET?
GOTO IN-BYTE
;NO , SO LOOP BACK AND WAIT
;
;
READ THE LS NIBBLE FROM THE SP2
;
BCF SP2,RXA
;ACCEPT THE REQUEST (SET ACCEPT LOW)
;
AWAITDATA BTFSS SP2,RXR
;HAS REQUEST GONE UP? data is present
GOTO AWAITDATA ;LOOP BACK TILL IT DOES
;
NOP
;TIME DELAY TO ENSURE DATA STABLE
;
;BEFORE READ
;
MOVF SP2,W
;READ THE LS NIBBLE FROM THE BUS
BSF SP2,RXA
;TELL SP2 WE GOT NIBBLE (ACCEPT = 1)
ANDLW B'11110000' ;JUST THE DATA
;
MOVWF INDF
;SAVE LS NIBBLE IN TARGET FILE (VIA
;
;FSR)
SWAPF INDF
;RIGHT JUSTIFY LS NIBBLE
;
;
NOW GET MS NIBBLE FROM THE SP2
;
;
INNIBBLE BTFSC SP2,RXR
;WE GOT NEXT RX REQUEST YET ?
GOTO INNIBBLE ;NO , SO LOOP BACK AND WAIT
;
BCF SP2,RXA
;ACCEPT REQUEST (SET ACCEPT LOW)
;
AWAITD1
BTFSS SP2,RXR
;HAS REQUEST GONE UP? data is present
GOTO AWAITD1
;LOOP BACK TILL IT DOES
;
NOP
;TIME DELAY TO ENSURE DATA STABLE
;
;BEFORE READ
;
MOVF SP2,W
;READ THE MS NIBBLE FROM THE BUS
BSF SP2,RXA
;TELL SP2 WE GOT NIBBLE (ACCEPT=1)
ANDLW B'11110000' ;JUST THE DATA
;
IORWF INDF
;COMBINE MS NIBBLE WITH LS NIBBLE
;ALREADY
;
;IN THE FILE (VIA FSR)RETURN
;
; A BYTE HAS BEEN READ FROM THE SP2 INTO ADDRESS POINTED AT BY FSR
;
;--------------------------------------------------------------------
;
Radiometrix Ltd, SP2 data sheet
page 21