Forum: Compiler & IDEs Fehlermeldungen bei Funktionen


von Thorsten (Gast)


Angehängte Dateien:

Lesenswert?

Hallo zusammen,

in einem Programm zur Temperaturverarbeitung kommt bei mit die folgende 
Fehlermeldung:

../lcdadc.c:222: error: declaration for parameter "iitemp" but no such 
parameter

Zur ausgabe auf einem LCD-Display verwende ich die Fleurylib. Das 
Programm an sich funktioniert, die Fehlermeldung kommt erst seit ich die 
Funktionen dafür aktiviert habe.
Was sagt mir diese Fehlermeldung, bzw. was mache ich falsch?

Vielen Dank im Voraus


Mein ldcadc.c hab ich mit eingefügt.

von Christoph _. (chris)


Lesenswert?

1
  void P1()
2
  char iiTemp[6], siTemp[6];
3
    {
4
      if (iiTemp>=siTemp)PORTD6==stop;        
5
      else PORTD6==start;
6
    
7
    }//end P1
Das sieht ziemlich seltsam aus, fast wie uralter C-Code aus 
Prä-Standard-Zeit, der zudem semantisch nicht korrekt ist.

Probier es mal so:
1
void P1(char iiTemp[6], siTemp[6])
2
{
3
  if(iiTemp >= siTemp)
4
    PORTD6 = stop;        
5
  else
6
    PORTD6 = start;
7
}
Die anderen Funktionen musst du auch noch (analog dazu) korrigieren.

von Christoph _. (chris)


Lesenswert?

Nachtrag: Lies bitte bei Gelegenheit mal ein Buch über C-Grundlagen. Dir 
scheint noch einiges zu fehlen, wenn du solchen Code schreibst:
1
if (Programmschalter==1) P1; //Funktion P1 aufrufen

Und Warteschleifen schreibt man auch nicht so:
1
int i=0;          /*Pause gegen Flimmern der ADC-Werte*/
2
for(i=0;i<=10000;i++);
sondern nimmt dazu die fertigen delay-Funktionen aus der avrlibc.

von Thorsten (Gast)


Lesenswert?

Danke, die Änderungen hab ich soweit mal durchgeführt, der Fehler ist 
dadurch aber nicht weg. Hab auch mal den Variablen in den Funktionen 
andere Namen gegeben, was allerdings auch nichts geändert hat...

von Thorsten (Gast)


Lesenswert?

... dass ich die Programmiererei nicht erfunden hab ist mir bekannt. Die 
Frage ist dann, warum soll ich es mir mit irgendwelchen delays etc. 
unnötig komplizierter machen wie es eh schon ist?

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Thorsten wrote:

> Die
> Frage ist dann, warum soll ich es mir mit irgendwelchen delays etc.
> unnötig komplizierter machen wie es eh schon ist?

Das machst du gerade, und Christoph möchte dich davon abbringen.

Was du geschrieben hast, ist effektiv keine ,,Warteschleife'', sondern
spätestens mit GCC 4.x und eingeschalteter Optimierung schlicht nichts
mehr, da der Compiler feststellen wird, dass die Schleife ja effektiv
nichts tut.

von Joerg X. (Gast)


Lesenswert?

>"dass ich die Programmiererei nicht erfunden hab ist mir bekannt"
Verlangt niemand, aber ein paar C-Grundlagen fehlen aber wirklich!
aber zu dem "Problem":
- Korrigier mal die Prototypen, in deren Klammern gehört auch die Liste 
mit den Typen der Argumente
- generell gehört bei ANSI-C die Argumente in die Klammern der 
Funktionsdeklarationen, nicht darunter
- Man kann keine Arrays Vergleichen! (gibt keine Fehlermaldung 
funktioniert aber nicht so wie du das willst) übergib den Px-Funktionen 
die int-Variable nicht die (Pointer auf ) char-Arrays

achja, vll hilfts in Zukunft: 
http://www-computerlabor.math.uni-kiel.de/~dknof/Daten/Dokumente/C.pdf 
besser wäre ein richtiges Buch ;)

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.