SPI - ATmegas

Gast #1011063
Lesenswert?

Hallo,

wie klappt eigentlich die SPI-Übertragung mit einem ATmega? Muss ich mir 
da einfach einen Port aussuchen und dann das ganze mit z.B. PC1 PC2 und 
PC3 verbinden?
Hat vielleicht jemand auch ein Codebeispiel in Assembler?

Und noch 'ne Frage aus Interesse. Ist am PC die Kommunikation zwischen 
CD-Laufwerk und Mainboard auch per SPI geregelt? Weil da ja auch von 
Master und Slave die Rede ist.
Gast #1011088
Lesenswert?

Master/Slave gibt es nicht nur beim SPI-Bus.
Das besagt lediglich, dass ein oder mehrere Busteilnehmer den Master 
spielen, und die anderen zu gehorchen haben. So kommt es nicht zu 
Konflikten auf dem Bus, da immer geregelt ist, wer wohin wann was 
sendet/empfängt.

Beim PC ist die Kommunikation zwischen Prozzi und Peripherie 
(Festplatte, Floppy, CD) heutzutage meist mit einem seriellen Bus 
geregelt (SATA). Früher war das ein paralleler Bus.

Und wies beim AVR klappt steht im Datenblatt. Wenn du die 
Hardwareimplementation des SPI-Interface nutzen willst, sind die zu 
verwendenden Pins fest vorgegeben und fest mit einer Funktion belegt. 
Implementierst du die Schnittstelle zum Bus in Software, kannst du 
dijenigen Pins belegen, die du willst.
#1011126
Lesenswert?

spi am atmega geht nicht über irgendwelche pins....

sie sind fix vordefiniert... und man wird natürlich im datenblatt fündig 
;) di relevanten pins sind:

miso -> master in slave out
mois -> master out slave in
sck -> clock

Du musst natürlich im spi register entsprechend defnieren ob dein avr 
als master oder slave arbeiten soll, und wie schnell die übertragung 
sein soll (= frequenz von clock)

lg

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