float-Zahl ausgeben

Gast #1280617
Lesenswert?

Hallo allerseits

Sitze hier vor einem kleinen Problem:

Ich habe hier in meinem Programm diverse Berechnungen etc..Resultat 
dieser sind jeweils float-Zahlen.

Nun möchte ich diese gerne auf meinem Display anzeigen, doch genau an 
diesem Punkt scheitert mein Vorhaben.

Ich kann die Zahlen sehr wohl nach ASCII konvertieren und anzeigen, 
klappt perfekt. Nur leider fehlen mir danach die Nachkommastellen.

Hat hier jemand einen Tipp für mich, wie ich das am elegantesten lösen 
könnte?
Verwende übrigens den CCS Compiler.

Danke und Gruss
Gast #1280653
Lesenswert?

Danke für die Antwort, jedoch funktioniert das leider nicht.
Der Compiler meldete:

STDOUT not defined (may be missing #USE RS232)  In call_1

Habe daraufhin mal nachgesehen und testweise über "#use rs232" die 
Schnittstelle aktiviert, da der Befehl ja scheinbar nur dann geht.
Jedenfalls funktioniert es auch jetzt noch nicht, der Mikrocontroller 
macht immer einen Reset an der Codestelle, wo meine float-Zahl gewandelt 
werden soll.

Gibts noch einen anderen Weg, eine float-Zahl auszugeben?
Gast #1280663
Lesenswert?

>printf ...

Muaaahhhhh. Dauert viel zu lange. Besser als Longint rechnen uns dann 
das Komma schieben. Es gibt natuerlich Funktionen, die Float bedingen. 
Dann braucht man die eben. --> Library hinzulinken.
Gast #1280768
Lesenswert?

Hallo,

> Muaaahhhhh. Dauert viel zu lange....
Das war mal, die heutigen uC haben viel mehr Leistung wie früher und da 
fällt das nicht mehr so sehr ins Gewicht!
Ich hab beide Versionen ausprobiert und wenn dein Prog nicht 
zeitkritisch ist und du jede µs einsparen musst ist folgendes sicher 
viel besser:


Bsp("stdio.h" einfügen nicht vergessen):

   char out[16];
   float u = 2.456;

   sprintf( Out, "t=%5.2fs", u);
       //Die Floatzahl wird in das Char-array "Out" gespeichert.
       //Inklusive Komma!

Nun brauchtst du nur mehr dein Char out Zeichenweise auf dein Display 
ausgeben.

Welchen µC verwendest du?

lg
Bas

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren