Paul schrieb:
> Die Begrenzung ist klar und wie kann ich vorher die Umrechnung von Dezi
> auf Hex machen?
Du musst überhaupt nichts umrechnen.
Das Zeichen 'A' kann hexadezimal 0x41, 65 dezimal oder 1000001 binär
geschrieben werden. Das sind aber nur Schreibweisen für den Menschen.
Gespeichert wird der Wert im µC nämlich immer gleich.
An das Graphikdisplay musst Du diesen internen Wert schicken, dabei ist
es egal, wie Du das schreibst, z.B.
1 | send_character ('A');
|
2 | send_character (0x41);
|
3 | send_character (65);
|
4 | send_character (0b1000001);
|
Das Resultat ist immer dasselbe: Es wird das Zeichen 'A' übertragen.
P.S.
Dass da im Handbuch des Displays etwas von Hex-Werten steht, ist für nur
Dich als Leser relevant. Damit Du die Zahlenbereiche auch verstehst.
Es wäre zwar theoretisch denkbar, dass tatsächlich Hex-Zeichenketten
übertragen werden müssen, also zunächst das Zeichen '4' und dann '1'
(also 2 Bytes statt einem!) für 0x41, aber das ist höchst
unwahrscheinlich. Warum sollte man die Kommunikationsschnittstelle bei
einem Graphikdisplay derart aufblähen, dass für den Menschen(!) lesbare
Zeichen übertragen werden müssen? Diese müssten ja auf dem µC erst in
Zeichenketten umgestaltet werden und anschließend auf dem
Graphiksdisplay wieder zurückgerechnet werden. Das wäre nicht nur ein
unnötiger, sondern auch komplett unnützer Aufwand. Dabei verdoppelt sich
nicht nur der nötige Datenstrom, auch die Rechenleistung wäre auf beiden
Seiten höher. Desweiteren ist es kompletter Unsinn, sich bei einer
Kommunikation nur auf die Zeichen 0-9A-F zu beschränken. Hier werden
komplette Bytes verschickt und nicht nur 16 verschiedene Werte, für die
eine 4-Bit-Übertragung ausgereicht hätte.
Man kann daher allein durch logische Überlegungen darauf schließen, dass
Du auf dem falschen Dampfer bist. Dabei brauche ich den Typ Deines
Displays gar nicht zu kennen.