mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik feste Strings


Autor: MayersHans (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Forum,

ich bin was µC-Programmierung angeht noch nicht so belesen und habe auch 
im Internet und in diesem Forum irgendwie keine Antwort auf meine Frage 
erhalten.
Ich hoffe also, ihr könnt mir helfen.

Ich bin gerade dabei ein Menü für ein LCD zu schreiben.
Funktioniert auch soweit ganz gut!
Leider habe ich ziemlich viel Text, den ich bei jedem Menüpunkt 
standartmäßig ausgeben muss. Also quasi feste Strings, die ich irgendwie 
vordefinieren muss, bzw. irgendwo hinterlegen.
Leider schwillt mein benötigter Speicher logischerweise bei solchen 
Aktionen immer ganz schnell an und am Ende reichts nicht mehr.
Ich habe die sogenannten "festen Strings" immer z.B. so definiert:

char String[7] = "Hallo";

Ist das richtig so? Oder gibt es noch eine andere Möglichkeit Strings zu 
speichern, dass es nicht so viel Speicherplatz benötigt.

Wie macht ihr das?

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Such mal nach "progmem"

Autor: ... ... (docean) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Philipp Burch (philipp_burch)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
MayersHans schrieb:
> char String[7] = "Hallo";
>
> Ist das richtig so? Oder gibt es noch eine andere Möglichkeit Strings zu
> speichern, dass es nicht so viel Speicherplatz benötigt.
>
> Wie macht ihr das?

Hi,

um welche Plattform und welchen Compiler geht es? Bei avr-gcc findest du 
eine ganze Seite zu dem Thema im Manual ("Strings in Program memory" 
oder sowas).

Autor: MayersHans (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja tschuldigung, hab ich vergessen anzugeben.

AVR-GCC mit Mega32

Autor: MayersHans (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich hab mir das mit PROGMEM durchgelesen und bin echt begeistert. Das 
kannte ich bis jetzt noch nicht.

Danke für eure Hilfe!

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.