SPI (SPIF flag)

Gast #72926
Hallo!

Ich möchte 2 AVR über SPI verbinden. Da beide senden sollen (und dabei
den Transfer einleiten können sollen) muß ich ja regelmäßig die
Master-/Slave-Zuordnung wechseln.

Nun meine Frage: Wichtig ist natürlich, daß das SPIF flag beim wechseln
zurückgesetzt wird. Passiert das bereits, wenn ich nur das Master/Slave
bit invertiere (MSTR), oder muß ich das volle Programm durchlaufen,
also /SS auf High, SPI aus, MSTR invertieren, SPI an, /SS auf low?

(Empfangsseitig wird das SPIF ja laut Datenblatt bereits beim Auslesen
des letzten Datenwortes gelöscht, interessant wäre jetzt also vorrangig
die Sendeseite.)
Gast
Also ich hab gerade ein bißchen "rumprogrammiert", und entstanden sind
die beiden Quellcodes im Anhang.

Der Programmablauf ist folgendermaßen:
Zu Beginn wird AVR1 als Master festgelegt, AVR2 als Slave. Anschließend
wird 1 Byte von AVR1 zu AVR2 übertragen. Als nächstes wird die
Master-/Slave-Zurordnung gewechselt, und AVR2 schickt 1 Byte an AVR1.

Soweit so gut. Leider werden aber bei der 2. Übertragung offensichtlich
nur 7 Bit gesendet. Statt dem gesendeten 0x33 kommt nur 0x19 an.

Kann mir jemand sagen, wo ich den Fehler mache? Kann ja eigentlich nur
sein, daß beim Wechseln von Master und Slave irgendein Register nicht
zurückgesetzt wird, was vielleicht zurückgesetzt werden müßte!?
Angehängte Dateien:

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 22 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.