Hallo Sebastian,
herzlichen Danke für die schnelle Antwort. Habe mich heute einige Stunden mit den Problemen herumgeschlagen und ein paar Fotos gemacht, die ich hoffentlich gleich anhängen kann. Habe mich quasi empirisch dem Problem etwas genähert und ein paar Ausgaben mit unterschiedlichen Zeichensätzen gemacht und auch den Fehler im Textmodus fotografiert.
Foto 3: Bei deinem original verwendeten Zeichensatz gibt es leider auch Darstellungsfehler z.B. bei "h" und "r" - wie übrignes bei 4x6 -siehe unten- auch.
lcd_plot_text_P(0,30,PSTR("Feler bei"),8,8,font_8x;
lcd_plot_text_P(20,40,PSTR("hhhhhrrrrr"),8,8,font_ 8x;
Also da passt entweder der Zeichensatz nicht zur Ausgaberoutine oder die Ausgaberoutine verdreht etwas?
Foto 1 und 2 stellen zum Testen eine Tabelle dar mit dem Text "E3". Damit teste ich verschiedene x,y-Werte für den Textausgabebefehl im Grafikmodus:
Die erste Zeile beginnt bei y=4, erste Spalte bei x=4, dann immer durchlaufend bis 10. Man kann erkennen bei welchen Werten der Text korekt dargestellt wird.
Foto 1: Der Zeichensatz 5x8 lässt sich mit 8,8 richtig darstellen.
Foto 2: Der Zeichensatz 4x6 stellt zwar "E3" zwei mal richtig dar, hat aber immer Fehler z.b. bei "r" und "h" wie bei deinem 8x8 ((
Selbst wen man endlich die Zeichen richtig darstellen kann, sind 8 Pixel Breite für einen 5 Pixel breiten Zeichensatz zu viel des Guten. Leider wird bei diesen winzigen Zeichensätzen immer Platz verschwendet und die Zeichen nicht so eng zusammengerückt wie es möglich wäre. Der 4x6 Zeichensatz ist aufgrund der Darstellungsfehler momentan unbrauchbar für mich - oder ich muss vielleicht die Buchstaben einzeln editieren ;-| Ich möchte gerne viel infos auf wenig Raum darstellen, Ziel ist nicht
erreicht.
Letztes Foto - Fehler im Textmodus:
Wie beschrieben, hier Fehler in der Mitte des LCD, Pixel werden nicht angesprochen.
Ich wollte zu allen aderen Problemen auch fragen, was macht eigentlich "lcd_write_text_P(const char *txt)"?
Lesezeichen