jo hier allerdings musste es anpassen unten ist noch nen Beispiel zum senden.
Code:
; PORTC
banksel TRISC ; auf Bank 1 umschalten
movlw B'00010000' ; PortC I/O setzen (1=In, 0=Out) (Reinfolge RC7,RC6...)
movwf TRISC ; PortC I/O setzen
clrf PORTC ; PortC auf 0 setzen
; SPI
movlw B'01000000' ; Mitlere Geschwindigkeit Output Time
movwf SSPSTAT
banksel SSPCON
movlw B'00110010' ; MODE 1,1, SPI MASTER, 1/16 Tosc SSP ON
movwf SSPCON
banksel PORTC
bsf SPI_CS ; SPI Slave Select aus (high)
Code:
SPI_Send
banksel SSPBUF
bcf SPI_CS ; Chip Select an (Low)
movf SPI_DATA_WRITE, W
movwf SSPBUF
banksel SSPSTAT
SPI_Wait
btfss SSPSTAT, BF ; Ist das Senden Komplet ?
goto SPI_Wait ; Wen nicht gehe zu SPIWait
bsf SPI_CS ; Chip Select aus (High)
return
SPI_Read
bcf SPI_CS
banksel SSPBUF
movf SSPBUF, W
movwf SPI_DATA_READ
bsf SPI_CS
return
Lesezeichen