T6963 Display Treiber Bitmap Anzeige

Gast #4262299
Hallo,

ich habe hier ein GLCD Display mit T6963C Treiber und einer Auflösung 
von 128x64 Pixeln. Auf diesem ich gerne Bitmaps anzeigen möchte, was 
bisher auch soweit funktioniert, allerdings mit Einschränkungen.

Ausgangskonfiguration der genutzen Hardware ist eine relativ nackte 
Platine mit einem ATMega645 und dem GLCD.

Zuerst habe ich es mit Pixel einzeln setzen probiert was allerdings von 
der Geschwindigkeit her ziemlicher Käse ist. Nun beschreibe ich den 
Displayspeicher direkt, allerdings bekomme ich das Bitmap nicht genau 
Positioniert sondern immer nur in 8 Pixel Schritten (Wenn ich das 
richtig gesehen habe :)

Die Routine habe ich aus dem easyT6963 Github Repository, allerdings 
lässt diese sich nicht genau Positionieren.

Aber anscheinend habe ich einen Denkfehler, da beim Schreiben in den 
Graphikspeicher ja bei einer X Position die sich nicht durch 8 Teilen 
lassen auch im Byte dementsprechend verschoben werden müssen, seh ich 
das Richtig?
Eventuell sind auch die Graphic Area/Home Werten nicht ganz in Ordnung, 
habe durchs Datenblatt vom T6963 in Kombination mit dem GLCD Datenblatt 
leider nicht herausfinden können welche festen Einstellungen für das 
Display am T6963 festgelegt wurden, oder ich war zu blind dieses zu 
finden. Daher die eher mutmasslichen TA/GA... Werte.

Diese sind momentan auf
1
GLCD_GRAPHIC_AREA 0x10
2
GLCD_TEXT_AREA 0x10
3
GLCD_GRAPHIC_SIZE 0x400
4
GLCD_TEXT_SIZE 0x80
5
GLCD_TEXT_HOME 0x00
6
GLCD_GRAPHIC_HOME 0x80
7
GLCD_OFFSET_REGISTER 2
8
GLCD_EXTERNAL_CG_HOME 0x1400

eingestellt.

Und hier die besagte Bitmap Routine:
1
void drawBitmap(uint8_t x,uint8_t y, const uint8_t *PicName,uint8_t height,uint8_t bytewidth)
2
{
3
  int j = 0;
4
  uint8_t h,i,bitmap;
5
    for (h = 0; h < height; h++){
6
      GLCD_GraphicGoTo(x,y+h);
7
    for (i = 0; i < bytewidth; i++) {
8
      bitmap = pgm_read_byte_near(PicName+(i+j));
9
      GLCD_WriteDisplayData(bitmap);
10
    }
11
    j = j + bytewidth;
12
    }
13
}

Vielleicht hat ja schonmal jemand von euch so ein Display angesteuert 
und evtl auch schonmal Bitmaps angezeigt und hat die passende Routine 
"rumfliegen" ;)

Grüße und vielen Dank im Vorraus
Michael

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 11 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.