Forum: Compiler & IDEs String aus Flash lesen??


von Sebastian (Gast)


Lesenswert?

wie lese ich einen string (byte) aus dem flash?
komme nicht wirklich weiter
...
#include <avr/pgmspace.h>
char lcd_start_1[] PROGMEM = "teststring";
...
lcd_puts(*lcd_start_1);
...
void lcd_puts (char *s)
{
    while (*s)
    {   /* so lange *s != '\0' also ungleich dem
"Sting-Endezeichen" */
       clcd_write(CLCD_WR,pgm_read_byte(*s));;
        s++;
    }
}

irgendwas kommt auch nur ich weiß nicht woher und es ist auch nicht
mein string. meine frage nun ist wie ich den string byteweise wieder
lesen kann

von Rufus T. Firefly (Gast)


Lesenswert?

Sieh Dir mal genau den Aufruf von pgm_read_byte an.

Was übergibst Du dieser Funktion?

  Einen (falsch) dereferenzierten Pointer (hier: char aus RAM)

Was solltest Du der Funktion übergeben?

  Einen Pointer auf's Flash.

Also: Mach das Sternchen weg.

von Sebastian (Gast)


Lesenswert?

naja... auch ohne stern keinen erfolg.
ich kann zwar einen teil sehen, aber am anfang habe ich 2 falsche bytes

von Sebastian (Gast)


Lesenswert?

ok es scheint jetzt zu funzen.
der pcf8574 war wohl zu träge... (wegen den 2 falschen bytes)
danke nochmal

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.