Pages: [1]   Go Down
Author Topic: LCD  Ausgabe formatieren  (Read 7208 times)
0 Members and 1 Guest are viewing this topic.
0
Offline Offline
Jr. Member
**
Karma: 0
Posts: 62
Arduino rocks
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Hallo,

folgende Sache:
Ich will eine Zahl (max. 4stellig) auf einem LCD ausgeben - dahinter die Einheit (in meinem Fall mA)
Welche elegante Möglichkeiten gibt es dass die Einer-Ziffer immer an der selben Stelle ausgegeben wird also z.B. 5mA und 1000mA - da soll sich nichts verschieben.
Habe schon einiges ausprobiert mit scroll und rightToLeft etc.
könnte mit vorstellen dass es für dieses "alltägliche" Problem auch eine ebenso einfache Lösung gibt - deshalb meine Frage an euch - bevor ich anfange hier richtig kranke Konstukte zu programmieren ;-)

Viele Grüsse,   Michi
Logged

BZ (I)
Offline Offline
Brattain Member
*****
Karma: 260
Posts: 21566
+39 349 2158303
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

mit oder ohne führende Nullen?
fprint() hast Du schon probiert?

Ansonst fällt mir ein:
if(zahl <10) print(" "); // ein leerzeichen  oder auch Zahl Null
if(zahl <100) print(" "); // ein leerzeichen
if(zahl <1000) print(" "); // ein leerzeichen
print zahl;

Grüße Uwe
« Last Edit: January 23, 2011, 05:20:37 am by uwefed » Logged

0
Offline Offline
Jr. Member
**
Karma: 0
Posts: 62
Arduino rocks
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Hallo Uwe,

Ohne führende Nullen.
fprint() habe ich noch nicht probiert (wusste auch nicht dass das mit lcd.print funktioniert) mache mich gleich mal schlau wie das gehen könnte...

Quote
Ansonst fällt mir ein:
if(zahl <10) print(" "); // ein leerzeichen  oder auch Zahl Null
if(zahl <100) print(" "); // ein leerzeichen
if(zahl <1000) print(" "); // ein leerzeichen
print zahl;

...so ein ähnliches Konstrukt habe ich mir schon wo abgeschaut - so mache ich es momentan.

Viele Grüsse,    Michi
Logged

0
Offline Offline
Full Member
***
Karma: 0
Posts: 143
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Code:
char buffer[7];
sprintf(buffer,"%4imA",zahl);
print buffer;

mit Nullen

Code:
char buffer[7];
sprintf(buffer,"%04imA",zahl);
print buffer;

Gruß JKW
Logged

0
Offline Offline
Jr. Member
**
Karma: 0
Posts: 62
Arduino rocks
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Hallo,

Danke auch JKW - habe es auch mit sprintf() probiert - funktioniert auch. ;-)
Mir ist aufgefallen dass das Binary ca 1,5k grösser wird - spielt zwar in diesem Projekt keine grosse Rolle brauche jedoch auch nicht die Mächtigen Funktionen von printf().
Deshalb hab ich mich für die "Space Einfüge Methode"  entschieden.

Vielen Dank - hab wieder was gelern!

Viele Grüsse,    Michi
Logged

Pages: [1]   Go Up
Jump to: