Probleme mit EA DOGM 128x64 LCD über SPI

Ok- Display läuft, jetzt ohne ein paar Kondis...
Aber wenn ich versuche ein BGF anzuzeigen kommen nur wirre Pixel in versciedenden Graustufen
und der Displaycontroller stürtzt ab!

Gruß:
AVRuser
 
Hi AVRUser,

wär es nicht besser die Displayprobleme in einem anderen Thread der Öffentlichkeit zu unterbreiten ?
Ich glaube das beim Wolkensensor von Knickohr keiner eine Frage nach nem DOG-LCD vermutet.
Sag bescheid wenn ich den Teil abtrennen und als eigenen Thread bereitstellen soll .

Gruß
Dino
 
Hallo Dino,

Hast recht - mach das mal...
Ich wusste erst ja nicht dass das Disp soviele Schwierigkeiten macht,
und wollte nich extra nen neuen Thread aufmachen...

Gruß:
AVRuser
 
Ne ist schon ok der Titel, wobei das Disp alledings eh nur Spi hat...

Müsste mir jetzt nur noch jemand sagen wie ich n bgf angezeigt bekomme.

Gruß:
AVRuser
 
Haste das mit dem abfallenden Kontrast jetzt eigentlich hinbekommen? Elkos? Im DB sind doch ungepolte Kondensatoren eingezeichnet - AFAIR hatte ich damals Vielschicht-Kerkos genommen.
@bgf: hat bei mir auch nicht richtig funktioniert. Allerdings sah es nach einem ... äh ... systematischem Fehler aus. Also als ob die Konvertierung nicht stimmte. Ich hab mich aber da dann nicht weiter drum gekümmert - ich hab lediglich das init laufen lassen, danach habe ich meine eigenen Bytes rübergeschoben.
DogL.jpg
 
Ja das mit dem Kontrast geht jetzt, hab die Kondensatoren der 2.-5. Wandlerstufe einfach weggelassen,
jetzt gehts sehr gut mit dem Kontrast...
Auch die bitmaps funzen, mann muss anscheinend SED im converter anwählen jedenfalls gehts nur so.
Habs auch schon geschaft n pixel zu setzen, scheitere allerdings daran irgentwas zu zeichnen:
Wie hast du das hinbekommen? - die normalen bascom befehle wie gline etc gehen ja nich!

Gruß:
AVruser
 
Da das Display nicht bidirektional funktioniert (Du kannst den Inhalt (Grafik-RAM) nicht in den µC zurücklesen), funktionieren die Bascom Befehle nicht. Du könntest selbst einen shadow-RAM erstellen (Allerdings 1kByte), und bei Veränderungen die entsprechenden Bereiche neu ins Display schreiben.
Das Display selbst ist in 8 pages gegliedert (quasi die Zeilen im Textmodus, wie Bascom es verwendet). Jede Page ist 8 Pixel hoch, und 128 Pixel lang. (hmm... AFAIK gab es noch eine neunte Page, aber was damit war, fällt mir grad nicht ein...).
Jedenfalls konntest Du mittels Kommandobytes die gewünschte Page auswählen, und eine Startadresse innerhalb der Page, und dann Datenbytes senden. Die 8 bits eines Bytes sind die 8 vertikalen Pixel an der Position. Das ganze unterstützt autoincrement, dh Du kannst die 128 Bytes in einem Rutsch über den SPI jagen. Wie man unschwer erkennen kann, habe ich einfach das zu sendende Datenbyte inkrementiert (aber nicht bei 0 angefangen) - deswegen diese "Pyramidengrafik".

Hmm... also wenn man bei dem Konvertierprogramm SED als Displaytyp auswählt gehts? Danke für den Tip.

btw: bei den neueren DOGXL funktioniert das zwar ähnlich, allerdings ist eine Page jetzt nur noch 4 Pixel hoch. Hintergrund ist, daß diese Displays 2 bit Farbtiefe haben (also 4 Farben bzw Stufen einer Farbe). Die DOGM/L nur 1bit, also 2 Farben/Schattierungen (an/aus). Dementsprehend gehen die mit der DOG128-lib so nicht.

