www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik PIC16F887 SPI


Autor: Michael H. (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

Ich möchte ein EA-DOGM 163 LCD Diplay per SPI mit einem PIC16F887 
ansteuern.

Mit dem angehängten Code bleiben allerdings die Ausgänge des PIC's 
ständig auf Low (SCL und SDO). Andere Programme haben bisher immer ohne 
Probleme funktioniert.

Hat jemand eine Idee woran es liegen könnte?

MfG

Michael

Autor: Lehrmann Michael (ubimbo)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Compiliert das Programm überhaupts?

Funktioniert die Schaltung ?

Autor: Tobi D. (fanti)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ist das das komplette Programm?

in den Fuses hast du internen Osszilator gewählt, aber der ist in der 
init nicht definiert

außerdem ist mir aufgefallen, dass die Zeitschleife etwas merkwürdig 
ist, das sind jetzt 2 einstufige Zählschleifen, sollte das eine 
Zweistufige werden, oder hat es irgendeinen tieferen Sinn wieso du das 
so gemacht hat?

lass doch den SPI-kram erstmal weg und lass im Hauptprogramm einen 
Ausgang blinken, dann hast du schon sehen ob der PIC überhaupt läuft

Autor: Stephan S. (uxdx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> in den Fuses hast du internen Osszilator gewählt, aber der ist in der
> init nicht definiert

der steht per Default auf 4 MHz

Autor: Stephan S. (uxdx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
mit BCF SS (=PORTA5) seleketierst Du den Slave Mode.

Autor: Michael H. (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
> Compiliert das Programm überhaupts?
> Funktioniert die Schaltung ?

> lass doch den SPI-kram erstmal weg und lass im Hauptprogramm einen
> Ausgang blinken, dann hast du schon sehen ob der PIC überhaupt läuft

Der PIC befindet sich auf einem Evaluations-Board zusammen mit dem 
Display und anderen Kompontenten (Summer, LED usw.). Bisher konnte ich 
alles wie gewollt ansteuern, der PIC funktioniert also.

Anscheinend bleibt das Programm bei loop1 stehen (Abfrage von Buffer 
Full).

So weit ich das Datenblatt verstanden habe sollte direkt nachdem ein 
Byte nach SSPBUF geschrieben wurde das Byte am SDO Pin zusammen 
ausgegeben werden und wenn die Ausgabe fertig ist das BF Bit von SSPSTAT 
gesetzt werden.

Ich habe aber weder am SDO Pin noch am SCL Pin ein Signal gemessen.

Autor: usuru (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Ich habe aber weder am SDO Pin noch am SCL Pin ein Signal gemessen.

Lies doch mal den Beitrag von Stephan S.

> mit BCF SS (=PORTA5) seleketierst Du den Slave Mode.

Du bist im Slave Mode !!!!!!!!!!

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.