String im Flash speichern

Gast #1495733
hi,
mein Mikrocontroller besteht aus 4KByte RAM, ich habe ein Programm 
geschrieben beim compilieren habe ich folgende Große:.data = 
1970,und.bss = 2190
ich versuche jetzt Konstante String und Variable im Stack(FLASH) zu 
speichern.
Im Programm habe ich auch viel sprintf benutzt.
Beispiel:  snprintf (tempstr,BUFFER_SIZE-1,"Receive %d voltage of 
channel 0", Voltages[0]);
mit dem sprintf gebe ich den Inhalt des Array aus, aber das 3 dritte 
Argument bleibt unverändbar.
Bitte was kann ich machen um weniger Speicher zu benutzen.

danke euch
Gast
hallo,
ich habe wieder ein Problem. Wie ich schon gesagt habe, versuche ich 
mehr Platz im FLASH zu gewinnen. Am Anfang habe ich diese Größe .data =
1970 jetzt bin ich bei 1575.

Wenn ich versuche mehr String im FLASH zu speichern, bekomme ich 
Probleme beim Auslesen, ich bekomme komische Charakter am Anfang der 
Ausgabe.

Danke
Gast schrieb:
> hallo,
> ich habe wieder ein Problem. Wie ich schon gesagt habe, versuche ich
> mehr Platz im FLASH zu gewinnen.

Du meinst SRAM

> Wenn ich versuche mehr String im FLASH zu speichern, bekomme ich
> Probleme beim Auslesen, ich bekomme komische Charakter am Anfang der
> Ausgabe.

Der Fehler liegt in Zeile 42
Gast
ok,
das Programm ist nicht gut aufgeräumt. Aber das Problem entsteht, wenn 
das dritte Argument ein Define-String ist.

snprintf_P( tempstr, BUFFER_SIZE-1, PSTR("Receive %d voltage of channel 
0"), G_ERROR);

#define  G_ERROR   "undefined channel"

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 16 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.