Forum: Mikrocontroller und Digitale Elektronik spi-ablauf mit daten


von roboterheld (Gast)


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.

von 2919 (Gast)


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.

von Spess53 (Gast)


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

von 2919 (Gast)


Lesenswert?

Sehr oft wird bei der Peripherie der SS gebraucht um die reingeclockten 
Daten zu uebernehmen. Wie bei einem Schieberegister mit Ausgangslatch.

von Spess53 (Gast)


Lesenswert?

Hi

Dass SS-Pin ist im Mastermode 'user defined'. Für Datenübergabe kann man 
es benutzten. Es geht aber auch jedes andere Portpin.

MfG Spess

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.