Forum: Compiler & IDEs AVR-GCC, float to Ascii


von Marcel (Gast)


Lesenswert?

wie bekomme ich am besten ein float nach Ascii gewandelt?
Vermisse irgendwie ein ftoa in der Lib. printf und sprintf will ich
nicht benutzen da diese einen zu grossen Code erzeugt.

Gruß,
Marcel

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Das müsste mit gcvt gehen:

  char *gcvt(double value, int digits, char *buffer);

von johnny.m (Gast)


Lesenswert?

Afaik heißen die entsprechenden Funktionen beim GCC dtostr... (ist halt
ein double anstatt eines float und ein String als Ergebnis)

von johnny.m (Gast)


Lesenswert?

Hab nachgeschaut: dtostre gibt die Exponential-Darstellung, dtostrf die
'normale'.

von Marcel (Gast)


Lesenswert?

nach einer dtostre hab ich auch schon gesucht aber nix gefunden.
Bin ich blind?

http://www.nongnu.org/avr-libc/user-manual/group__avr__stdlib.html

von johnny.m (Gast)


Lesenswert?

Also in meiner stdlib.h ist die drin...

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Wenn du einen hinreichend großen Prozessor hast, kannst du
außerdem noch sprintf() nehmen.  Nicht vergessen, die
Gleitkomma-Option für printf auszuwählen (wie das geht, hängt
davon ab, wie du deine Makefiles erstellst).

von Marcel (Gast)


Lesenswert?

@johnny.m
ok...da mag die Funktion drin sein, ich vermisse blos die Doku dazu
:D.

@Jörg
Meine Projekte basieren grundsätzlich auf dem Sample Makefile welches
mit WinAVR geliefert wird. Da ist alles drin was man braucht und das
erspart mir viel Arbeit, da ich mich mit den Make Kram nicht so gut
auskenne und mit dem Sample sehr gut zurecht komme. Aber wie schon
gesagt die printf Funktion nimmt einfach zu viel Speicher weg wenn man
diese mit ins Projekt eincompiliert.

von Dirk (Gast)


Lesenswert?


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.