mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Probleme mit der lcd.c von Ullrich Radig


Autor: Georg Mattern (gema75)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Alle zusammen,

ich will gerade mein Display mit dem lcd Programm von Ullrich Radig 
test.

Jedoch bekomme ich eine unmenge an Fehlern in der lcd.c
obwohl ich in der main.c und lcd.c beide male #include "lcd.h" 
geschrieben habe.

Build started 18.1.2008 at 19:19:49
avr-gcc.exe  -mmcu=atmega32 -Wall -gdwarf-2 -O0 -MD -MP -MT lcd.o -MF 
dep/lcd.o.d  -c 
../Abschlussprojekt/Programmcode/LCD/SourceCode1.0/lcd.c
../Abschlussprojekt/Programmcode/LCD/SourceCode1.0/lcd.c: In function 
'LCD_Init':
../Abschlussprojekt/Programmcode/LCD/SourceCode1.0/lcd.c:24: error: 
'DDRC' undeclared (first use in this function)
../Abschlussprojekt/Programmcode/LCD/SourceCode1.0/lcd.c:24: error: 
(Each undeclared identifier is reported only once
../Abschlussprojekt/Programmcode/LCD/SourceCode1.0/lcd.c:24: error: for 
each function it appears in.)
../Abschlussprojekt/Programmcode/LCD/SourceCode1.0/lcd.c: In function 
'Write_LCD':
../Abschlussprojekt/Programmcode/LCD/SourceCode1.0/lcd.c:55: error: 
'DDRC' undeclared (first use in this function)
../Abschlussprojekt/Programmcode/LCD/SourceCode1.0/lcd.c:59: warning: 
implicit declaration of function 'cbi'
../Abschlussprojekt/Programmcode/LCD/SourceCode1.0/lcd.c:59: error: 
'PORTC' undeclared (first use in this function)
../Abschlussprojekt/Programmcode/LCD/SourceCode1.0/lcd.c:63: warning: 
implicit declaration of function 'sbi'
../Abschlussprojekt/Programmcode/LCD/SourceCode1.0/lcd.c:76: warning: 
implicit declaration of function 'loop_until_bit_is_clear'
../Abschlussprojekt/Programmcode/LCD/SourceCode1.0/lcd.c: In function 
'Read_LCD':
../Abschlussprojekt/Programmcode/LCD/SourceCode1.0/lcd.c:83: error: 
'DDRC' undeclared (first use in this function)
../Abschlussprojekt/Programmcode/LCD/SourceCode1.0/lcd.c:85: error: 
'PORTC' undeclared (first use in this function)
../Abschlussprojekt/Programmcode/LCD/SourceCode1.0/lcd.c:100: error: 
'PINC' undeclared (first use in this function)
../Abschlussprojekt/Programmcode/LCD/SourceCode1.0/lcd.c: In function 
'LCD_Print':
../Abschlussprojekt/Programmcode/LCD/SourceCode1.0/lcd.c:131: error: 
'va_list' undeclared (first use in this function)
../Abschlussprojekt/Programmcode/LCD/SourceCode1.0/lcd.c:131: error: 
expected ';' before 'ap'
.....
.....

make: *** [lcd.o] Error 1
Build failed with 13 errors and 9 warnings...



Wer hätte dafür eine Erkärung?

Gruß Georg

Autor: Gerd G. (elektrikser)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>../Abschlussprojekt/Programmcode/LCD/SourceCode1.0/lcd.c:24: error:
>'DDRC' undeclared (first use in this function)
>../Abschlussprojekt/Programmcode/LCD/SourceCode1.0/lcd.c:83: error:
>'DDRC' undeclared (first use in this function)
>../Abschlussprojekt/Programmcode/LCD/SourceCode1.0/lcd.c:85: error:
>'PORTC' undeclared (first use in this function)
>../Abschlussprojekt/Programmcode/LCD/SourceCode1.0/lcd.c:100: error:
>'PINC' undeclared (first use in this function)

Du hast nicht die passende Header-Datei (io.h) für deinen Controller 
eingebunden, welcher AVR?

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
#include <avr/io.h>

Autor: Georg Mattern (gema75)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
/*
 Copyright:      Radig Ulrich  mailto: mail@ulrichradig.de
 Author:         Radig Ulrich
 Remarks:
 known Problems: none
 Version:        28.05.2004
 Description:    Dieses Programm dient als Beispiel zur Ansteuerung 
einer MMC/SD-Memory-Card.
         Zum Zugriff auf eine MMC/SD-Karte, muß man nur die Datei mmc.c
         in sein eigenes Programm einfügen.
*/

