www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik "lcd-routines.h"


Autor: D. S. (jasmin)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

habe Eclipse, Winavr etc. so installiert wie im Tutorial hier angegeben.
#include "lcd-routines.h" im sourcecode führt aber immer zum 
Compilerfehler:

Description  Resource  Path  Location  Type
lcd-routines.h: No such file or directory  main.c  TEST_C1  5C/C++ 
Problem

Im gesamten Filesystems meines Rechners findet sich auch keine Datei 
lcd-routines.h.

Was habe ich falsch gemacht, was fehlt mir ?

Dietmar

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Dietmar S. (jasmin)

>Im gesamten Filesystems meines Rechners findet sich auch keine Datei
>lcd-routines.h.

>Was habe ich falsch gemacht, was fehlt mir ?

Wie wäre es, wenn du den Text der lcd.h aus dem Tutorial in eine Datei 
kopieren würdest, welche lcd.h heisst und sich im Projektverzeichnis 
befindet?

Autor: D. S. (jasmin)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Falk,

natürlich kann ich das so machen....

Ich glaube nur dass meine Installation da schon grundlegend irgendwie 
schief ist ?

Die lcd Routinen müssen doch schon integraler Bestandteil der 
Installation
sein, oder sehe ich das falsch ?

P.S.:
Wenn wir von lcd-routines.h  oder lcd.h sprechen, reden wir dann von 
identischen include Dateien ???


Dietmar

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dietmar S. wrote:

> Die lcd Routinen müssen doch schon integraler Bestandteil der
> Installation
> sein, oder sehe ich das falsch ?

Ja, das siehst du falsch.

Autor: D. S. (jasmin)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Im AVR-GCC Tutorial steht als Überschrift:

lcd-routines.c


Muß die Datei denn nicht LCD-Routines.h heißen ?

Der Name wird doch auch immer als include Datei referenziert !


Dietmar

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, aber schau mal hier:
http://www.mikrocontroller.net/articles/AVR-GCC-Tu...
Diesen Code musst du in die lcd-routines.h kopieren.

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@  Dietmar S. (jasmin)

>lcd-routines.c

Genau.

>Muß die Datei denn nicht LCD-Routines.h heißen ?

Nöö, C ist case sensitive, unterscheidet also Gross- und 
Kleinschreibung.

>Der Name wird doch auch immer als include Datei referenziert !

Sicher. Es sind zwei Dateien, welche man aus dem Tutorial in zwei 
Dateien im Projektverzeichnis kopieren und im Projektbaum einfügen muss.

lcd-routines.h
lcd-routines.c

Hätte man auch mal fix probieren können, oder?

MFG
Falk

Autor: D. S. (jasmin)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Im Wiki stand vor 5 Minuten noch eine andere Überschrift als Dateiname 
!!!

@ Falk

Probiert habe ich schon genug :-).


Jetzt funktioniert es, habe nun 2 Dateien lcd-routines.h
lcd-routines.c mit den entsprechenden Inhalten aus dem WIKI.

Gehören die besser in mein Projektverzeichnis oder besser in das 
entsprechenden Verzeichnisse des WINavr, bei mir 
C:\WinAVR-20080610\avr\include   ???

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@  Dietmar S. (jasmin)

>Im Wiki stand vor 5 Minuten noch eine andere Überschrift als Dateiname
>!!!

;-)
Nicht soviel Drogen nehmen. Die letzte Änderung ist von 9:40 heute.

>Probiert habe ich schon genug :-).

LSD brings auf Dauer nicht . . .

>Gehören die besser in mein Projektverzeichnis

Ja.

>oder besser in das
>entsprechenden Verzeichnisse des WINavr, bei mir

Nein. Es sind keine Standarddateien, sondern projektspezifische.

MFG
Falk

Autor: D. S. (jasmin)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Falk,

Sack Zement, es ist noch zu früh für LSD, Alkohol habe ich heute auch 
eher mäßig konsumiert.... ;-).

Ok, die beiden Dateien habe ich jetzt ins Projekt-DVZ kopiert.

Frage:
Wie passe ich die LCD-Portpins an meine HW Umgebung an ?

Ich benötige Db4 = Portc.2 , Db5 = Portc.3 , Db6 = Portc.4 , Db7 = 
Portc.5 , E = Portc.1 , Rs = Portc.0

In der lcd-routines.h ist folgendes definiert:


#define LCD_PORT      PORTD
#define LCD_DDR       DDRD
#define LCD_RS        PD4
#define LCD_EN        PD5
// DB4 bis DB7 des LCD sind mit PD0 bis PD3 des AVR verbunden

DDR, RS und EN wie auch den kompletten Port kann ich also auf PortC 
(oder wohin auch immer) ändern,

wie kann ich aber DB4-DB7 ändern, respektive wie kann man das völlig 
variabel gestalten so das ich beispielsweise auch über diverse Ports 
verschieden freie Portpins nutzen kann ?

Ja, ich verstehe die Include Dateien nicht im Detail, bin ein C Beginner 
(immer wieder alle paar Jahre ?).


Dietmar

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@  Dietmar S. (jasmin)

>DDR, RS und EN wie auch den kompletten Port kann ich also auf PortC
>(oder wohin auch immer) ändern,

Ja.

>wie kann ich aber DB4-DB7 ändern, respektive wie kann man das völlig
>variabel gestalten so das ich beispielsweise auch über diverse Ports
>verschieden freie Portpins nutzen kann ?

Dann nimm die Bibliothek vom berühmten Peter Fleury. Dort ist das alles 
einstellbar. Den Code aus dem Tutorial aufbohren/umstricken ist eher 
aufwändig.

http://homepage.hispeed.ch/peterfleury/avr-softwar...

MFG
Falk

Autor: D. S. (jasmin)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Falk,

danke, der Kollege hat wohl den Durchblick ;-).....


Dietmar

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dietmar S. wrote:
> wie kann ich aber DB4-DB7 ändern, respektive wie kann man das völlig
> variabel gestalten so das ich beispielsweise auch über diverse Ports
> verschieden freie Portpins nutzen kann ?

Wenn es auch einfacher und Code sparender als von Peter Fleury sein 
darf:

http://www.mikrocontroller.net/attachment/30300/lcd_drv.zip


Peter

Autor: D. S. (jasmin)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
UI,

in der Tat ist das wohl nur ein Bruchteil des Codeumfangs :-).
Danke Peter, Du rettest meinen Atmega 8 vorm explodieren !

Dietmar

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.