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.