Avr Studio Float printf

OP #1286531
Lesenswert?
• ▲
▼
Hallo Profis,
ich habe folgendes Problem, Ich kann mit Printf kein double anzeigen ich 
krige nur ?f !
Ich verwende das AVR Studio und WinAvr 20080403 ich habe im Avr Studio 
unter includs "libc.a" und "libprintf_flt.a"zum Linken hinzugefügt !

Nach suche hier im Forum habe ich einen Beitrag gefunden das es mit Win 
AVR 20061009 anscheinend fuktioniert und so hab ich das auch ausprobiert 
leider ohne Erfolg

Bitte klärt mich über meine Fehler auf !

Danke im Voraus
MFG

Pier
#1286539
Lesenswert?
• ▲
▼
Pier S. schrieb:
> Hallo Profis,
> ich habe folgendes Problem, Ich kann mit Printf kein double anzeigen ich
> krige nur ?f !
> Ich verwende das AVR Studio und WinAvr 20080403 ich habe im Avr Studio
> unter includs "libc.a" und "libprintf_flt.a"zum Linken hinzugefügt !

Das reicht noch nicht.
http://www.mikrocontroller.net/articles/FAQ#Aktivieren_der_Floating_Point_Version_von_sprintf_beim_WinAVR_mit_AVR-Studio
Gast #3874997
Lesenswert?
• ▲
▼
Jürgen M. schrieb:
> Leider ist hier die libprintf_flt.a nicht verfügbar, gibt es dafür eine
> andere Lösung?

Das aktuelle Studio nutzt (AFAIR) newlib-nano. Um float-Unterstützung zu 
aktivieren, füge folgendes zu den Linker-Flags hinzu:

> -u _printf_float

Ob damit auch double funktioniert, weiß ich nicht. Aber double sollte 
man auf einem kleinen MCU sowieso nicht verwenden. Das wäre einfach viel 
zu langsam.
#3875858
Lesenswert?
• ▲
▼
Danke für den Tip, die newlib-nano hatte ich in den Linkereinstellungen 
auch schon aktiviert, die von Dir erwähnte _printf_float Lib wird aber 
vom Linker nicht gefunden und befindet sich auch nicht in meinem System.

Muss ich die erst hinzufügen und wenn, woher bekomme ich die?

ok, habs nun hinbekommen:

Bei den Compilersymbolen stand noch printf=iprintf, dieses Symbol habe 
ich entfernt.
Mit der Linkeroption -u _printf_float werden nun float-Werte korrekt 
aufgegeben.

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.