@Pr0gm4n:
hab ich schon ausprobiert den 2. code zu nehmen und auf ir steuerung abzuändern. ergibt dann folgendes programm:
Code:
// RP6 steuert ein Servo an der SL1-LED mit Sleep()
#include "RP6RobotBaseLib.h" // Denn vollen Funktionsumfang der Lib bezahlen
// wir mit den störenden Interrupts
#define RC_PROMO8
#ifdef RC_PROMO8
#define RC5_KEY_SERVO_RIGHT 46
#define RC5_KEY_SERVO_LEFT 60
#endif
uint8_t stellzeit, servopos=10;
void receiveRC5Data(RC5data_t rc5data)
{
writeString_P("Toggle Bit:");
writeChar(rc5data.toggle_bit + '0');
writeString_P(" | Device Address:");
writeInteger(rc5data.device, DEC);
writeString_P(" | Key Code:");
writeInteger(rc5data.key_code, DEC);
writeChar('\n');
}
int main(void)
{
initRobotBase();
setLEDs(0);
IRCOMM_setRC5DataReadyHandler(receiveRC5Data);
powerON();
while(true)
{
while(rc5data.key_code == RC5_KEY_SERVO_RIGHT)
{
setLEDs(1);
sleep(10);
setLEDs(0);
sleep(200-10);}
while(getStopwatch1()>2000)
{setLEDs(1);
sleep(20);
setLEDs(0);
sleep(200-20);
}
task_RP6System();
}
return(0);
}
dieses programm bringt aber beim kompilieren folgende fehlermeldung:
Code:
Compiling: ServoLinksRechts.c
avr-gcc -c -mmcu=atmega32 -I. -gdwarf-2 -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-adhlns=ServoLinksRechts.lst -I../../RP6Lib -I../../RP6Lib/RP6base -I../../RP6Lib/RP6common -std=gnu99 -MD -MP -MF .dep/ServoLinksRechts.o.d ServoLinksRechts.c -o ServoLinksRechts.o
ServoLinksRechts.c: In function 'main':
ServoLinksRechts.c:34: error: 'rc5data' undeclared (first use in this function)
ServoLinksRechts.c:34: error: (Each undeclared identifier is reported only once
ServoLinksRechts.c:34: error: for each function it appears in.)
ServoLinksRechts.c:50:2: warning: no newline at end of file
make: *** [ServoLinksRechts.o] Error 1
> Process Exit Code: 2
> Time Taken: 00:02
gruß
Lesezeichen