SPI funktioniert nur sporadisch

OP #764712
Lesenswert?

Hallo,

ich einen Atmega32 als Master konfiguriert. Er soll in einer 
Endlosschleife zwei Byte über das SPI ausgeben (ohne Empfänger). Leider 
funktioniert das nur nachdem ich mehrere Sekunden lang den Resetbutton 
auf dem Board gedrückt halte (Atmel Evaluation Board von Pollin). 
Gesendet wird übrigens unabhängig von einer Eingabe. Andere Programme 
ohne Einbindung der SPI laufen jedoch ohne Probleme. Da ich es schon mit 
mehreren Controllern versucht habe, glaube ich nicht an einen 
Hardwarefehler.

Kennt jemand das Problem ?
#764737
Lesenswert?

@ Sebastian Deubl (bineuling)

>ich einen Atmega32 als Master konfiguriert. Er soll in einer
>Endlosschleife zwei Byte über das SPI ausgeben (ohne Empfänger). Leider
>funktioniert das nur nachdem ich mehrere Sekunden lang den Resetbutton
>auf dem Board gedrückt halte (Atmel Evaluation Board von Pollin).

Es bringt nichts, wenn du zu einem Problem zwei Threads aufmachst!
Wahrscheinlich hast du ein Hardwareproblem. Oder du hast SS nicht als 
Ausgang gesetzt.

AVR-Tutorial: Schieberegister

MfG
Falk
Gast #764844
Lesenswert?

Dann poste doch mal deinen Code, dann können wir auch was sehen. Ich 
glaube nicht, dass sbi und cbi nicht gehen sollen. Deine Vorgehensweise 
mit Konstanten mag richtig sein, aber der ursprüngliche Weg sollte auch 
gehen, deswegen wunderts mich ein wenig, es sei denn, die Adresse des 
SPI-Registers ist höher als 31 --> Trifft soweit ich weiss nicht auf SPI 
zu. Allerdings steht im Datenblatt auch, dass bei Verwendung von SBI 
einige Bits, die vorher eins waren, evtl. mit dem SBI-Befehl auf Null 
gesetzt werden!

Ralf

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