Forum: Compiler & IDEs Strings ins Progmem und nicht ins SRAM


von micro1 (Gast)


Lesenswert?

hallo habe folgendes problem.
Ich habe mir eine Funktion beschrieben namens uart_puts(*s).
Diese gibt einen string über die UART aus.
Z.B wenn ich folgendes aufrufe uart_puts("TestString").
Das dumme ist nur das nun dieser string im SRAM abgelegt wird obwohl
es sich nicht verändert.
So nun meine Frage. Wie kann ich es erreichen das dieser String
im PGMSPACE abgelegt wird und kein SRAM Speicher verbraucht.

Ich weiß man kan "pgmspace.h" einbinden und dann Strings darin
definiren. Aber muss man es wirklich so umständlich machen?
Weil dann müsste ich für alle ausgaben eine variable anlegen.

Ich möchte nämlich direkt mit der obig genannten funktion arbeiten.

Kennt jemand eine Lösung ?

von Thomas K. (thkais)


Lesenswert?

Kapitel 17.2.4 im AVR-GCC Tutorial wird Dir weiterhelfen. Ich kann das
Tutorial wärmstens empfehlen, es bietet viele Antworten auf Fragen, die
Du noch nicht gewagt hast zu stellen g

von micro1 (Gast)


Lesenswert?

Oh ja.
PSTR ist die Lösung. Wer lesen kann ist klar im Vorteil

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.