PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : fehlermeldung bei c-code



Roboman93
25.01.2008, 19:20
ich habe ein prog zur einfachen ansteuerung meines servomuduls geschrieben. hier das prog:

#include "RP6RobotBaseLib.h"
#include "RP6I2CmasterTWI.h"

uint16_t zahl, highbyte, lowbyte, servo;


int main(void)
{
initRobotBase();
I2CTWI_initMaster(100);
while(true)
{
eingabe();
}
return 0;
}

void eingabe(void)
{
setservo(1,2000);
mSleep(2000);
setservo(1,1000);
mSleep(2000);
}

void setservo(servo,zahl)
{
uint8_t highbyte = zahl/255;
uint8_t lowbyte = zahl-(highbyte*255);
I2CTWI_transmit3Bytes(0xC2, servo, highbyte, lowbyte);
}


und die fehlermeldung:

bytes.o: In function `setservo':
C:\Programme\robby\programme\bytes/bytes.c:30: undefined reference to `I2CTWI_transmit3Bytes'
bytes.o: In function `main':
C:\Programme\robby\programme\bytes/bytes.c:10: undefined reference to `__I2CTWI_initMaster'
make: *** [bytes.elf] Error 1


wäre schön, wenn einer wüsste, was falsch ist!

danke voraus

roboman

radbruch
25.01.2008, 21:05
Hallo

Möglicherweise wird die I2C-Library nicht richtig eingebunden, versuche mal zusätzlich:

#include "RP6I2CmasterTWI.c"

Gruß

mic

Dirk
25.01.2008, 21:24
Hallo roboman,

wäre schön, wenn einer wüsste, was falsch ist!

Wahrscheinlich ist die RP6I2CmasterTWI.c nicht im Makefile eingebunden:
SRC += $(RP6_LIB_PATH)/RP6common/RP6I2CmasterTWI.c

Gruß Dirk

Roboman93
25.01.2008, 21:50
@radbruch: hab ich schon versucht, aber man kann net beide einbinden!

@dirk:habs ausprobiert, aber geht irgendwie auch nicht

trotzdem danke an alle

roboman

Roboman93
25.01.2008, 21:57
hab noch ein bisschen gewerkelt, jetzt klappts super.
danke an alle!!!

roboman

radbruch
25.01.2008, 22:21
hab ich schon versucht, aber man kann net beide einbinden!Hää?


hab noch ein bisschen gewerkelt, jetzt klappts super.Prima. Und was war nun das Problem?

Gruß

mic

Dirk
25.01.2008, 22:21
... jetzt klappts super.
Laß uns nicht dumm sterben!
Woran lag es denn?

Gruß Dirk

Roboman93
26.01.2008, 11:22
ich habe am anfang beide i2c libs, also master und slave im makefile eingebunden. so gings net. also habe ich nur die verwendete, also master, eingebunden. dann hats geklappt. danke, ohne euch wär ich net drauf gekommen!

roboman