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.