Hallo ! Ich habe eine Grafikdisplay 128x64 mit zwei KS0108 Controller. Folgendes Problem: Ich habe zur Zeit nur die eine Hälfte vom Display sichtbar. Dabei wird immer das selber Darstellungsmuster, so eine Art Strichcode angezeigt. Folgende Parameter setze ich am Anfang R/S = 0 R/W = 0 EN = 0 0x3F = Display On 0x40 = Set Y Address 0 0xB0 = Set X Page 0 0xC0 = Set Display Start Line R/S = 1 R/W = 0 EN = 0 Danach beschreibe ich das RAM an der Stelle 0 - 63 mit 0xAA. Meine Taktleitung ist die EN, von High nach Low werden die Daten gesetzt bzw. übernommen. Was mache ich verkehrt, ich kann einfach das dargestellte Bild nicht verändern ? Wäre nett, wenn ich ne kurze Hilfe bekommen könnte! Mfg Marcus
..eventuell einfach mal was anderes rein schreiben als 0xaa, denn dies sind deine striche.. 10101010bin = 0xaa... die controller lassen sich warscheinlich über getrennte cs oder reset leitungen ansprechen, und momentan scheinst du den einen zu aktivieren.... m.
Hallo ! Die Controller lassen sich über zwei CS Leitungen auswählen - korrekt. Bis jetzt konnte ich auch nur einen einzigen ansprechen obwohl ich dies entsprechend in meiner Software mit integriert habe ! Keiner Ahnung warum. Kleiner Nachtrag noch die "Page" fängt bei 0xB8 und nicht bei 0xB0 an. Das war ein Schreibfehler von mir ! Ich werde jetzt versuchen, verschiedene Parameter ins Ram zu schreiben, mal sehen was passiert! Mfg Marcus PS: Ich brauche noch weitere Ideen, wie ich mein(e) Problem in den Griff bekomme !
..in deiner beschreibung oben steht nichts vom setzen der cs leitungten... du betreibst im grunde genommen 2 - 64x64 displays! das ist das ganze geheimnis... bei deiner momentanen beschreibung hast du 4 waagerechte striche im oberen 8tel eines der beiden hälften, wobei der abstand von strich zu strich immer gleich ist, oder!? bei anwahl der page 1 solltest du das im 2ten 8tel des jeweiligen displays haben... usw.. also, irgentetwas stimmt mit der ansteuerung oder verdrahtung deiner 2 cs leitungen nicht. m.
Hallo ! Für jeden Controller mache ich diese Initialisierung hintereinander. Dabei wähle ich zwischen [ CS1 Low & CS2 High ] Controller 1 bzw. [ CS1 High & CS2 Low ] Controller 2 aus! Ich habe leider keine Möglichkeit die Striche zu verändern. Es taucht immer wieder die selbe Pixel-Darstellung in der einen Hälfte auf. Was tun ? Mfg Marcus
Etwas anderes als 0xAA ins RAM schreiben. Wurde ja schonmal erwähnt. Du weißt schon, dass jedes Bit im RAM einen Pixel repräsentiert?
...hast du denn die 4 linien im oberen achtel!? ansonsten ist es evtl. nicht richtig initialisiert.... ..ich würde dir empfehlen dein problem etwas genauer zu beschreiben, oder besser gesagt dein ist-stand.... m.
Ich beschreibe jedes Pixel mit einem neuen eigenen Wert ... Aber die Problem bleiben... :-(
Wenn ich das Display mit 0xFF beschreibe - ist mein Bild weiss. Alle anderen Werte außer 0xFF liefern immer die gleiche Darstellung vom Bildaufbau. Es kann sein das beim Init eine Fehler ist allerdings bin ich der Meinung das soweit alles in Ordnung ist! Physikalisch liegen sämtliche Signale am Display an. Hat jemand ein Init was ich vergleichen kann ? Ich programmiere in C. Mfg Marcus
...versuch dir mal vorzustellen du sollst eine dose mais eines bestimmten herstellers kaufen, und man schickt dich mit diesem wissen los. würdest du sie finden? wenn du dann fragen stellst und der jenige dir auf die frage: welche marke es denn sein soll, mit: "der mais ist gelb" antwortet, was würdest du dann machen!? m.
...was genau ist auf deinem display wo zu sehen, was passiert wenn du im code den zugiff auf die zeilen mit anderen werten füllst, was passiert wenn du die pages änderst, was passiert wenn du die y adresse veränderst, und welchen einfluss hat es auf die darstellung im display? hast du die ansteuerung selbst geschrieben? ...versuche logisch in kleinen schritten an das problem ran zu gehen, wenn du nicht zum erfolg kommst, dann poste die schritte und die ergebnisse hier, ansonsten findet hier keiner die dose. m.
1) initialisierung überprüfen (zugriff sicher stellen) 2) einen wert schreiben 3) wert auf display überprüfen 4) mehrere werte schreiben 4.1) werte lesen 5) hardware abstrahieren, sodass es wie ein 64x128 ansprechbar ist 6) zugriffsfunktion set(x,y,color) implementieren 7) GLCD routinen implementieren, wenn gewünscht 8) grafik text usw... m.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.