diese müssen über eine funktion putstr auf dem display DOGS102 zu sehen
sein, nun für die kleiensc hriftart funktioniert es, aber weshalb auch
immer gehts beim großen font nicht
hier die vorgegebene font struktur:
Masl schrieb:> Lass das pgm_read Gedöns und nimm __flash. Das ergibt einfacheren und> übersichtlicheren Code.
Ist in dem Fall ziemlich egal.
Ob er mit __flash falsch in den Speicher indiziert oder ob er die
Speicheradresse für pgm_read_byte falsch ausrechnet, schenkt sich
nichts. Es ist in der gleichen Weise falsch.
Karl Heinz schrieb:
Die Variante hier
> ein 2-dimensionales Array abbildet, wäre>
1
>....w*font.Lines+l
2
>
ist aufgrund
> 0x7C, 0x00, 0xFF, 0x33, 0xFF, 0x33, 0x7C, 0x00,> 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,> 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // "!"
die richtige. Die beiden Bytes, die senkrecht aneinander gelegt das
Zeichen ergeben, folgen offenbar unmittelbar hintereinander.
d.h das ist
1
O = Byte oben
2
U = Byte unten
3
4
O U O U O U O U ...
5
7C 00 FF 33 FF 33 7C 00 ...
6
7
Pixelspalte 1 1 2 2 3 3 4 4 ....
Um also an die Bytes der x-ten Pixelspalte zu kommen, muss man die
Spaltennummer mit der Anzahl der Bytes pro Spalte multiplizeren. Die
einzelnen Bytes jeder Spalte folgen dann direkt hintereinander.
Font.Lines ist genau diese Anzahl an Bytes
w ist die Nummer der jeweils auszugebenden Pixelspalte.
Daher