Forum: Mikrocontroller und Digitale Elektronik Problem mit 128x64 Display und Apetech lib.


von Michael (Gast)


Lesenswert?

Hallo,

ich betreibe ein 128x64 Pixel Display von Electronic Assembly mit der
library von Apetech. Da gib es nur folgendes Problem. Wenn man einzelne
waagerechte Linien zeichnet ist noch alles i.O., zeichnet man aber eine
zweite Linie darunter, dann geht aus der ersten Linie der 64. X-Punkt
aus, also der erste Punkt des rechten Kontrollers. Das ist immer bei
sieben Linien der Fall, bei jeder 8. Linie bleibt der 64. Punkt an.
Woran könnte denn das liegen?
Es ist auch so, wenn man nur den 64. X-Punkt in verscheidenen y-Zeilen
anmacht, 8,18,24 usw bleiben an...der Rest geht aus.

Danke an Alle

Michael

von ape (Gast)


Lesenswert?

Hallo,
das is wahrscheinlich nen Bug in der Lib.
um ein Pixel in einer Page (also je 8 übereinander liegenden Pixeln) zu
setzen, muss man ja die Page vorher auslesen.
Das auslesen funktioniert bei dem KS0108 Chipset ziemlich besch*****.
Damit es überhaupt funktioniert muss man einen dummy read machen. Hab
mir da lange die Ohren gebrochen bis es überhaupt funktioniert hatte.
Gut möglich das er da beim switchen der Chips (also beim Übergang vom
63. zum 64. Pixel) Mist macht.
Die Lib war so ziemlich mein erstes Projekt mit dem avr-gcc. Hab
neulich mal nen Blick raufgeworfen, mittlerweile würd ich so einiges
anders machen... :) Naja keine Zeit in letzter Zeit :/

Ist auf jeden Fall ein Software Problem, und mir fällt so auf die
schnelle auch kein vernünftiger Workaround ein. Tut mir leid :)

von mthomas (Gast)


Lesenswert?

Hab den Bug in der "ape-lib" vor einiger Zeit mal gepatched, finde
grade den Source-Code nicht mehr, kann bei Interesse nochmal suchen.
Der interne Adressepointter des GLCD wird bei jedem
Schreib-/Lesezugriff erhoeht. Das Problem trat bei der Umschaltung
zwischen den "Displayhaelften" auf, da dort bei der Umschaltung auch
ein Schreibzugriff (oder war es Lese-?) erfolgt und damit der
Adressepointer inkrementiert wird, was aber nicht beabsichtigt ist.

von Michael (Gast)


Lesenswert?

Hallo Thomas

Schau doch bitte mal nach, es läge mir wirklich viel daran, denn mit
´nem C-Seepferdchen beseitigt man den Fehler nicht so leicht.

Danke Michael

von mthomas (Gast)


Lesenswert?

bin mir nicht sicher, ob's der letzte Stand ist - einfach ausprobieren
http://www.siwawi.arubi.uni-kl.de/avr_projects/glcd/

Martin

von ape (Gast)


Lesenswert?

Hab jetzt die Library nochmal komplett überarbeitet:

http://www.mikrocontroller.net/forum/read-4-67157.htm

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.