Hallo
Ja, das kann ich schon verstehen. Aber verzwingen kann man es auch nicht. Hier mal eine fehler- und warnungsfrei kompilierbare Version deines Programms:
Code:
#include "RP6RobotBaseLib.h"
void bumpersStateChanged(void)
{
writeString_P("\nBumper Status hat sich geaendert:\n");
if(bumper_left)writeString_P(" - Linker Bumper gedrueckt!\n");
else writeString_P(" - Linker Bumper nicht gedrueckt.\n");
if(bumper_right) writeString_P(" - Rechter Bumper gedrueckt!\n");
else writeString_P(" - Rechter Bumper nicht gedrueckt.\n");
}
int main(void)
{
initRobotBase();
BUMPERS_setStateChangedHandler(bumpersStateChanged);
setLEDs(0b111111);
powerON();
moveAtSpeed(50,50);
//getLeftSpeed(50,30)
//getRightSpeed(30,50)
startStopwatch1();
startStopwatch2();
startStopwatch3();
setLEDs(0b000000);
while(true)
{
if(getStopwatch1() > 4000)
{
move(60, FWD, DIST_MM(300), true);
rotate(30, LEFT, 180, true);
move(60, FWD, DIST_MM(300), true);
rotate(30, LEFT, 90, true);
move(60,FWD,DIST_MM(200), true);
rotate(30, RIGHT, 45, true);
setStopwatch1(0);
}
if(getStopwatch2() > 300)
{
writeString_P("\nADC Lichtsensor Links: ");
writeInteger(adcLSL, DEC);
writeString_P("\nADC Lichtsensor Rechts: ");
writeInteger(adcLSL, DEC);
writeString_P("\nADC Akku: ");
writeInteger(adcBat, DEC);
writeChar('\n');
if(adcBat < 600) writeString_P("Warnung! Akku ist bald leer!\n");
setStopwatch2(0);
}
if(getStopwatch3() > 200)
{
if(getBumperLeft() && getBumperRight())
{
move(30, BWD, DIST_MM(100), true);
rotate(20, RIGHT, 180, true);
}
else if(getBumperLeft())
{
move(30, BWD, DIST_MM(100), true);
rotate(20, RIGHT, 45, true);
}
else if(getBumperRight())
{
move(30, BWD, DIST_MM(100), true);
rotate(20, LEFT, 45, true);
}
mSleep(50);
setStopwatch3(0);
}
task_RP6System(); // alle Tasks auf einmal
}
return 0;
}
Obwohl ich meinen RP6 jetzt reaktiviert habe, kann ich es trotzdem noch nicht testen:
Code:
RP6Loader Terminal - type ".help" for command list!
[RP6BOOT]
[READY]
[READY]
ADC Lichtsensor Links: 135
ADC Lichtsensor Rechts: 135
ADC Akku: 524
Warnung! Akku ist bald leer!
ADC Lichtsensor Links: 133
ADC Lichtsensor Rechts: 133
ADC Akku: 527
Warnung! Akku ist bald leer!
[RP6BOOT]
[READY]
ADC Lichtsensor Links: 140
ADC Lichtsensor Rechts: 140
ADC Akku: 524
Warnung! Akku ist bald leer!
ADC Lichtsensor Links: 138
ADC Lichtsensor Rechts: 138
ADC Akku: 527
Warnung! Akku ist bald leer!
[RP6BOOT]
[READY]
Bumper Status hat sich geaendert:
- Linker Bumper nicht gedrueckt.
- Rechter Bumper gedrueckt!
[RP6BOOT]
[READY]
Muss wohl erst die Akkus laden, weil sich der RP6 sofort resetet ;)
Gruß
mic
Lesezeichen