Forum: Compiler & IDEs Ausgabeformatierung ohne printf?


von Marian (Gast)


Lesenswert?

Hallo,

ich wollte mal wissen, ob es eine Möglichkeit gibt Ausgaben über Uart zu 
formatieren ohne die Speicherintensive printf()-Funktion zu benutzen?
Ich bräuchte mindestens folgende Formatierungen : Hex,Float,natürlich 
Integer und die Option das Vorzeichen mit Auszugeben, sowie die 
Ausgabestellen festzusetzen (z.B. %07.03lf).

Ich arbeite mit dem AVR-Studio, also dem GCC 4.2 und einem Atmega32.

von Karl H. (kbuchegg)


Lesenswert?

Marian wrote:
> Hallo,
>
> ich wollte mal wissen, ob es eine Möglichkeit gibt Ausgaben über Uart zu
> formatieren ohne die Speicherintensive printf()-Funktion zu benutzen?
> Ich bräuchte mindestens folgende Formatierungen : Hex,Float,natürlich
> Integer und die Option das Vorzeichen mit Auszugeben, sowie die
> Ausgabestellen festzusetzen (z.B. %07.03lf).
>

Da wirst du dir wohl selbst was schreiben muessen.

von Simon K. (simon) Benutzerseite


Lesenswert?

Karl heinz Buchegger wrote:
> Da wirst du dir wohl selbst was schreiben muessen.

Jup, aber nicht ganz ohne Hilfe: itoa/ltoa sollte dein freund sein.

von Johannes M. (johnny-m)


Lesenswert?

Simon Küppers wrote:
> Karl heinz Buchegger wrote:
>> Da wirst du dir wohl selbst was schreiben muessen.
>
> Jup, aber nicht ganz ohne Hilfe: itoa/ltoa sollte dein freund sein.
...und dtostr[f,e] für die Gleitkommazahlen. Wobei allerdings, wenn 
Fest- und Gleitkommawerte ausgegeben werden sollen, das ganze vom 
Speicherbedarf her wahrscheinlich auch nicht wesentlich kleiner wird als 
mit printf.

von Marian (Gast)


Lesenswert?

Danke für eure Antworten.

Also kann ich davon ausgehen, dass ich mit selbst geschriebenen 
Funktionen keinen Speicherplatz sparen werde?

Naja dann muss ich wohl printf() weiter nutzen und mir woanders Speicher 
herzaubern :).

Gruß,

Marian

von Rolf Magnus (Gast)


Lesenswert?

Wenn du richtig viel Speicher sparen willst, versuche, auf 
Fließkommatypen komplett zu verzichten.

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
Noch kein Account? Hier anmelden.