PIC16F887 SPI

Gast #2087100
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
Angehängte Dateien:
#2087189
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
Gast #2087384
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.
Angehängte Dateien:
Gast #2088125
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

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