spi-ablauf mit daten

Gast #681778
Lesenswert?
• ▲
▼
beispiel:

SPI_SENDEN:
; MASTER SS auf LOW
  cbi PORTB, 2
; Start transmission of data
  out SPDR,temp
; Wait for transmission complete
SPI_SENDEN_w:
  sbis SPSR,SPIF
  rjmp SPI_SENDEN_w
; MASTER SS auf HIGH
  sbi PORTB, 2
ret

"MASTER SS auf LOW", wenn dieser befehl kommt, wird der slave dann 
automatisch durch diesen befehl die daten empfangen? oder muss ich als 
anwender immer im slave abfragen ob ss auf slow ist und dann den 
datentransfer anschmeissen?

"MASTER SS auf HIGH", muss ich als anwender im slave den ss auf high 
setzen oder macht das auch wieder beim empfang im slave der chip selber 
?

ich habe einen atmega32.
Gast #681799
Lesenswert?
• ▲
▼
Der SS wird ueblicherweise gebraucht um die Peripherie zu selektieren. 
SS ist beim Master ein Ausgang. Nichts geschieht von selbst. Schau dir 
mal ein Datenblatt eines SPI Chips (ADC oder dergl.) an.
Gast #681816
Lesenswert?
• ▲
▼
Hi

Normalerweise brauchst du das SS-Pin bei nur einem Slave überhaupt 
nicht.
Es existiert jedoch eine kleine Falle. Wenn beim Master das SS-Pin als 
Eingang konfigutriert ist, und auf Low gelegt wird, wird der Mastermode 
abgeschaltet.
Im Datenblatt ist übrigens ein C-Beispiel.

MfG Spess

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren