Forum: Mikrocontroller und Digitale Elektronik Variable in Logarithmus funktioniert nicht


von Jens (Gast)


Lesenswert?

Moin,

kurz ein simples Problem, dessen Fehlermeldung ich nicht deuten kann.
Atmega16. Funktion:

double cents;
cents = 1200*log(freq_soll/freq)/log(2);

Ist übrigens zur Cent-Abweichung zweier Frequenzen.
Also das Building scheitert an dieser Zeile, genauer gesagt wenn ich 
Freq_soll/Freq durch eine Konstante ersetze funktioniert es. Freq und 
Freq_soll sind beides double.

Fehlermeldung:
Build started 1.5.2012 at 17:36:52
avr-gcc  -mmcu=atmega16 -Wall -gdwarf-2 -std=gnu99     -DF_CPU=7372800UL 
-Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -MD 
-MP -MT tuner.o -MF dep/tuner.o.d  -c  ../tuner.c
../tuner.c:1:0: warning: "F_CPU" redefined
<command-line>:0:0: note: this is the location of the previous 
definition
avr-gcc -mmcu=atmega16 -Wl,-Map=tuner.map tuner.o     -o tuner.elf
c:/program files/atmel/avr tools/avr 
toolchain/bin/../lib/gcc/avr/4.5.1/../../../../avr/lib/avr5\libc.a(float 
sisf.o):/home/tools/hudson/workspace/avr8-gnu-toolchain/src/avr-libc/lib 
m/fplib/floatsisf.S:42:  multiple definition of `__floatunsisf'
c:/program files/atmel/avr tools/avr 
toolchain/bin/../lib/gcc/avr/4.5.1/avr5\libgcc.a(_usi_to_sf.o):/home/too 
ls/hudson/workspace/avr8-gnu-toolchain/build-win32_x86/avr-gcc-full/avr/ 
avr5/libgcc/../../.././gcc/fp-bit.c:1384:  first defined here
collect2: ld returned 1 exit status
make: *** [tuner.elf] Fehler 1
Build failed with 1 errors and 1 warnings...


mfg

von unknown (Gast)


Angehängte Dateien:

Lesenswert?

Jens schrieb:
> warning: "F_CPU" redefined

Jens schrieb:
> multiple definition of `__floatunsisf'

siehe Bilder

mfg

von Jens (Gast)


Lesenswert?

Ja die Doppeldefinition habe ich rausgenommen. Aber dein Logcode 
funktioniert leider nicht.

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.