Hallo da draußen, bin in C nicht wirklich bewandert, aber ambitioniert. Ich möchte Strings aus dem FLASH auf ein LCD ausgeben (aus dem RAM funktioniert's gut). Die Definition des strings mache ich gemäß AVR-gcc-Tutorial ( das Tutorial ist wirklich gut ! ). Das Ausgeben auf das LCD möchte ich mit lcd_puts_p ( const char *progmem_s ) aus P.F's Programm machen. ...und bekomme immer die Fehlermeldung: ../lcd.c:94: Warnung: implizite Deklaration der Funktion »PRG_RDB« Ich finde auch in pgmspace.h keinen Hinweis, der gcc hat schon recht, aber was mache ich falsch ? Danke für die Hinweise , Otto
Hi Felix, ich arbeite mit AVR Studio 4.12. Da muss man nicht explizit ein makefile schreiben, sondern das Studio macht das. Ich habe aber 'mal ein makefile erzeugen lassen und da sieht man, dass lcd.c eingebunden und lcd.o gelinkt wird. Das LCD funktioniert ja auch, abgesehen davon, dass ich lcd_init() immer 2 mal an das Display schicken muss, damit es richtig arbeitet, keine Ahnung, warum. Danke für Deine Mühe, Otto
Ahja, dann sind es wahrscheinlich Probleme mit dem Displaytiming. Du musst die CPU-Frequenz reichtig einstellen. Dazu findest du etwas in der Art: #define CPU_Frequency 8000000UL. dies musst du korrigieren.
Das Makro PRG_RDB() ist veraltet und sollte nicht mehr verwendet werden. Probier mal in der lcd.c dieses Makro durch pgm_read_byte() zu ersetzen. Hängt aber von der Version der avr_libc und der lcd-Bibliothek ab.
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.