Forum: Mikrocontroller und Digitale Elektronik SPI Display richtige Eingänge


von Meme (Gast)


Lesenswert?

Hallo, ich habe hier ein TFT SPI Display (240x240) welches ich gerne mit 
meinem Shield verbinden möchte.
Die Display Eingänge sind allerdings anders beschriftet als ich es 
kenne, und zwar folgender Maßen:
GND und VCC, SCL, SDA, RES, DC, BLK.

In der C Header Datei für das Programm habe ich allerdings folgende Pin 
Bezeichnungen:
DIN, CLK, CS, DC, RESET, BL.

Welchen Pin muss ich jetzt mit CS und DIN verbinden?

von oh weh (Gast)


Lesenswert?

Meme schrieb:
> Hallo, ich habe hier ein TFT SPI Display (240x240) welches ich gerne mit
> meinem Shield verbinden möchte.

Welches Display, welches Shield?
(man kann Links angeben oder Fotos machen)

Ein Display mit einem Shield zu verbinden sehe ich jetzt
nicht als sehr sinnvoll an .....

von Stefan F. (Gast)


Lesenswert?

Meme schrieb:
> SCL, SDA

Das ist nicht SPI sondern I²C.

> CS und DIN

Die Pins von SPI heißen SCK, MISO, MOSI und /SS oder /CS.

Du wirst wohl die Hersteller-Informationen vom Display und deiner 
Bibliothek konsultieren müssen. Vielleicht ergibt sich aus deren 
Beschreibung, wie das zusammen passen könnte.

von oh weh (Gast)


Lesenswert?

Stefan ⛄ F. schrieb:
> Das ist nicht SPI sondern I²C.

Die Signalnamen schon, aber das Display nicht unbedingt ...
Ich habe noch kein TFT Display Modul mit I2C Schnittstelle
gesehen. Insbesondere passt das nicht wenn die typischen
Signalnamen RES, DC vorkommen. BLK muss man noch klären.

von maybe (Gast)


Lesenswert?

SCL=CLK, SDA=DIN, RES=RESET, DC=DC, BLK=BL, CS nc

von oh weh (Gast)


Lesenswert?

Mit maybe-Vermutungen kann niemand was anfangen, besonders
Anfänger sind damit voll überfordert.

von Meme (Gast)


Lesenswert?

maybe schrieb:
> SCL=CLK, SDA=DIN, RES=RESET, DC=DC, BLK=BL, CS nc

So hatte ich es auch probiert, was nicht geklappt hat. Evtl. dir Pins 
schlecht verlötet.

oh weh schrieb:
> Meme schrieb:
>
>> Hallo, ich habe hier ein TFT SPI Display (240x240) welches ich gerne mit
>> meinem Shield verbinden möchte.
>
> Welches Display, welches Shield?
> (man kann Links angeben oder Fotos machen)
> Ein Display mit einem Shield zu verbinden sehe ich jetzt
> nicht als sehr sinnvoll an .....

Ich meine die Platine um den Display. Dachte das nennt man so. Und es 
handelt sich hierbei um SPI sonst würde auf der Rückseite denke ich mal 
nicht SPI drauf stehen. Trotzdem danke :)

von Meme (Gast)


Lesenswert?


von oh weh (Gast)


Lesenswert?

Meme schrieb:
> Und es handelt sich hierbei um SPI

Nein, in diesem Fall lügt der Verkäufer bzw der Hersteller.

Hier

https://simple-circuit.com/arduino-st7789-ips-tft-display-example/

ist sehr genau beschrieben wie es funktioniert. Es ist ein
I2C-Interface.
Vielleicht wirst du nicht mit der Library glücklich werden die
du beabsichtigt hast zu verwenden.

Achtung Vcc des Display an 3.3V des Arduino anschliessen, sonst
kaputt.

von oh weh (Gast)


Lesenswert?

oh weh schrieb:
> Nein, in diesem Fall lügt der Verkäufer bzw der Hersteller.

Ich muss mir selbst widersrechen, es ist SPI, leider ein sehr
seltsames, sodass ich immer noch daran zweifeln muss ...

In der Library wird CS erwähnt, was jedoch nicht zur Verfügung
steht. Dafür spräche auch dann I2C, denn nur damit könnte man
eine Start Condition erzeugen die ja wegen fehlendem CS nicht
möglich ist.

Man kann versuchen und hoffen dass es trotzdem funktioniert
indem man den CS Pin mit -1 angibt.

von Harry L. (mysth)


Lesenswert?

Wie wärs denn damit, einfach mal ins Datenblatt zu schauen?

*Achtung Spoiler-Alarm!*

Nein!...das Display kann kein I²C!

https://www.waveshare.com/w/upload/a/ae/ST7789_Datasheet.pdf

: Bearbeitet durch User
von Meme (Gast)


Lesenswert?

oh weh schrieb:
> Achtung Vcc des Display an 3.3V des Arduino anschliessen, sonst
> kaputt.
Es handelt sich hierbei um den Raspberry Pi Pico. Das hätte ich 
vielleicht erwähnen sollen :D

Harry L. schrieb:
> Wie wärs denn damit, einfach mal ins Datenblatt zu schauen?
Das würde ich gerne vermeiden, sonst hätte ich gleich meine eigene Lib 
schreiben können :D

