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
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.
naja... auch ohne stern keinen erfolg. ich kann zwar einen teil sehen, aber am anfang habe ich 2 falsche bytes
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.