Forum: Mikrocontroller und Digitale Elektronik ST7735S Display Ansteuerung


von Dave (Gast)


Lesenswert?

Ich versuche seit einer Weile ein Display mit dem ST7735S Controller mit 
128*128 Pixel zum Laufen zu bekommen. Ich habs einerseits mit dem 
Raspberry Framebuffer Treiber [1] und dieser Library [2] probiert.
Beide Libraries funktionieren, wenn ich so ein Arduino Display mit 
ST7735 Controller anschließe mit meinem Aufbau problemlos.
Das Display mit dem Controller ST7735S reagiert aber überhaupt nicht. 
Kann es sein, dass die Controller so unterschiedlich sind ? Hat jemand 
schon mal ein Display mit dem ST7735S Controller zum Laufen gebracht ? 
Ich habe bis jetzt leider noch keinen Treiber explizit für das "S" 
gefunden. Es kann auch noch sein, dass es ein elektrisches Problem gibt, 
da bei diesem Display die Anschlüsse sehr filigran sind.

[1] http://www.whence.com/rpi/

[2] 
https://github.com/microbuilder/LPC1343CodeBase/blob/master/drivers/displays/tft/hw/st7735.c

von hp-freund (Gast)


Lesenswert?

Habe hier ein 128x160 im Einsatz.
Die Dinger gibt es in Rot, Grün und Schwarz. Damit wird die Farbe der 
Lasche an der Schutzfolie bezeichnet.

S ? Könnte das Schwarz meinen?

von Dave (Gast)


Lesenswert?

hm, laut [1], Zeile 364 gibt es zwischen "B" und "R" minimale 
unterschiede in der Initialisierung. Ich hätte aber gehofft dass mein 
Display zumindest mal irgendwas macht...


[1] 
https://github.com/adafruit/Adafruit-ST7735-Library/blob/master/Adafruit_ST7735.cpp#L364

von hp-freund (Gast)


Lesenswert?

Mit dieser gewaltigen Menge an Initialisierungsbefehlen hatte ich auch 
kein Glück. Deshalb habe ich mir laut Datenblatt eine kleine init selbst 
geschrieben.

Hast Du auch den Schwarzen?

von Dave (Gast)


Angehängte Dateien:

Lesenswert?

also so siehts mal aus...

von Dave (Gast)


Lesenswert?

welche initialisierung genau hat bei dir nicht funktioniert ? kannst du 
mir deine initialisierung vl. schicken ?

von hp-freund (Gast)


Lesenswert?

Die Farbe ist an der Display Schutzfolie. Ist bei dir schon ab :-(
Meine ist für STM32 und HAL, dürfte aber ersichtlich sein:
1
void lcd7735_init(void) {
2
  LCD_CS0; // CS=0
3
4
  LCD_RST0; // RST=0
5
  HAL_Delay(10); //10 ms warten
6
  LCD_RST1;
7
  HAL_Delay(5);
8
9
  lcd7735_sendCmd(0x11);
10
11
  HAL_Delay(50);
12
13
  lcd7735_sendCmd (0x3A);
14
  lcd7735_sendData(0x05); //
15
16
  lcd7735_sendCmd (0x29); //
17
18
19
        // Testbild:
20
21
  unsigned char y;
22
  unsigned char x;
23
  for (y=0;y<160;y++)
24
    for (x=0;x<128;x++) {
25
      unsigned int color=0x0;
26
      if (y<50) color=0xF800; //
27
      else  {
28
        if (y<100) color=0x02E0; //
29
      else { if (y<150)color=0x001F;       }
30
      lcd7735_pix(x, y, color);
31
    }
32
  LCD_CS1;
33
34
}

von Dave (Gast)


Lesenswert?

danke für den code, hat leider noch nichts geändert...

von hp-freund (Gast)


Lesenswert?

Kannst entweder noch die Wartezeiten ändern, oder war eben doch kein 
"Black".

von Dave (Gast)


Lesenswert?

ok, jetzt habe ich herausgefunden, dass die displayschutzfolie eine 
grüne markierung hat

von hp-freund (Gast)


Lesenswert?

Dann brauchst Du eine ST7735S Lib die INITR_GREENTAB unterstützt.

Zum Beispiel:
https://github.com/adafruit/Adafruit-ST7735-Library

sollte nach leichten Anpassungen funktionieren.
Kann aber nicht mehr dazu sagen, da ich kein "Green" habe.

von Dave (Gast)


Lesenswert?

ich habs jetzt mit der adafruit library (alle tabs) versucht, 
funktioniert leider auch nicht, das display bleibt einfach weiß. mit dem 
funktienierenden display tut es bei allen konfigurationen zumindest 
irgendwas. ich werds nochmal nachlöten...

von Dave (Gast)


Lesenswert?

ok, jetzt gehts. es hat die "green tab" initialisierung gebraucht (sonst 
tuts gar nix) und es darf am stecker keine kurzschlüsse haben.

von hp-freund (Gast)


Lesenswert?

Dave schrieb:
> es darf am stecker keine kurzschlüsse haben

:-)

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.