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


von Georg M. (gema75)


Angehängte Dateien:

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

von Gerd G. (elektrikser)


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?

von holger (Gast)


Lesenswert?

#include <avr/io.h>

von Georg M. (gema75)


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?

von Georg M. (gema75)


Lesenswert?

Als MC hab ich den Atmgea 32 auf dem rn-cotroll Board.

Georg

von holger (Gast)


Lesenswert?

Welcher Prozessor ist im makefile eingetragen ?

von Georg M. (gema75)


Lesenswert?

Stooooooooooooooooooooooooop,
ich hatte das Makefile nicht eingebunden.

Sorry und dennoch danke, Georg

von Georg M. (gema75)


Lesenswert?

Ich hab jetzt nur noch eine Fehler,

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


was könnte dies sein?

Georg

von holger (Gast)


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.

von Georg M. (gema75)


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

von STK500-Besitzer (Gast)


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.

von Georg M. (gema75)


Angehängte Dateien:

Lesenswert?

Ich zeige Euch mal meine kompletten Files.

Eventuel findet ja von Euch einer den Fehler.

danke Georg

von Georg M. (gema75)


Lesenswert?

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

Gruß Georg

von Niels H. (monarch35)


Lesenswert?

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

von OliverSo (Gast)


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

von Georg M. (gema75)


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

von Niels H. (monarch35)


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...

von Georg M. (gema75)


Lesenswert?

Vielen herzlichen dank,

Georg

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
Noch kein Account? Hier anmelden.