Also es scheint so dass ich die Pins nicht richtig verlötet hatte.
Nun, jetzt leuchtet zumindest das Display, allerdings wird die Himbeere 
wie es im Code beschrieben wird nicht dargestellt.

oh weh schrieb:
> Man kann versuchen und hoffen dass es trotzdem funktioniert
> indem man den CS Pin mit -1 angibt.

Meinst du GND?

von maybe (Gast)


Lesenswert?

Meme schrieb:
> oh weh schrieb:
>> Man kann versuchen und hoffen dass es trotzdem funktioniert
>> indem man den CS Pin mit -1 angibt.
>
> Meinst du GND?

So wie es aussieht hat das Display CS schon intern an GND angeschlossen. 
Als CS Pin gib irgendein Pin an und lasse ihn in der Luft hängen.

von my2ct (Gast)


Lesenswert?

oh weh schrieb:
> Man kann versuchen und hoffen dass es trotzdem funktioniert
> indem man den CS Pin mit -1 angibt.

Nein, das Display wird bestimmt nicht mit trinärer Logik angesteuert.

von Stefan F. (Gast)


Lesenswert?

Harry L. schrieb:
> Wie wärs denn damit, einfach mal ins Datenblatt zu schauen?
> Nein!...das Display kann kein I²C!

Der data/command Pin würde bei I²C auch ziemlich unlogisch sein.

Es ist aber schon fies, dass im Datenblatt von SDA und SCL die Rede ist. 
Als ob die einen absichtlich verwirren wollten.

von my2dollars (Gast)


Lesenswert?

my2ct schrieb:
> Nein, das Display wird bestimmt nicht mit trinärer Logik angesteuert.

Auf den billigen cent-Plätzen ist das Prinzip der Pin-Vergabe
bei Arduino-Klassen noch nicht durchgedrungen.

von Stefan F. (Gast)


Lesenswert?

my2dollars schrieb:
> Auf den billigen cent-Plätzen ist das Prinzip der Pin-Vergabe
> bei Arduino-Klassen noch nicht durchgedrungen.

Um hier Verwirrung zu vermeiden benutze ich sprechende Konstanten wie 
"NO_CS_PIN".

von Peter D. (peda)


Lesenswert?

Meme schrieb:
> Ebay-Artikel Nr. 264336303075

Wie kommt man bloß darauf, irgendwas zu kaufen, wo keinerlei technische 
Angaben dabei sind?

Meme schrieb:
> Harry L. schrieb:
>> Wie wärs denn damit, einfach mal ins Datenblatt zu schauen?
> Das würde ich gerne vermeiden, sonst hätte ich gleich meine eigene Lib
> schreiben können :D

Na dann noch viel Spaß damit.
Wenn die zufällig ausgesuchten Legosteinchen nicht zusammen passen, dann 
einfach mit dem Hammer drauf hauen, bis es paßt.

von Peter D. (peda)


Lesenswert?

my2dollars schrieb:
> Auf den billigen cent-Plätzen ist das Prinzip der Pin-Vergabe
> bei Arduino-Klassen noch nicht durchgedrungen.

Ich würde mal sagen, der weitaus größere Teil der MC-Programmierer 
benutzt einfach keinen Arduino. Man darf nicht voraussetzen, daß Arduino 
der Nabel der Welt ist.

von Frank S. (_frank_s_)


Lesenswert?

Peter D. schrieb:
> Wie kommt man bloß darauf, irgendwas zu kaufen, wo keinerlei technische
> Angaben dabei sind?

Weil es billig ist.

MfG von der Spree
Frank

von Purzel H. (hacky)


Lesenswert?

Einfach alle Permutation aus Compilerflags und Pinvertauschen 
durchtesten, und wenn's nicht geht - in die Tonne und next.
Das ist allenfalls einfacher wie ein Datenblatt anzuschauen, aber ob' s 
zielfuehrend ist, weiss ich nicht.

von Meme (Gast)


Lesenswert?

maybe schrieb:
> Meme schrieb:
>> oh weh schrieb:
>>> Man kann versuchen und hoffen dass es trotzdem funktioniert
>>> indem man den CS Pin mit -1 angibt.
>>
>> Meinst du GND?
>
> So wie es aussieht hat das Display CS schon intern an GND angeschlossen.
> Als CS Pin gib irgendein Pin an und lasse ihn in der Luft hängen.

Funktioniert leider immer noch nicht, aber war einen Versuch wert :/

von Meme (Gast)


Lesenswert?

Ich habe jetzt angefangen das Datenblatt zu studieren und schaue 
parallel dazu in den Quellcode von Adafruits Display Treiber. Ich weiß 
jetzt schon das es eine große Menge Arbeit für mich wird (Hab das selbe 
schon mal für einen monochromen Display und Arduino gemacht).
Also falls noch jemand eine Idee hat bitte jetzt :D
Ich danke

von maybe (Gast)


Lesenswert?

Meme schrieb:
> Also falls noch jemand eine Idee hat bitte jetzt :D

Erst Hardware checken, d.h. Pins einzeln ansprechen und am Display 
messen. Vorsicht beim Messen - keinen Kurzschluss machen, wenn 
benachbarte Pins HIGH und LOW haben, ich weiß nicht wer gewinnt.

Dann ehe solche Sachen durchprobieren: 
https://github.com/devbis/st7789py_mpy
Kann man auch besser nachvollziehen als Adafruit library

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.