PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Problem mit GoTurn



Fouwe
25.06.2009, 18:10
Heyhou

hab mal wieder ein neues Problem

und zwar kommt immer wenn ich die hex datei erzeugen will eine Fehlermeldung aus der asuro.c Datei
ich verwende die neuste version der lib

../asuro.c:147: error: 'F_CPU' undeclared (first use in this function)
das ist der Fehler
hier der code

#include "asuro.h"
#include "asuro.c"

int main(void)
{
Init();
EncoderInit();



while (1)
{

GoTurn(100,0,200);
GoTurn (0,90,200);


}
return 0;
}

radbruch
25.06.2009, 18:59
Hallo

In Zeile 147 in asuro.c wird versucht auf die nicht definierte Variable F_CPU zuzugreifen. Diese Variable sollte im Makefile definiert werden. Vielleicht hilft aber auch schon diese eher schlampige "Reparatur":

#include "asuro.h"
#include "asuro.c"

#define F_CPU 8000000

int main(void)
{
Init();
EncoderInit();



while (1)
{

GoTurn(100,0,200);
GoTurn (0,90,200);


}
return 0;
}



Gruß

mic

Fouwe
25.06.2009, 19:11
hmmm das funktioniet nicht...

es kann ja nicht sein, dass die lib falsch ist denn bei anderen stimmt sie ja auch

radbruch
25.06.2009, 19:18
Keine Ahnung warum das sonst funktioniert. Ich verwende die erweiterte Library (nach 2.6) nicht weil mir dabei zuviel Denkarbeit beim Programmieren abgenommen wird. Ich möchte ja was lernen :)

Warum includest du eigentlich asuro.h und asuro.c? Wenn im Makefile alles passt sollte das Includen von asuro.h ausreichen.

Fouwe
25.06.2009, 20:02
ok wenn das so ist dann stimmt wohl mein makefile von grundauf nicht, denn wenn ich das ganze ohne asuro.c mache dann kommen ca. 30 Fehler mit nur der eine mit F_CPU

radbruch
25.06.2009, 20:13
Ohne asuro.c kennt der Kompiler die Funktionen der Library nicht, deshalb kommen die vielen Fehlermeldungen.

Vielleicht stimmen die Pfade nicht. Oder Leerzeichen/Groß-klein im Dateinamen oder AVR-Path nicht gesetzt. Irgendwas in der Richtung vermute ich mal. Vielleicht nochmals alles löschen und neu installieren? Wovon ich normalerweise immer abrate. Besser noch etwas warten bis weitere Meinungen eingehen.

Warum es mit dem define von F_CPU im Programm nicht funktioniert ist mir auch rätselhaft.

Gruß

mic

Fouwe
26.06.2009, 16:21
die Goturn funktion geht aber trotzdem nicht!! Wenn ich die alten Bibliotheken benutze geht alles bis auf diese Funktion. Wisst ihr vielleicht wie man die GoTurn funktion definieren könnte!! Wir haben nämlich morgen präsentation und daher sollte das Programm laufen

Valen
26.06.2009, 17:03
Las deine makefile mal sehen. Und bitte sag genau wo du den WinAVR compiler und neuesten lib (2.80rc1 ?? ) auf deine rechner installiert hat (pfad nahmen und so). Und die liste mit 30 oder so compilier fehler auch. Ohne das konnen wir nur raten was es ist.