Forum: Compiler & IDEs Zeichensatz Array Dot-Matrix


von Anonymus (Gast)


Lesenswert?

Hi

ich bin dabei eine Laufschrift zu entwickeln und stoße dort gerade auf 
ein Problem.

Für den Zeichensatz des Displays wollte ich ein Array erstellen :

uint8_t Display[][6] = {
{"0", 0x62, 0x69, 0x73, 0x81, 0x62},
{'2', 0x33, 0x67, 0x69, 0x73, 0x49},
{'3', 0x34, 0x65, 0x65, 0x73, 0x54},
  ... für alle angezeigten zeichen ...
};

jetzt würde ich gerne auf dieses Array drauf zugreifen, wobei der 
Buchstabe die Variable sein soll, z.b. so:

test = Display["0"][1];

würde sowas gehen, oda wie sollte man das am besten für den Zeichencode 
realisieren, bin für jede Hilfe dankbar.

von Anonymus (Gast)


Lesenswert?

Ergänzung:

Der Buchstabe soll eis ein Char array genommen werden und dann in dafür 
benutzt werden, um aus dem Zeichensatz - Array die Werte für die Anzeige 
herauszuholen.

von Matthias (Gast)


Lesenswert?

Ich würde dir raten, den zeichensatz künstlich auf acht Felder pro 
Zeichen zu erhöhen. Hänge einfach 0x00 oder 0xFF, dran, je nachdem 
welches die Spalte ausschaltet!!.
x: Anzahl der Zeichen im Puffer

uint8_t Display[ x*8 ] = {
{ 0x62, 0x69, 0x73, 0x81, 0x62, 0x00, 0x00, 0x00,
{ 0x33, 0x67, 0x69, 0x73, 0x49, 0x00, 0x00, 0x00,
{ 0x34, 0x65, 0x65, 0x73, 0x54, 0x00, 0x00, 0x00,
  ... für alle angezeigten zeichen ...
};

Zugriff:
... = Display [ y*8 + z]



x: Anzahl der Zeichen im Puffer
y: Anzuzeigendes Zeichen aus dem Puffer
z: muss von 0...7(5) laufen, um das Zeichen auszugeben (evtl.über 
Interrupt)
Es bietet sich an, die Zeichenausgabe abzubrechen, wenn die erste Spalte 
ausgeben wurde, die keine! einzige LED anschaltet (0x00 oder 0xFF)
SOmit entsteht eine dynamische Zeichensatzlänge..

von Hehe (Gast)


Lesenswert?

Da gibts eine Application Note von Zilog (www.zilog.com 
Documentation->Application Note, "5x7 LED Matrix Display with Z8 Encore! 
MCUs") da hat man schon einen ziemlich fertigen Zeichensatz erstellt ;) 
aber eben für 5x7. Ich hoffe sowas meinst du?

von Anonymus (Gast)


Lesenswert?

@ Hehe :
Danke, genau den Denkanstoss hab ich gesucht :)

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.