mikrocontroller.net

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


Autor: Hal S. (hal9000de)
Datum:

Bewertung
0 lesenswert
nicht 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!

Autor: Hal S. (hal9000de)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Hal S. (hal9000de)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Stefan E. (sternst)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
#include <stdio.h>

Autor: Hal S. (hal9000de)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke, wieder was gelernt ;-) ...

Autor: James Stimpson (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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!

Autor: Mario G. (mario)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
*libprintf_flt.a*

Autor: Gerhard G. (xmega)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Gerhard G. (xmega)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: C-Hase (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das hat mir grade den tag gerettet, danke!

Autor: Joachim .. (joachim_01)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hat super funktioniert. Danke!

Autor: dd4da (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.