Forum: Compiler & IDEs AVR Studio 5, sprintf, float und linken?


von Hal S. (hal9000de)


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!

von Hal S. (hal9000de)


Lesenswert?

OK ... geschafft

Unter
Project Properties -> Toolchain -> AVR/GNU C- Linker -> Libraries
in Libraries (-WI, -I), libprintf_flt.a und libm.a eintragen.

dann unter
Project Properties -> Toolchain -> AVR/GNU C- Linker -> Miscellaneous
in Other Linker Flags, -Wl,-u,vfprintf eintragen

funktioniert

von Hal S. (hal9000de)


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?

von Stefan E. (sternst)


Lesenswert?

1
#include <stdio.h>

von Hal S. (hal9000de)


Lesenswert?

Danke, wieder was gelernt ;-) ...

von James Stimpson (Gast)


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!

von Mario G. (mario)


Lesenswert?

*libprintf_flt.a*

von Gerhard G. (xmega)


Lesenswert?

Hallo,

schau dir das mal an:

Beitrag "AVR Studio 5, sprintf, float und linken?"

einzeln mit der PLUS-Schaltfläche dazufügen:

libprintf_flt.a
libm.a

Gruß XMEGA

von Gerhard G. (xmega)


Lesenswert?

Hallo,



Gerhard G. schrieb:
> Hallo,
>
>
>
> schau dir das mal an:
> Beitrag "AVR Studio 5, sprintf, float und linken?"
> einzeln mit der PLUS-Schaltfläche dazufügen:

> libprintf_flt.a
>
> libm.a
>
>
>
> Gruß XMEGA


vergessen!!!

habe den falschen Thread verwendet.


xmega

von Martin (Gast)


Lesenswert?

Hal Smith schrieb:
> Wie funkt das in AVR Studio 5?

AVR Studio ist eine Software. Wenn du funken willst, benötigst du 
darüberhinaus Hardware. Schau dich einfach im Netz mal um, es gibt 
erschwingliche WLAN-Module, die man seinen Selbstbauten dazuflanschen 
kann.

von C-Hase (Gast)


Lesenswert?

Das hat mir grade den tag gerettet, danke!

von Joachim .. (joachim_01)


Lesenswert?

Hat super funktioniert. Danke!

von dd4da (Gast)


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.

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.