Gibt es noch weitere Dateien, die die ausro.h bei dir einbindet? Verwendest du sowohl asuro.h als auch asuro.c in deiner neuen Version?
Schau mal ganz oben, bei den #import angaben.
Hallo Zusammen,
bei Verwendung der lib von weja erhalte ich bei Gebrauch der erweiterten Funktionen in der asuro.h beim Kompilieren Fehlermeldungen, z. B.:
undefined reference to `Encoder_Set' .
Bei Verwendung der anderen Funktionen kommt der Fehler analog. Anscheinend ist es grade zu spät für mich, ich seh hier nicht, was ich falsch mache. Wer jetzt es mal ins Bett gehen ...
Wer kann mir helfen? Gute Nacht!
Gibt es noch weitere Dateien, die die ausro.h bei dir einbindet? Verwendest du sowohl asuro.h als auch asuro.c in deiner neuen Version?
Schau mal ganz oben, bei den #import angaben.
Unwissenheit ist ein Segen
Nicht das ich wüsste. Ich poste hier mal ein kleines Testprogramm, bei dem der Fehler analog kommt. Anbei noch die asuro.h und asuro.c die ich verwende:
-------------------------------------------------------------
#include <asuro.h>
int main(void)
{ int v;
Init();
Encoder_Init();
StatusLED(OFF);
MotorDir(FWD,FWD);
MotorSpeed(175,175);
unsigned long endtime=Gettime()+1000;
while(1){
if (Gettime()>endtime){
v=encoder[0]*3;
endtime=Gettime()+1000;
Encoder_Set(0,0);
}
}
return 0;
}
-------------------------------------------------------------
Hallo epistula,
setz mal die asuro.h in Hochkommas
sonst findet der Compiler eventuell eine andere asuro.h.#include "asuro.h"
Die asuro.h und asuro.c müssen im gleichen Verzeichnis wie das Testprogramm stehen.
Gruß Peter
Hat nix gebracht, ich kapiers nicht.
Hallo epistula,
ich vermute, dass in deinem makefile ein Fehler ist.
Dort muss auch angegeben werden, dass du die Datei asuro.c mit linken möchtest.
Hier ist mal ein Ausschnitt (im oberen Teil vom makefile):
In der von mir angegebenen letzten Zeile vermute ich deinen Fehler.Code:# Target file name (without extension). TARGET = test # Optimization level, can be [0, 1, 2, 3, s]. 0 turns off optimization. # (Note: 3 is not always the best optimization level. See avr-libc FAQ.) OPT = s # List C source files here. (C dependencies are automatically generated.) SRC = $(TARGET).c # If there is more than one source file, append them above, or adjust and # uncomment the following: SRC += asuro.c
Lieber Asuro programieren als arbeiten gehen.
Gute Idee, ist aber leider bei mir korrekt angegeben.
und hast es gejeztzt geglabt mit den fehler behebung ????
mfg robotcool
Leider nein.![]()
@epistula
Versuche doch mal bitte folgendes im DOS-Fenster im dem deine Dateien stehen:
make clean
make all > make.txt
Wenn in der angelegten Datei make.txt keine Fehler beim Übersetzen der Sourcen (test.c und asuro.c) vorhanden sind, dann kommt dein Fehler definitiv durch das Linken. (Ich bleibe dabei: Ist meiner Meinung sowiso der Grund)
Ich würde dir empfehlen, das du das Original-Makefile von der CD nochmal in's Verzeichnis kopierst. Jedenfalls kann ich dein Besipiel bei mir fehlerfrei übersetzen. (auch mit den <> um asuro.h herrum.)
Lieber Asuro programieren als arbeiten gehen.
Lesezeichen