diff options
Diffstat (limited to 'bootloader/com-16f887-spi.inc')
-rw-r--r-- | bootloader/com-16f887-spi.inc | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/bootloader/com-16f887-spi.inc b/bootloader/com-16f887-spi.inc index 7f501cf..e4b8d2a 100644 --- a/bootloader/com-16f887-spi.inc +++ b/bootloader/com-16f887-spi.inc @@ -20,10 +20,20 @@ ;; along with spreadspace pic utils. If not, see <http://www.gnu.org/licenses/>. ;; +#define INTPIN PORTA,4 + ;; --- transmit byte and add it to csum com_tx_byte - ;; TODO add write + movwf SSPBUF + bcf INTPIN xorwf csum,f + bsf STATUS,RP0 +com_tx_byte_wait + btfss SSPSTAT,BF + goto com_tx_byte_wait + bcf STATUS,RP0 + movf SSPBUF,w + bsf INTPIN return ;; ---- wait for byte to be received @@ -57,8 +67,10 @@ com_init movlw b'01000000' ; SMP=0,CKE=1 movwf SSPSTAT bcf TRISC,5 ; RC5(SDO) = out - + bcf INTPIN ; interrupt line to master + ;; bank 0 bcf STATUS,RP0 movlw b'00100100' ; SSPEN=1,CKP=0,SSPM=0100(SPI Slave with SS) movwf SSPCON + bsf INTPIN |