STM32: sprintf wandelt nicht richtig

OP #5527689
Hallo,

ich habe einen Quellcode von einem Atmega2560 auf einen STM32 gespielt. 
Nun macht sprintf Ärger. Anstelle einer Zahl in ASCII kommt nur Mist.
1
char caMinuten[4];
2
char caSekunden[4];
3
unsigned char ucMinuten;
4
unsigned char ucSekunden;
5

6
sprintf(caMinuten, "%2d", (int)ucMinuten);
7
sprintf(caSekunden, "%02d", ucSekunden);


Als String kommt "d" und "2d" anstelle der zu wandelnden Zahl. Mit Itoa 
geht es, aber Sekunden muß ich dann noch per Hand in eine zweistellige 
Zahl wandeln.

Warum geht sprintf beim STM32 (Segger Compiler) nicht richtig?

Gruß
Martin
OP
>Was passiert wenn du mal %2i oder %2u benutzt?
Es wird "i" und "u" in den String geschrieben.


>#include <stdio.h>  ist vorhanden?
ja

>oder braucht der Linker Optionen für das printf?
Das von dem Segger-Link habe ich nun nicht so ganz verstanden.
Ich habe mal den Tooltip angehängt, was der Segger zu sprintf sagt. Wo 
muß ich da was machen?
Angehängte Dateien:
Gast
Irgendwo in den Projekteinstellungen für den Linker, ich kenne die 
Segger Tools/IDE nicht, deshalb kann ich das nicht konkreter sagen. Aber 
laut dem Link wird das so sein. Printf kostet viel Speicher und da ist 
es plausibel das es verschiedene Optionen gibt.
Was kommt den raus bei %d ohne die Längenangabe? Das sollte als Minimum 
funktionieren.
Gast
Aus der oben verlinkten Doku:

"Some library variants do not support width and precision specifiers in 
order to reduce code and data space requirements; please ensure that you 
have selected the correct library in the Printf Width/Precision Support 
property of the project if you use these."
OP
foobar schrieb:
> Aus der oben verlinkten Doku:
>
> "Some library variants do not support width and precision specifiers in
> order to reduce code and data space requirements; please ensure that you
> have selected the correct library in the Printf Width/Precision Support
> property of the project if you use these."

Wo kann ich das bei Segger einstellen?
Anbei eine Hardcopy der Options.
Angehängte Dateien:

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 8 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

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.