Forum: Mikrocontroller und Digitale Elektronik FLOAT TO ASCII


von HaPe (Gast)


Lesenswert?

Hallo zusammen, ich nutze einen Atmega8 , AVR Studio + WINAVR GCC.

Kann mir jemand sagen in welcher LIB die Funktion ftoa() steht?
Ich will über ADC einen Strom zwischen 0 und 3 Ampere messen und das 
umgerechnete Ergebniss via UART senden und am LCD ausgeben.

Danke im Vorraus.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

HaPe schrieb:
> Ich will über ADC einen Strom zwischen 0 und 3 Ampere messen und das
> umgerechnete Ergebniss via UART senden und am LCD ausgeben.
Und wo kommt da ein float vor?

> ich nutze einen Atmega8
Viel Spass mit der float-Lib in dem kleinen Ding...

BTW:
Ich würde (wenns unbedingt sein müsste) einfach sprintf() nehmen...

von Helfer (Gast)


Lesenswert?

Schau dir dtostrf() oder dtostre() aus stdlib.h an.
http://www.nongnu.org/avr-libc/user-manual/group__avr__stdlib.html
Und mit libm.a linken nicht vergessen.

von Falk B. (falk)


Lesenswert?

@  HaPe (Gast)

>Ich will über ADC einen Strom zwischen 0 und 3 Ampere messen und das
>umgerechnete Ergebniss via UART senden und am LCD ausgeben.

Sowas macht man mit Festkommaarithmetik.

MFG
Falk

von HaPe (Gast)


Lesenswert?

Danke für den schnellen Antworten...

ich werd sehen wieviel Rechenleistung es benötigt...wenn es mir zu viel 
wird in mA ausgegeben.

von Karl H. (kbuchegg)


Lesenswert?

HaPe schrieb:
> Danke für den schnellen Antworten...
>
> ich werd sehen wieviel Rechenleistung es benötigt...wenn es mir zu viel
> wird in mA ausgegeben.


Kein Mensch sagt, dass du in mA ausgeben musst.
Du kannst programmintern in mA rechnen und bei der Ausgabe nach der 
Tausenderstelle einen Dezimalpunkt einschleusen. Und schon stehen auf 
deinem Display wieder Ampere.

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.