www.mikrocontroller.net

Forum: Compiler & IDEs STRINGS aus dem FLASH aufs LCD


Autor: Otto Richter (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: johnny.m (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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...

Autor: Reiner (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Schau mal ins AVR-libc User Manual!

Suche nach pgm_read (_byte,_word ....) (EEPROM handling)

Reiner

Autor: Otto Richter (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

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.