Guten Abend, ich habe folgende Funktion geschrieben. Diese Funktion ermöglicht mir Zahlen auf einen LCD anzeigen zu lassen. Funktioniert auch sehr gut. Nur leider wird erst immer die erste Stelle der Zahl angezeigt. Beispiel: Wert 123 -> abgezeigt 321 Jetzt muss ich irgendwie dem Display sagen gehe zwei Zeichen zurück schreibe den nächsten Wert und rücke das letzte Zeichen auf. Ich hoffe jemand versteht mein Problem und kann mir helfen. Ich verstehe das nicht so ganz mit Shift u.s.w. Mit freundlichen Grüßen Christian do { lcddata(data % 10 + '0'); /* lcdctrl(0x10); //Fuktioniert leider nicht delayus(5000); lcdctrl(0x10); delayus(5000); */ data /= 10; }while (data);
ist das ein hd44780-komp. display? wenn ja, kannst du doch z.b. den cursor ans ende der zahl bringen, das den cursor auf linksshift umstellen und dann die zahl der reihe nach auf das display schreiben. hab sowas zwar noch nie gemacht/gebraucht, müsste aber klappen
Hallo Thorsten, Ja es ist ein hd44780-komp. display. Genau wie du es beschreibst möchte ich es realisieren. Leider klappt es nicht so ganz. Gruß Christian
Ein anderer Vorschlag: Anstatt den Cursor da hin und her zu schicken, kannst Du auch die einzelnen Ziffern in einem Array zwischenspeichern und aus diesem Zwischenspeicher in umgekehrter Reihenfolge ausgeben. char Digit[6]; i = 0; do { Digit[i] = data % 10 + '0'; data /= 10; } while (data); while( i ) lcddata( Digit[i--] ); (Warnung: ungetesteter Code)
Und schon der erste Fehler: i muss natuerlich in der ersten Schleife auch erhoeht werden. zb. so Digit[i++] = data % 10 * '0';
Hallo Karl Heinz Buchegger, vielen Dank für Deinen guten Lösungsweg. Ich habe es genau so wie in Deinem Beispiel gemacht. Ich wünsche Dir noch eine schöne und erfolgreiche Woche. Mit freundlichen Grüßen Christian
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.