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.
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
@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
@ hans... schon klar dass software-spi über beliebige pins möglich ist.... aus dem 1. beitrag von arni geht aber hervor dass er die hardware variante verwenden möchte... .deshalb auch meine "pin erkärung" .g.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.