Probleme mit der lcd.c von Ullrich Radig

#755716
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
Angehängte Dateien:
#755721
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?
#755729
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?
Gast #756016
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.
Gast #759705
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
#759770
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
#759781
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...

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