SPI & CPOL zur Laufzeit ändern

Gast #1150681
Lesenswert?

Hallo uc-Gemeinde,

ich habe im Forum(&Datasheet!) keine passende Antwort gefunden :-( Daher 
auf diesem Wege. Ich versuche bzw. MUSS während der Laufzeit das CPOL 
einmal High und einmal Low schalten. Kann ich vermutlich nur einmal beim 
booten die Einstellungen initialisieren oder auch während der Laufzeit? 
Versuche ich während der Laufzeit CPOL zu ändern, so ändert sich nix. 
Auch nicht, wenn ich derweil das SREG Lösche und danach wieder lade(habe 
ich mal in einem anderen ZUsammenhang hier im Forum gelesen!)

Also, könnt ihr mir weiterhelfen ob möglich und wenn wie ?

Danke!!

gruß aus dem fernen Norden
#1150707
Lesenswert?

Vorneweg wär's nett, wenn du den Controller verraten könntest.

Bei AVRs jedenfalls kannst du nachweislich ohne viel Zirkus den 
Transfermodus aus CPOL+CPHA ändern. Es ist ja nicht selten, dass mehrere 
SPI-Slaves am gleichen Bus mit unterschiedlichen Protokollvarianten 
arbeiten. Nur solltest du es nicht unbedingt mitten im laufenden 
SPI-Transfer ändern.
Gast #1152193
Lesenswert?

Hi,

also ich bin hier am tüfteln.. Eig. sollte das ja kein Prob sein, nur 
der jenige der davor sitzt bin ja ich :-D

Also,

ich versuche abwechselnd

SPCR = (1<<SPE) |(1<<CPOL);

bzw.

SPCR = (1<<SPE) |(0<<CPOL);

aber er will bei den Kommandos einfach gar nicht mehr :-( (achso, 
natürlich vorher initialisiert!)

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