Forum: Mikrocontroller und Digitale Elektronik Problem mit SPI-Verbindung zwischen PIC und Display


von Anna (Gast)


Lesenswert?

Grüß Gott,

ich möchte einen PIC18F45K22 mit dem eDIPTFT70 Display von Electronic 
Assembly über SPI verbinden. Ich scheitere jedoch daran. Hätte jemand 
von euch Erfahrung mit solchen Displays?

von MCUA (Gast)


Lesenswert?

Also, hast du nicht noch einen kleineren uC hierfür gefunden?

von erfahrung vorhanden (Gast)


Lesenswert?

Woran scheiterst Du?
Was hast Du bisher gemacht?
Was geht, was geht nicht?

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Anna schrieb:
> ich möchte einen PIC18F45K22 mit dem eDIPTFT70 Display von Electronic
> Assembly über SPI verbinden.
Und was soll der kleine µC mit dem riesigen Display machen?
Wenn du da auf dem µC z.B. ein einziges Hintergrundbild mit "800x480 
DOTS, 16-BIT COLOR (65.536 COLORS)" speichern willst, dann brauchst du 
mit 384kByte prinzipiell schon über 10x mehr Speicher, als der µC 
insgesamt hat. Und dann läuft noch keine Zeile Software.

Die allgemeine Regel ist daher:
winziger Controller --> winziges Display
großer Controller --> großes Display
Und nur Leute, die sich mit sowas auskennen sollten diese allgemeinen 
Regeln in Richtung
kleiner Controller --> großes Display
durchbrechen

: Bearbeitet durch Moderator
von Anna (Gast)


Lesenswert?

Grundsätzlich möchte ich nur, dass Microcontroller und Display 
kommunizieren, in dem ich vom Microcontroller eine ASCII Zahl zum 
Display schicke, die auf das Display angezeigt werden soll. Leider weiß 
ich nicht wie ich das mit einem Programm verwirklichen kann. Im 
Datenblatt steht leider sehr wenig über die Programmierung.

von MCUA (Gast)


Lesenswert?

>Im Datenblatt steht leider sehr wenig über die Programmierung.
Doch, da steht alles drin....
....musst glaubich (irgentwie) von vorne anfangen.
(Und wozu Grafik nur für ein paar Zeichen?)

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

MCUA schrieb:
> (Und wozu Grafik nur für ein paar Zeichen?)
Und wozu 800x480 für ein paar Zeichen?

Anna schrieb:
> Leider weiß ich nicht wie ich das ... verwirklichen kann.
Das passiert laufend. Weltweit.
Der jetzt einzusetzende Prozess heißt "Lernen".

Dazu solltest du die bereits gestellten Fragen analysieren und 
klarifizieren:
erfahrung vorhanden schrieb:
> Woran scheiterst Du?
> Was hast Du bisher gemacht?
> Was geht, was geht nicht?

von A. S. (Gast)


Lesenswert?

Anna schrieb:
> Grundsätzlich möchte ich nur, dass Microcontroller und Display
> kommunizieren, in dem ich vom Microcontroller eine ASCII Zahl zum
> Display schicke, die auf das Display angezeigt werden soll.

Dein Formulierung lässt vermuten, dass Du noch keine Erfahrung mit 
Displays hast.

Wie sieht deine Erfahrung mit uC und SPI  aus?

Vielleicht besorgst Du Dir für den Anfang ein 2x16 Zeichen Display oder 
eine von diesen 4fach 7-seg für 2€.

von Bernd I. (Firma: Ickert-Elektronik) (bernd2201)


Angehängte Dateien:

Lesenswert?

Hallo Anna,
schau dir mal dieses (deutsche!!) Datenblatt an. Dort findest Du nicht 
nur in KLARER Übersicht die Befehlstabelle, sondern auch ein 
Initialisierungsbeispiel, um erst einmal überhaupt etwas auf das Display 
zu bekommen. Ich kenne das Problem: Sofern beim Initialisieren auch nur 
ein Byte übersehen oder falsch gesetzt wurde, geht gar nichts...!! Und 
die original Datenblätter in englisch sind MEISSTENS so was von 
umständlich und unübersichtlich. Ärgerlich!
Liebe Grüße, Bernd

von Bernd I. (Firma: Ickert-Elektronik) (bernd2201)


Lesenswert?

Oh Sorry, für das eDIPTFT70 kannst Du wohl wenig mit dem Datenblatt 
anfangen... Wie soll denn das Display angesteuert werden? Doch nicht 
etwa DIREKT vom PIC? Dazu gibt es ja die Treiber von FTDi. Es gibt dazu 
auch ein Starterkit 
(https://www.reichelt.de/de/de/starterkit-mit-17-8cm-7-tft-touch-eakit-ediptft70-p129609.html?r=1)...
Bernd

von H. B. (Gast)


Lesenswert?

Dieses Display kannst du auch mit einem kleinen Controller wie dem PIC 
ansteuern.
Das Display hat einen Grafikcontroller und Grafikspeicher mit drauf.
Es gibt auch schon vorgefertigte Grafikbefehle, man muss also nicht 
alles Pixel für Pixel selber zusammenschustern.
Hast du die Möglichkeit die Signale auf dem SPI BUS zu messen?

von Peter D. (peda)


Lesenswert?

Man kann mit dem DPROT-Pin das Protokoll disablen. Dann werden alle 
ASCII-Bytes direkt angezeigt.

von H. B. (Gast)


Lesenswert?

Erst mal müssen beide mit den gleichen Signalpegeln arbeiten.
Das Display arbeitet nur mit 5V, also muss auch der PIC mit 5V arbeiten.

Dann am Display über die
DORD, CPOL und CPHA Pins den SPI Mode einstellen.

Mit dem DPROT PIN erst mal das Protokoll abschalten.

Dann befindet man dich im Terminal Modus und es müsste im Display links 
oben der Cursor blinken.
Dann kannst du wie im Datenblatt beschrieben ASCII Bytes direkt 
reinschreiben und die Zeichen sollten dann im Display angezeigt werden.

Fang erst mal mit einer niedrigen SPI Clock Frequenz an.
Vergiss nicht immer das ACK vom Display zurückzulesen, nur so weisst du 
ob das Display deine Daten auch korrekt empfangen hat und für neue Daten 
bereit ist.

von herba (Gast)


Lesenswert?

Interessantes Display, welches tatsächlich über spi, ic2, uart gesteuert 
werden kann(auch mit kleinem MC), nur etwas teuer.

von H. B. (Gast)


Lesenswert?

herba schrieb:
> Interessantes Display, welches tatsächlich über spi, ic2, uart gesteuert
> werden kann(auch mit kleinem MC), nur etwas teuer.

Riverdi bietet sowas in der Art billiger an.
Die haben dann einen FTDI/Bridgetek oder einen SSD1963 Grafikcontroller 
drauf.
https://riverdi.com/product/rvt70uqfnwc0x/

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.