ich hoffe, ich hab jetzt die vorerst vorletzte Frage, solang mir Arduino nicht wieder ein Strich durch die Rechnung macht hust ^^.
Folgendes:
Ich gebe Daten, Ziffern, über eine Tastaturmatrix ein, diese werden in einer Variable gespeichert und am LCD ausgegeben. Doch was ist jetzt, wenn sich mal jemand vertippt? Die Eingabe muss ja schließlich zu ändern sein. WIe mach ich das am besten? Ich hab mir überlegt, dass ich mir jede Stelle einzeln in ein Array schreib, ebenso auch die Cursorposition. Denn die Ausgabe am Display ist auch so aufgebaut:
|XXXXXX XXXXXX|
XXXXXX XXXXXX
Und jeder 6'er-Block wird einzelnd über eine Taste angesteuert.
Eine Tasta dafür hab ich shcon vorgesehen. Ich hab mir überlegt, dass ich beim betätigen dieser Taste den Coursor immer eine Stelle nach links wandern lass und wenn dann eine andere Ziffer gedrückt wird, wird die entsprechende Stelle überschrieben.
Hat jemand einen Tipp, wie ich da am besten vorgeh? So, wie's mir jetzt im Kopf rumschwirrt, wird das nur ein ewig großer Code.
Vielleicht wäre interessant gewesen, wie dein Code dazu aussieht!
Eine möglichkeit wäre dieser pseudo Code
uin8t_t value_array[6] = { 1, 2, 3 ,4, 6, 7 };
uint32_t value = 0;
value = value_array[0] * 100000UL;
value = value + value[1] * 10000UL;
value = value + value[2] * 1000;
value = value + value[3] * 100;
value = value + value[4] * 10;
value = value + value[5];
Auf die Idee bin ich auch schon gekommen, das verwende ich auch für die ID, aber bei der abgebildeten Displayanzeige ist das nicht eine Zahl, sondern jede Ziffer einzeln, die am Ende zusammen addiert werden.
ja dann schreib dir eine Cursor Position wie bei den LCD16x2 Displays. Die Stellen lassen sich doch Problemlos zurückrechnen mit der Pixelbreite der Schrift.
Wieso Variablengewirr
Du übergibst Deiner Printfunktion die Array oder den numerischen Wert und die Cursorposition x und y Und die Gibt dann an der angegebenen Stelle eventuelle Leerzeichen und den Wert aus.