glcd aufteilung pixel problem

Gast #2996989
Lesenswert?

Hallo, bin gerade dabei ne eigene lib für das glcd mit ks0801 controller 
von pollin zu schreiben. Habe jetzt zwei probleme

Erstens verstehe ich die einteilung der pixel  nicht richtig. X ist im 
datenblatt y , y ist x und dann gibts noch z, die pages...

Habe schon verstanden, dass es 8 pages gibt, die unterteilt sind in 8bit 
und die jeweils angewählte meinem datenport entspricht. Die zeilen 
größer als 63 werden von dem zweiten controller gesteuert werden.
Wofür ist dann aber der y wert? Macht  der so ne art offset?  Wie kann 
ich pagesübergreifend  diepixel ansteuern

Und noch eine frage: ich färbe das glcd momentan so, dass ich in die 
jeweilige page und zeile gehe,  und 0xff auf den datenbus lege. 
Funktioniert auch gut. Beim rumprobieren habe ich dann mal spasseshalber 
0xaa reingeschrieben, also jede zweite zeile schwarz gefärbt. Dabei 
passierte folgendes: mit jeder page wurden die gesetzten pixel dunkler. 
Das phänomen ist controlerweise zu beobachten. Warum ist das so, ist das 
normal?
Ich habe vorher die lib von ape benutzt, diese produziert bei mir jedoch 
zeilenfehler. Die funktion ks0108drawline färbt bei mir die 
entsprechende page ein, jedoch nicht eine einzelne zeile.
Stimmt evtl was mit meinem glcd nicht?
Gast #2997023
Lesenswert?

Ich kann also nicht einfach mit y in die zeile 10 springen und dort 8 
bit reinschreiben, sondern muss umrechnen und in entsprechende pages 
springen? Hab ich gerade probiert, dann zerreist mkrs aber das bild. 
Wofür gibts dann set y in der cmd liste? Hier kann ja auch 64 
reinschreiben. Und was ist mit dem kontrast problem?

Dennis Heynlein schrieb:
> Wenn Du keinen Puffer-Speicher verwenden willst mußt Du Spalte+Page
> einlesen, manipulieren und zurückschreiben.
>
> Bit 0 repräsentiert in der Page die Pixel Y=0 in Page 0,Y=8 in Page
> 1,Y=16 in Page 2
> Bit 1 Y=1,9,17 usw.
> Bit 7 Y=7...
Gast #2997069
Lesenswert?

Hi

Soweit ich das in meiner lib (http://code.google.com/p/u8glib/) 
umgesetzt habe, ist es so:
Es muss der Controller, die "page" und eine "Spalte"angegeben werden: 
Die Spalte geht von 0 bis 63 und entspricht beim linken Controller dann 
dem x-Wert. Der x-Wert (Spalte) wird im Datenblatt unglücklicherweise 
als y-Adresse bezeichnet, gemeint ist aber die Spalte oder X-Adresse 
(hex 0x40 verODERt mit der spalte).

Oliver

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