#include <stdio.h>
#include <stdlib.h>
#include <avr/io.h>

#include "lcd.c"

//Hauptprogramm
int main (void)
{
  //Initzialisierung des LCD - Displays
  LCD_Init();


  //Hauptprogramm läuft ständig in einer schleife und macht nichts
  while (1)
    {
        int c;
      for (c=0;c<0xff;c++)
      {
        LCD_Clear ();
        LCD_Print(0,0,"Int Wert:%i  Hex Wert:%x  ",c,c);
        LCD_Print(1,0,"Mikrocontroller and more");
        int a;
                for (a=0;a<6000;a++)
          {
                    int b;
          for (b=0;b<2000;b++);
          }
      }
    }
return (1);
}



Sollte doch eigentlich der fall sein, oder ist das irgend wie falsch?

Autor: Georg Mattern (gema75)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Als MC hab ich den Atmgea 32 auf dem rn-cotroll Board.

Georg

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Welcher Prozessor ist im makefile eingetragen ?

Autor: Georg Mattern (gema75)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Stooooooooooooooooooooooooop,
ich hatte das Makefile nicht eingebunden.

Sorry und dennoch danke, Georg

Autor: Georg Mattern (gema75)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich hab jetzt nur noch eine Fehler,

lcd.c:76: error: lvalue required as unary '&' operand


was könnte dies sein?

Georg

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>loop_until_bit_is_clear(Read_LCD(0),BusyBit);  //Wartet bis LCD wieder bereit

loop_until_bit_is_clear() mag keine Funktion als Parameter.

Autor: Georg Mattern (gema75)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das schein nicht das Problem zu sein.
Im gegenteil, ich bekomme eher mehr Fehler.

Ich bin auch noch auf der Suche.

Ich hoffe wir finden den Fehler.

Gruß Georg

Autor: STK500-Besitzer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>lcd.c:76: error: lvalue required as unary '&' operand


>was könnte dies sein?

Das unary & ist entweder das logische "Und" oder der Adressoperator 
(Pointer-Arithmetik).

Ich tippe auf den Pointer.

Autor: Georg Mattern (gema75)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Ich zeige Euch mal meine kompletten Files.

Eventuel findet ja von Euch einer den Fehler.

danke Georg

Autor: Georg Mattern (gema75)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sorry, aber hat von Euch wirklich keiner eine Idee wo mein Fehler liegen 
könnte?

Gruß Georg

Autor: Niels Hüsken (monarch35)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Darf ich mal fragen, wo du diesen völlig veralteten Quellcode her hast?

Autor: OliverSo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Sorry, aber hat von Euch wirklich keiner eine Idee wo mein Fehler liegen
>könnte?

Doch, aber sei ehrlich, Fragen der Art:

"Ich habe hier irgendeinen Quellcode, von irgendwo runtergeladen, 
irgendwie geht das alles nicht, bitte alle Fehler beseitigen"

beantwortet halt niemand. Du solltest dich schon selber soweit in das 
Thema einarbeiten, um konkrete Fragen stellen zu können. Das ist 
erkennbar bisher nicht der Fall.

Oliver

Autor: Georg Mattern (gema75)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Recht herzlichen Dank für Eure sehr hilfreichen Beiträge,

aber ich merke schon, wenn man ein recht simples Problem hat, bekommt 
man überhaupt keine Hilfe. Im gegenteil, man bekommt nur sau dumme 
Kommentare.
Sorry, dass es Menschen gibt, die sich mit so einem MC eben noch nicht 
all zu gut auskennen. Da bekommt man echt Lusst auf mehr.

Ich freue mich über hilfreiche Antorten.
Um mich rund machen zu lassen, brauch ich nichts ins Forum zu posten.

Gruß Georg

Autor: Niels Hüsken (monarch35)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Niemand wird hier "rundgemacht"
Wenn allerdings die Fragestellung etwas daneben ist, dann muss man sich 
unter umständen schonmal etwas Kritik gefallen lassen. Du kannst nicht 
einfach den Quellcode posten und sagen "hey, macht mal!". Die Fragen 
sollten schon etwas gezielter sein.

Problem ist eigentlich ganz einfach: dein Quellcode ist zu alt um mit 
einer aktuellen Verison des AVR-GCC spielen zu können. Geh auf die 
Webseite von Herrn Radig, lad dir dort ne aktuelle Version runter und du 
wirst sehen: dann läufts auch mit den Nachbarn...

Autor: Georg Mattern (gema75)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielen herzlichen dank,

Georg

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.