LCD 16x2 an ATMEGA 8

Gast #2527826
Lesenswert?

Hallo,
wollte jetzt zum ersten mal ein Display 16x2 an meinen Atmega 8 
anschließen. Funktioniert aber nicht wirklich.
Habe das Display im 4 bit Modus angeschlossen. Es leuchten in der ersten 
Zeile alle Kästchen.
Habe die lcd-routines.h, lcd-routines.c und das Hauptprogramm (Beispiel 
1) angelegt.
Bekomme aber beim compilern Fehlermeldungen. Was mache ich falsch?
Habe bei meiner Schaltung keinen externen Quarz, ist es auch ohne 
möglich? Wenn ja was muss ich ändern? Dieses hier löschen oder?

#ifndef F_CPU
#define F_CPU 3686400
#endif

Ich hoffe ihr könnt mir weiterhelfen.
Danke

Gruß
Sebastian
Angehängte Dateien:
Gast #2527855
Lesenswert?

>Dann muss du aber dem Compiler sagen, dass die Frequenz eine andere ist

Schon richtig, aber wenn der Compiler eine zu hohe Taktrate
vorgespiegelt bekommt verlängern sich die Delays. Macht also
erstmal nichts aus. Wir wollen ja Text auf dem Display
sehen.

@Ingo
Du hast recht, erstmal müssen die Errors weg. Sonst
wird das nix.

Ein Bild vom Aufbau könnte auch hilfreich sein.
Gast #2528917
Lesenswert?

Danke erstmal für eure Antworten.
Kann mir von euch einer vll sagen was das für welche Fehler sind die auf 
dem Bild zu sehen sind. Habe ja am Programm bis jetzt noch nichts 
geändert.

Wenn ich den internen Taktgeber verwende kann ich doch dies alles 
weglassen:
#ifndef F_CPU
#define F_CPU 3686400
#endif

In dieser Anleitung steht auch das die Optimierung beim Compilern 
eingeschaltet werden muss. Wo kann ich dies machen???
http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial/LCD-Ansteuerung
Gast #2529009
Lesenswert?

Die Zeilennummern in deinem Screenshot kann ich keinen sinnvollen Zeilen 
im Listing des Tutorials zuordnen. Deshalb rate ich: Das #include 
<stdint.h> vergessen; der Compiler kennt uint8_t nicht.

Abhilfe in lcd-routines.c wäre dann:
1
#include <avr/io.h>
2
#include <stdint.h> 
3
#include "lcd-routines.h"
4
#include <util/delay.h>

Bzw. am Anfang der Datei lcd-routines.h:
1
#include <stdint.h>

http://www.nongnu.org/avr-libc/user-manual/group__avr__stdint.html

Das Optimierungsflag stellst du im AVR-Studio 4 in den 
Projekteinstellungen ein. Gleich unter den Dropdown-Menüs für 
Prozessortyp und Taktrate.
#2592064
Lesenswert?

Hallo,

habe hier auch Probleme. Verwende AVR Studio 5.
Beim Build bekomme ich 4 Fehler

undefined reference to `lcd_init' das selbe mit data, setcursor, string.
Kann es sein das das Bild von Sebastian von einer früheren Studio 
Version stammt.

Kann mir jemand den Menue-Punkt nennen mit den ich source files zum 
Projekt hinzufügen kann ? Mit re klick, wie in anderen Beträgen 
beschrieben, komme ich da nicht weiter

mfg

framk

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