avr SRTING TO FLOAT

Gast #5483986
Lesenswert?

Moin

Arbeite zu ersten mal mit float werte.

AVR Studio 4

Es soll der string 123.45 in einer float gewandelt werden.


                sprintf(buf,"123.45");
           buf[4]=0;
          fl_wert=(atof(buf));
                sprintf(buf,"%3.2f",fl_wert);

           usart_write_str(buf); / ausgabe über uart

es wird 17142.00 vom uart gesendet
was mache ich da falsch ?
Beitrag #5483991 wurde von einem Moderator gelöscht.
Gast #5484023
Lesenswert?

ersten fehler gefunden
es fehlte :

#include <stdlib.h>


es wird jetzt 123.45 gesendet.

Nur wenn ich den float wert 123.45 + 1 berechne bekomme ich eine fehler
meldung beim compilieren.


avr-gcc -mmcu=atmega644 -Wl,-u,vfprintf timer.o usart.o main.o    -lm 
-lprintf_flt  -o 12072018
c:/winavr-20100110/bin/../lib/gcc/avr/4.3.3/../../../../avr/lib/avr5\lib 
c.a(mulsf3x.o):  In function `__mulsf3_pse':
(.text.avr-libc.fplib+0x98): relocation truncated to fit: R_AVR_13_PCREL 
against symbol `__fp_inf' defined in .text.avr-libc.fplib section in 
c:/winavr-20100110/bin/../lib/gcc/avr/4.3.3/../../../../avr/lib/avr5\lib 
m.a(fp_inf.o)
make: *** [12072018] Error 1
Build failed with 1 errors and 51 warnings...

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