Hallo,
ich hab mal eine Frage bezüglich Fontmaps und Assembler. Mit dem
FontCreator von Maximilian Thiele kann man sich ja schön die einzelnen
Zeichen als Bitmuster generieren:
static uint8_t new_Font[] PROGMEM = {
...
...
// font data
0xFE, 0x01, 0x01, 0x01, 0xFE, 0x00, 0x80, 0x80, 0x80, 0x00, // 48
0x04, 0x02, 0xFF, 0x00, 0x00, 0x80, // 49
0x02, 0x81, 0x41, 0x31, 0x0E, 0x80, 0x80, 0x80, 0x80, 0x80, // 50
0x82, 0x01, 0x11, 0x11, 0xEE, 0x00, 0x80, 0x80, 0x80, 0x00, // 51
0x60, 0x58, 0x46, 0xFF, 0x40, 0x00, 0x00, 0x00, 0x80, 0x00, // 52
0x9C, 0x0B, 0x09, 0x09, 0xF1, 0x00, 0x80, 0x80, 0x80, 0x00, // 53
0xFE, 0x11, 0x09, 0x09, 0xF2, 0x00, 0x80, 0x80, 0x80, 0x00, // 54
0x01, 0xC1, 0x39, 0x05, 0x03, 0x00, 0x80, 0x00, 0x00, 0x00, // 55
0xEE, 0x11, 0x11, 0x11, 0xEE, 0x00, 0x80, 0x80, 0x80, 0x00 // 56
....
Um auf die einzelnen Zeichen zuzugreifen brauche ich aber doch einen
Offset zur Speicheradresse, z.B. für "1":
static uint8_t new_Font +9; um auf die zweite Zeile zuzugreifen.
Demendsprechend brauche ich wohl noch eine Liste in der die Offsets
stehen, oder?
Hat man z.B. die Zahl 1200 - 0b0000 0100 1011 0000, konvertiere ich die
einzelnen Stellen.
Ziffer 1 = Liste_Offsets zweite Position
Ziffer 2 = Liste_Offsets dritte Position
Ziffer 0 = Liste_Offset erste Position
Ziffer 0 = Liste_Offset erste Position
Wie macht ihr das?
>Demendsprechend brauche ich wohl noch eine Liste in der die Offsets >stehen, oder? Entweder eine Tabelle, oder eine Berechnung, wenn die Ziffern alle die gleiche "Breite" haben.
Deshalb gibt es in den erzeugten Daten ja auch noch den Bereich // char widths Wie sich daraus der Offset auf ein Zeichen berechnet, entnimmst du am besten der dazugehörigen ks108-library. Oliver
ahhhh,
// char widths
0x05, 0x03, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05,
Auf obiges Bitmuster bezogen; Pos = Char widths * 2 = Anzahl der
Bitmuster.
Ist für ein ein OLED, SSD1303...
Merci,
Jochen
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.