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

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.