PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Erweiterte 'asuro.h' funzt nicht



epistula
20.01.2006, 23:33
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!

maze2k
22.01.2006, 22:03
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.

epistula
22.01.2006, 23:09
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;
}

-------------------------------------------------------------

m.a.r.v.i.n
23.01.2006, 08:39
Hallo epistula,

setz mal die asuro.h in Hochkommas


#include "asuro.h"

sonst findet der Compiler eventuell eine andere asuro.h.
Die asuro.h und asuro.c müssen im gleichen Verzeichnis wie das Testprogramm stehen.

Gruß Peter

epistula
12.02.2006, 14:09
Hat nix gebracht, ich kapiers nicht.

Sternthaler
12.02.2006, 15:48
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):




# 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


In der von mir angegebenen letzten Zeile vermute ich deinen Fehler.

epistula
12.02.2006, 17:17
Gute Idee, ist aber leider bei mir korrekt angegeben.

robotcool
12.02.2006, 17:24
und hast es gejeztzt geglabt mit den fehler behebung ????



mfg robotcool

epistula
12.02.2006, 18:02
Leider nein. :-s

Sternthaler
12.02.2006, 19:42
@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.)

super_castle
12.02.2006, 22:13
warum benutzt ihr nicht das programm mfile von winavr-c.
nehmt doch nicht dieses scheiss alte winavr-c von asuro nicht, das ist alte asche.
ladet euch den neuen winavr-c mal runter, ansonsten werdet ihr mit euren robby nicht glücklich. die sprache "c" ist keine sprache "wir machen mal schnell", sondern hier muss man sich einige tage einarbeiten und das datenblatt vom avr8 zur brust nehmen, ansonsten versteht ihr den ganzen quatscht nicht. die make ist eine automatsich erstellte datei, die verwurschtelt man nicht, man kann alles mit mfile einbinden.

Castle

Sternthaler
12.02.2006, 22:38
ladet euch den neuen winavr-c MAL runter
Gute Idee, aber leider sind das dann so ca. 24,5 MEGA-Byte, die ich nicht so MAL eben durch meine ISDN-Leitung ziehen möchte.



alte asche
Stimmt schon, aber eigendlich geht es doch immer. Und epistula werden wir doch bestimmt auch mit den zum Asuro gelieferten Tools weiterhelfen können. Oder?

@super_castle
Nix für ungut, aber je nachdem wie fit epistula nun ist, könnte es sein, dass es einfacher ist, sich auf das bei ihm auf alle Fälle vorhandene Softwarewerkzeug zu konnzentrieren, als noch eventuelle Download- und Installationsfehler bei ihm zu riskieren. (Ich glaube, hier sind sehr viele Kommas im Satz. Versteht mich einer? #-o )