OLED-Display

Gast #6164478
Lesenswert?

Hallo zusammen,

Ich möchte ein OLED-Display EA OLEDL128-6 (SSD1309) über SPI (4 wires) 
mit einem µC tms320f28377d von TI steuern. Ich hab den SPI-Port 
konfiguriert, sodass ich eine Nachricht über den MOSI-Pin schicken kann. 
Danach habe ich versucht Commands für die Initialisierung des 
Displaymoduls zu senden. Ändert sich jedoch nichts beim Display (hat 
nicht geleuchtet). Hat jemand vielleicht Erfahrung mit diesem Modul?

Grüße
Gast #6164788
Lesenswert?

Damit ist dem OT aber nicht geholfen.
Ich vermute, Du meinst so etwas wie "Display an". Damit sich überhaupt 
etwas tut.

Kommt am MISO vom Display etwas heraus? Bzw. empfängt der TI-Chip eine 
Bit-Sequenz? Was empfängt er?
Gast #6164855
Lesenswert?

Der müde Joe schrieb:
> Damit ist dem OT aber nicht geholfen.
> Ich vermute, Du meinst so etwas wie "Display an". Damit sich überhaupt
> etwas tut.
>
> Kommt am MISO vom Display etwas heraus? Bzw. empfängt der TI-Chip eine
> Bit-Sequenz? Was empfängt er?

TI-Chip sollte nichts empfangen oder ? er sendet nur über sein MOSI-Pin. 
Ich hab die folgenden Commands aus dem Datenblatt für die 
Initialisierung übernommen.
void init_OLEDL128(void)
{
send_command(0x40); //Set Display start line
send_command(0xA0); //Bottom View no Segment remap
send_command(0xC0); //Bottom View COM scan direction normal
send_command(0xA6); //Display normal (RAM)
send_command(0x81); send_command(0xFF); //Set contrast to maximum
send_command(0xD5); send_command(0x40); //Clock divider/Oscillator 
frequency
send_command(0xD9); send_command(0x44); //Pre‐charge Period
send_command(0xAF);    //Display on
}

"send_command" hab ich durch meine SPI-Write-Funktion ersetzt.
Gast #6164904
Lesenswert?

aabb schrieb:> Initialisierung übernommen.
> void init_OLEDL128(void)
> {
> send_command(0x40); //Set Display start line
> send_command(0xA0); //Bottom View no Segment remap
> send_command(0xC0); //Bottom View COM scan direction normal
> send_command(0xA6); //Display normal (RAM)
> send_command(0x81); send_command(0xFF); //Set contrast to maximum
> send_command(0xD5); send_command(0x40); //Clock divider/Oscillator
> frequency
> send_command(0xD9); send_command(0x44); //Pre‐charge Period
> send_command(0xAF);    //Display on
> }

Was erwartest du nach dieser Initialisierung? Daß das Display hell 
leuchtet?

Sende doch erst mal ein paar Daten zum Display, und wenn sich dann immer 
noch nichts tut, dann kannst du mit der Fehlersuche beginnen.
#6164940
Lesenswert?

aabb schrieb:
> Das hab ich auch gemacht

naja... nicht wirklich. wenn ein oled nichts anzeigen soll, ist es 
schwarz. hat keine hintergrundbeleuchtung. lass es doch ein zeichen 
darstellen oder setze einen pixel...

aabb schrieb:
> 
https://www.amazon.de/KeeYees-Logic-Analyzer-Farben-Arduino/dp/B07K6G55WG/ref=sr_1_3

15 € ist aber teuer. ich hab meinen vor ewigkeiten bei ebay für 8 € 
gekauft.
Gast #6164983
Lesenswert?

Display-Spannung angelegt/richtige Höhe?
Siehe Datenblatt "Vcc", hier 12.7V.
Ohne leuchtet gar nichts. Bei OLEDs ist der Kontrast so gut, dass man 
von der Ansteuerung wirklich nichts sieht, wenn diese Spannung 
fehlt/nicht hoch genug ist.
Gast #6164991
Lesenswert?

Display schrieb:
> Display-Spannung angelegt/richtige Höhe?
> Siehe Datenblatt "Vcc", hier 12.7V.
> Ohne leuchtet gar nichts. Bei OLEDs ist der Kontrast so gut, dass man
> von der Ansteuerung wirklich nichts sieht, wenn diese Spannung
> fehlt/nicht hoch genug ist.

12.42V sollen normalerweise ausreichen.

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