Edit: Wenns ums zeichnen von Linien, Kreisen und so geht, und Du für den Shadow-RAM die zu setzenden Pixel-Koordinaten ausrechnen willst, hilft Dir das Such-Stichwort: "Bresenham" weiter.
 
Moin,

erstmal danke für die Antwort,
allerdings wusste ich das alles berreits, wie schon gesagt: Ein bestimmtes Pixel setzten etc. geht,
aber:
-Was ist ein shadowram genau?
-Wie kann ich den Bascom anlegen?
-und wie weiter...

Gruß:
AVRuser
 
Hi,

-Was ist ein shadowram genau?
also in diesem Fall könnte man es auch "DisplayRAM" nennen.
Es beinhaltet ein Abbild vom Display. Da man ja beim Displayram nur schreiben kann weiß man nicht wo ein Pixel gesetzt ist uind wo nicht. Man könnte also noch nicht mal Grafik-Bereiche verschieben. Man verschiebt also dann das Abbild im DisplayRAM/ShadowRAM und sendet die geänderten Bereiche dann zum Display damit sie angezeigt werden.

Im Kurzen also ... Eine Kopie des Grafikspeichers des Displays die im SRAM des Atmels liegt.

Gruß
Dino
 
Ok, dass wäre geklärt, aber wie mach ich das mit Bascom?

Gruß:
AVRuser
 
Moin,

hab das G-lcd mittlerweile ganz gut am laufen...

Jetzt hab ich hier noch das EADOGM162, welches ich auch soweit angesteuert
bekomme, allerdings kann ich im Datenblatt einfach nicht finden wie ich in die zweite
Zeile springen kann.

Vieleicht kann mir ja jemand weiterhelfen...

Gruß:
AVRuser
 
Hi,

Jetzt hab ich hier noch das EADOGM162, welches ich auch soweit angesteuert
bekomme, allerdings kann ich im Datenblatt einfach nicht finden wie ich in die zweite
Zeile springen kann.
schreib doch einfach mal stur Zeichen zum Display. irgendwann werden die dann in der zweiten Zeile wieder auftauchen.
Laut dem Datenblatt von Reichelt ist da ein ST7036 Controller drin.
Nach dem Datenblatt sind die Zeilen bei einem 2-Zeilen-Display folgendermaßen im Speicher angeordnet ...
1. Zeile beginnt bei 00h
2. Zeile beginnt bei 40h
Das Datenblatt für den ST7036 ist recht informativ.

Gruß
Dino
 

Über uns

  • Makerconnect ist ein Forum, welches wir ausschließlich für einen Gedankenaustausch und als Diskussionsplattform für Interessierte bereitstellen, welche sich privat, durch das Studium oder beruflich mit Mikrocontroller- und Kleinstrechnersystemen beschäftigen wollen oder müssen ;-)
  • Dirk
  • Du bist noch kein Mitglied in unserer freundlichen Community? Werde Teil von uns und registriere dich in unserem Forum.
  •  Registriere dich

User Menu

 Kaffeezeit

  • Wir arbeiten hart daran sicherzustellen, dass unser Forum permanent online und schnell erreichbar ist, unsere Forensoftware auf dem aktuellsten Stand ist und der Server regelmäßig gewartet wird. Auch die Themen Datensicherheit und Datenschutz sind uns wichtig und hier sind wir auch ständig aktiv. Alles in allem, sorgen wir uns darum, dass alles Drumherum stimmt :-)

    Dir gefällt das Forum und unsere Arbeit und du möchtest uns unterstützen? Unterstütze uns durch deine Premium-Mitgliedschaft!
    Wir freuen uns auch über eine Spende für unsere Kaffeekasse :-)
    Vielen Dank! :ciao:


     Spende uns! (Paypal)