Hallo zusammen!

Ich möchte gerne diese Sequenz über den SPI machen...
Klicke auf die Grafik für eine größere Ansicht

Name:	2014-09-17_19:11:19.jpg
Hits:	16
Größe:	38,3 KB
ID:	29058

CS auf Low, Control Wort schreiben, Warte bis geschrieben wurde, CS High, Soweit klar ... jetzt nächster schritt ...

Lesen der Werte ... Im Atmega 168 Datasheet steht

SPDR – SPI data register
Bit 7 6 5 4 3 2 1 0
0x2E (0x4E) MSB LSB SPDR
Read/write R/W R/W R/W R/W R/W R/W R/W R/W
Initial value X X X X X X X X Undefined
The SPI Data Register is a read/write register used for data transfer between the Register File
and the SPI Shift Register. Writing to the register initiates data transmission. Reading the regis-
ter causes the Shift Register Receive buffer to be read.
Der initiale Wert ist undefiniert. Muss ich jetzt für das erste Datenbyte 2 mal lesen? Und dann noch einmal für das 2 Datenbyte 1 mal lesen? Muss ich dasselbe Bit abfragen ob die Daten eingetroffen sind? ( while(!(SPSR & (1<<SPIF))); )

- - - Aktualisiert - - -

Habs gefunden....

http://www.mikrocontroller.net/topic/159421
Genauso.

Du schiebst zweimal acht Bit raus, und liest gleichzeitig die
hereingekommenen zweimal acht Bit ein.

Das ist dein Ergebnis
Dann hoff ich mal das es klappt ...

- - - Aktualisiert - - -

Ok, geht.