Max schrieb:
> Hallo,
>
> ich möchte ein graphisches LCD mit 240x128 Pixel und UC1608 Controller
> verwenden, schwarz/weis.
> Im Display sollen einige Dinge fix angezeigt werden (z.B: Rahmen) und
> einige Daten sollen veränderbar sein, wie Zahlen und Namen.
>
> - Wie übertrage ich die Inhalte am Besten?. Bilde ich im µC (PIC32) alle
> Pixels nach und übertrage den komplette Displayinhalt oder refreshe ich
> nur die geänderten Daten, wenn wie?
auf jeden Fall nur die Änderungen übertragen. Mit vollständigem Puffer
im RAM (fast 4KB) verschwendet RAM und dauert in der Übertragung zu lang
> - Wie lege ich am leichtesten einen Font mit z.B. 16 Pixel Höhe an?
Die Fontdaten speicherst du als Bitmuster im Flash deines PIC, den
kannst du dir mit geeigneten Hilfsmitteln aus einem Font am PC erstellen
bzw. hier und da findet sich in verschiedenen libs auch ein Zeichensatz
> - Wenn ich eine Zahl verändern will, gebe ich dann die Startkooridnaten
> an und die Konstante der neuen Zahl oder wie übertrage ich die Daten am
> Besten?
nachdem ich mal das Datenblatt kurz überflogen hab ...
Du kannst die Daten im Controller nur Byteweise ändern
(READDATA/WRITEDATA)
, d.h. alles was du darstellen willst must du vom PIC in Pixeldaten
umrechnen lassen und an das Display übertragen.
> - Wie "zeichne" ich am einfachsten meine "Hintergrundmaske" (PC) und
> bringe sie im µC zum Display?
für 'Grafik' mit einem Grafikprogramm erstellen und komplett im PIC
speichern für Linien/Flächen nur die Eckpunkte speichern und die Anzeige
im PIC berechnen
> - Gibt es vielleicht ein Möglichkeit einen Font im Display zu speichern,
> ähnlich aufgebaut wie bei einem alphanumerischen LCD, bei dem man
> Adresse und anzeigbares Zeichen angibt.
nein
> - Wenn ich es richtig verstanden habe, hilft mir das Tool bitmap2lcd für
> den grundsätzlichen Aufbau, aber nicht für veränderbare anzeigen.
ja, für grafische Elemente die statisch im PIC gespeichert werden sollen
> Die physikalische Kommunikation dürfte für mich kein Problem darstellen,
> eher das Verständnis, wie grafische Displays anzuspreche sind.
Um was darzustellen brauchst du div. Funktionen, die aufeinander
aufbauen:
1: schreib/lese-Routine fürs Display, mit der du ganze Bytes oder auch
nur einzelne Bits dieser Byts verändern kannst
2.1: Zeichenausgabefunktion, die die Pixeldaten für ein Zeichen aus dem
Flash des PIC holt, und an der entsprechenden Speicheradresse im
Displayram einsetzt.
2.2: Pixel setzen/löchen
3.1: Ausgabefunktion die Strings unter Verwendung von 2.1 auf's Display
bringt
3.2: Linien/Flächen zeichen/invertieren/löschen (mit 2.2 o. 1)
Grafiken zeichen (mit 1)
es gibt auch schon einige Grafiklibs, damit man das Rad nicht neu
erfinden musst. Ähnliche Controller sind z.B. KS0108 o. T6963, wo du dir
einiges abschauen kannst
Sascha