AVR Studio 5, sprintf, float und linken?

OP #2219597
Lesenswert?

Hallo,
ich komme einfach nicht weiter. Ich möchte unter AVR Studio 5 
float-Werte auf's LCD schicken, dass ich dafür entsprechend 
libprintf_flt.a, libm.a und die Option -Wl,-u,vfprintf setzen muß ist 
mir jetzt klar.

http://www.mikrocontroller.net/articles/FAQ#Aktivieren_der_Floating_Point_Version_von_sprintf_beim_WinAVR_mit_AVR-Studio

Wie funkt das in AVR Studio 5? Unter Projekt-Properties finde ich im Tab 
Toolchain vermutlich die entsprechenden Optionen aber was muß ich 
machen?

Danke mal im Voraus!
OP #2225897
Lesenswert?

Jetzt muß ich nochmal nachfragen.
Ich hab wie oben beschrieben die Optionen gesetzt. Beim Komplieren 
bekomme ich die Warnung:
- implicit declaration of function 'sprintf'
- incompatible implicit declaration of built-in function 'sprintf'

Das Programm aber funktioniert. Auf dem LCD bekomme ich kein '?' sondern 
die korrekten Werte nach sprintf Vorgabe?
Gast #2264674
Lesenswert?

Hallo,

Ich bin nach 'Hal Smith' Beschreibung vorgegangen und beim Erstellen der 
"Solution" wird bei mir immer abgebrochen mit der Meldung "cannot find 
lprintf_flt". Ich benutze AVR Studio 5.0.1163.

Wo ist denn diese lprintf_flt überhaupt?

Danke im Voraus!
Gast #2684451
Lesenswert?

In Avr-Studio 6 ist der Eintrag beider Libraries , also libm.a und 
libprintf_flt.a so nicht notwenig. Es reicht aus "printf_flt" und ggf. 
die Mathe-Lib "m" einzutragen.

Der "zweite Library-Eintrag" unter Properties -> AVR/GNU Linker -> 
Miscellaneous -> -Wl,-u,vfprintf nicht mehr manuell notwendig. Statt 
dessen wird unter Properties -> AVR/GNU Linker -> General -> "Use 
vprintf (-Wl,-u,vfprintf)" angehakt werden.

Warum man für Einträge wie F_CPU und die Libraries nicht einfach ein 
paar Haken bzw. Felder verfügbar machen kann,wie es in anderen IDE's 
gemacht wird, verstehe ich nun nicht so recht. Warten wir mal ab - evtl. 
tut sich ja nochmal was in dieser Richtung.

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