mikrocontroller.net

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


Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: ape (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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 :)

Autor: mthomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: mthomas (Gast)
Datum:

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

Martin

Autor: ape (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hab jetzt die Library nochmal komplett überarbeitet:

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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.