Zitat Zitat von Sven_77 Beitrag anzeigen
Was ich sagen kann, ist, dass das CS funktioniert. Geht am Anfang auf High, zum Auslesen wird es dann eben LOW gesetzt und danach wieder High. Anscheinen läuft die Clock nicht.
Ich habe da große Zweifel.
Aber wirklich eindeutig kann ich das nicht sagen, denn das, was du in deinem ersten Post an Code gepostet hast, ist schon einigermaßen ärgerlich. Das sind offenbar nicht sonderlich sorgfältig zusammen kopierte Fragmente. Anscheinend gehören diese Fragmente noch nicht mal zum selben Code, denn es gibt die Defines "SPI_DDR" und "SPI_PORT", benutzt wird dann aber "SPI_PORT_DDR".
Code:
CS_PIN         PINE
Was ist das für eine Zeile? [1]


Code:
    CS_PIN &= ~(1<<CS_TEMP); // CS auf LOW
...
    CS_PIN |= (1<<PE2);     // cs High
Wieso wird der CS-Pin einmal als "PE2" angesprochen, und einmal als "CS_TEMP"? Was ist "CS_TEMP"?


Jedenfalls wenn ich die Ungereimtheiten per Raten interpoliere ([1] um "#define" ergänzt, und CS_TEMP=PE2), dann funktioniert dein CS sicher nicht.