www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik PIC und SPI


Autor: Nils (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!

Ich versuche gerade Daten über die SPI-Schnittstelle des PIC16F877 zu 
versenden. Wenn ich nur ein Byte sende bzw immer wieder das selbe Byte 
dann funktioniert das auch. Wenn ich aber in das SSPBUF-Register einen 
anderen Wert schreiben will um diesen Wert dann zu senden so wird dieser 
nicht übernommen. Im SSPBUF-Register steht immer noch der alte Wert 
drin. Gibt es da irgendein Status-Bit oder so das man erst löschen muss 
bevor man einen neuen Wert in das SSPBUF schreiben kann?

Generell verstehe ich nicht ganz wie die SPI-Schnittstelle funktioniert. 
Laut Blockdiagramm gibt es ja nur ein Register (SSPBUF) das für Versand 
und Empfang der Daten zuständig ist. Kann mir das jemand kurz erklären 
wie die Schnittstelle funktioniert, also wie man Daten sendet und auch 
Daten empfängt?

Nils

Autor: Reiner (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
1. laut Datenblatt muß das SSPBUF-Register immer vor dem nächsten 
Bytesenden einmal gelesen werden, auch wenn's nur ein Dummy ist.
2. Ansonsten gibt es noch das WCOL-Flag Writecollision in SSPCON das 
anzeigt das Du unter Umständen auf das SSBUF geschrieben hast, obwohl es 
noch nicht leer war. In dem Fall must Du das WCOL wieder löschen, da 
sonst alle Schreibversuche ignoriert werden.

Aber ich denke Dein Fall ist der erste


Reiner

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.