PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Warnung beim Kompilieren



Ingo1988
02.03.2011, 16:53
Guten Tag,

ich spiele jetzt seit einiger Zeit mit dem RP6 herum. Und ich habe einige Fragen zu Warnungen, die beim Kompilieren angezeigt werden:

1. Sollte man alle Warnungen ausmerzen, sodass keine mehr engezeigt werden?
2. Was sagt mir die Warnung und wie behebe ich es? :
"warning: implicit declaration of funciton NAME_DER_FKT" Ich rufe einfach nur eine Funktion auf, indem ich den Namen der Funktion schreibe: "messung();"
3. und "warning: conflicting types for NAME_DER_FKT"

Ich danke euch für eure Unterstützung;)

Lieben Gruß

Ingo

Dirk
02.03.2011, 17:00
@Ingo1988:

1: Ja, unbedingt!
2, 3: Da stimmt etwas mit dem Funktionsaufruf und/oder den Funktionsparametern nicht. Poste mal dein Programm.

Gruß Dirk

Besserwessi
02.03.2011, 17:15
zu 1: Die Warnungen sollte man beseitigen, vor allem wenn man die genaue Ursache nicht kennt.

zu 2: Die Funktion wird aufgerufen bevor sie definiert wird. Daher die Warnung. Es wird dann eine Dummy-definition angelegt. Diese Warnung sollte man ernst nehmen. Es ist nur aus Kompatibilitätsgründen kein echter Fehler.

zu 3: Die Definition vom 1. Aufruf stimmt nicht mit der späteren (zu spät) Definition überein. Das kann ggf. einfach ein Folgefehler sein, von der 1. Warnung.

Ingo1988
02.03.2011, 18:00
Ich poste mal nur einen Ausschnitt, da das Programm etwas lang ist um es komplett zu posten!




void task_SERVO(void)
{

...
messung();
...

}

...
void messung(void){
switch(stellungsNummer) {
case 0 : mittlereEntfernungen[0]=mittelwertBerechnung();break;
case 1 : mittlereEntfernungen[1]=mittelwertBerechnung();break;
case 2 : mittlereEntfernungen[2]=mittelwertBerechnung();break;
case 3 : mittlereEntfernungen[3]=mittelwertBerechnung();break;
case 4 : mittlereEntfernungen[4]=mittelwertBerechnung();break;
}
}

Jetzt bin ich noch bei einem anderen Problem:

Ich versuche mit der M32 die Ansteuerung einer IR Fernbedienung zu ermöglichen, allerdings stürzt der Roboter sobald man eine Taste drückt ab und startet das programm neu!

Weiß zufälig jemand woher das kommen kann?

Auf der Base funktioniert alles Problemlos!

Lieben Gruß

Anmerung: Bei der M32 verwende ich die Lib, aus den Beispielen, in der soweit ich das verstanden habe die Funktion für RC5 ja schon vorimplementiert ist.

Besserwessi
02.03.2011, 20:51
Wie schon aus dem Text der Warnung vermutet, wird hier Messung() erst benutzt und dann weiter unten definiert. Entweder die Definition nach oben schieben, oder weiter oben eine Forward Definition einfügen.


Wenn der Absturz nur auf der einen Hadware passiert, spricht das für ein Hardware Problem, z.B. durch Spannungseinbrüche wenn die IR LED eingeschaltet wird.

Dirk
02.03.2011, 20:54
@Ingo1988:

Zur M32 und IR:
Kann alles Mögliche sein. Ohne dein Programm nur Hellseherei.

Gruß Dirk

Ingo1988
02.03.2011, 21:20
@ Besserwessi: ahh cool besten Dank die warnings sind schonmal weg;)

Das Programm ist zur Zeit knapp über 1000 zeilen lang, deshlab möchte ich es der Übersichtlichkeit wegen nicht hier posten. ich werde wenn ich das nächste mal ein bisschen Zeit habe mal mein Programm soweit reduzieren, dass der Fehler noch besteht aber der restliche Kram, der eigt nicht damit zusammenhängt entfernen, so dass es etwas übersichtlicher wird.

Vielen Dank schonmal für die Hilfe=)