Problem mit SPI & Bascom

Gast #682539
Lesenswert?
• ▲
▼
Guten Abend!

Ich habe 2 ATmega48 die über SPI Daten austauschen sollen, leider klappt 
das nicht. Hab mal versucht das Problem einzugrenzen und eine LED 
angeschlossen, die im Betrieb blinkt. In dem Moment, wo die Daten 
übertragen werden sollen, leuchtet sie dauernd und an den SPI-Ausgägnen 
tut sich nichts. Sowohl bei SpiIn wie auch bei SpiOut.

Habe mal testweise den SS-Port am Master als Eingang geschaltet und 
High-Pegel angelegt, sowie den SS-Port als Ausgang geschaltet.
Gab keine Veränderung.
Nach SpiInit ist Mosi ist high, Sck ist low. Nur wenn man den SS-Eingang 
auf Masse legt wird der Spi nicht initialisiert. Das ist das einzige was 
richtig funktioniert. Hab mal den Code des Masters mit angehängt.

Gruß Markus
Angehängte Dateien:
Gast #682784
Lesenswert?
• ▲
▼
Hab jetzt mal die Register Spcr und Spsr ausgelesen, soweit ist alles in 
Ordnung. Hab die gesendeten Daten noch etwas verändert und sieh an, er 
sendet was. Ob es passt kann ich erst sagen, wenn das Slaveprogramm 
läuft.
Mir ist aufgefallen, das der Atmega immer abstürzt wenn die an SpiOut 
übergebenen Werte kleiner 128 werden.
Lege ich den Miso-Pin auf 5V und lese mit SpiIn ein, bekomme ich die 255 
übergeben, kommt Miso aber auf Masse, gibt’s nur ein mal die 0, danach 
stürzt er wieder ab.
Hab dann noch mal etwas ins Datenblatt geschaut und was von einem SPDR 
Register gelesen. In diese kann ich Werte von 0 - 255 schreiben und 
danach wird auch gesendet. Einlesen der 255 und der 0 klappt auch.
Sehe ich das richtig, das wenn ich einen Wert an SPDR übergebe dieser 
Wert gesendet und wenn ich aus SPDR lade, Miso eingelesen wird?

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