sprintf funktioniert nicht in ESP-IDF

OP #7081117
Lesenswert?
• ▲
▼
Hallo zusammen,
Ich arbeite mich gerade in ESP-IDF ein und bin auf ein Problem gestoßen. 
Ich würde gerne ein Int in einen String/Char array umwandeln und habe 
die Methode sprintf gefunden. Leider scheint sie nicht so richtig zu 
funktionieren, da mein Programm nicht durchläuft, wenn die Methode im 
Programm ist.
Das ist mein Hauptprogramm.
1
#include "ssd1306.h"
2
#include <stdio.h>
3

4
void app_main() {
5
    ssd1306_setup();
6
    char string[100];
7
    int i=12;
8
    sprintf(string,"test %d",i);
9
  //  ssd_1306_print(string, 7);
10
    ssd_1306_print("test",4);
11
    ssd1306_update();
12
}
Wenn ich die sprintf... Zeile auskommentiere, wird auf meinem OLED 
Bildschirm was angezeigt, wenn nicht, nicht.
Hat jemand ne idee, was falsch sein könnte?
Angehängte Dateien:
#7081833
Lesenswert?
• ▲
▼
Das riecht nach einem Stack Problem. Wenn du sprintf auskommentierst 
wird der Compiler vermutlich auch string[100] rausoptimieren. Daher geht 
es ohne Ausgabe und mit Ausgabe gibt es einen Stackoverflow.

Definiere testweise den string außerhalb der Funktion, dann müsste es 
gehen.
Oder erhöhe den Stack.

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.