STRINGS aus dem FLASH aufs LCD

Gast #366670
Lesenswert?

Hallo da draußen,

ich möchte strings aus dem FLASH auf das LCD geben. Aus dem RAM heraus
läuft es. Ich verwende das Programm von Peter Fleury mit einigen
Anpassungen.

Wenn ich den Code so schreibe, wie er im AVR-Tutorial steht, bekomme
ich folgende Fehlermeldung vom gcc:

../lcd.c:71: undefined reference to `PRG_RDB'.

Das bezieht sich auf folgende function:

/***************************************************/
/* schreibt den string aus dem FLASH ins Display   */
/*  input:  string to wtite         */
/***************************************************/

void lcd_puts_p ( const char *progmem_s )
{
    register char c;

    while ( (c = PRG_RDB(progmem_s++)) ) // gibt Fehlermeldung
    { lcd_putc(c); }
}

und hier mein Code:

#include <avr/io.h>
#include <avr/pgmspace.h>
#include <string.h>
#include "lcd.h"   // von Peter Fleury, angepaßt

...
char StringImFlash [ ] PROGMEM = "Erwin Lindemann" ;
lcd_puts_p ( StringImFlash ) ;
...

Was mache ich falsch ?

Danke,

Otto
Gast #366671
Lesenswert?

Hallo da drinnen,

> undefined reference to `PRG_RDB'

heißt, dass das Makro PRG_RDB nicht definiert ist. Schau mal in der
Header-Datei pgmspace.h nach, ob das überhaupt so heißt und wenn nicht,
wie es richtig heißt...
Gast #366673
Lesenswert?

für alle, die es intessiert:

mein Fehler war, dass ich die neuste WINAVR-Software habe, aber mit
einer "alten" LCD-Software von Peter Fleury gearbeitet habe. Neuste
Software von P:F 'runter geladen, dann ging'S.

Vielen Dank an alle, die sich Gedanken gemacht haben !

Otto

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren