mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Problem mit SPI & Bascom


Autor: Markus (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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

Autor: Markus (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hmm, falsche Datei hochgeladen :-)
Hier ist die Richtige

Autor: Robi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Markus (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.