SPI - ATmegas

Gast #1011063
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
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.
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
Gast
@Chris

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

Das Hardwaremodul hat feste Pins!

Softwarelösungen sind an beliebigen Pins möglich!

Gilt für SPI,TWI(I²C),RS232 etc.

gruß hans

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 18 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.