also ich hab des so gedacht, dass wenn halt was im weg is, dass er dann stehen bleibt und rotiert. danach soll er wieder weiter fahren. und des tut er aber nicht, auch nicht mit nem neuen move befehl.

ich hab das alles schon erstellt ohne m32 und display, das schaut bei mir so aus:

Code:
#include "RP6RobotBaseLib.h" 

void Crash (void)
{
	if (bumper_left || bumper_right)
	{
		moveAtSpeed(0,0);
	}
	
	if (bumper_left)
	{
		move(60,BWD,500,1);
		mSleep(500);
		rotate(60,RIGHT,90,1);
		changeDirection(FWD);
		moveAtSpeed(60,60);
	}
	
	else if (bumper_right)
	{
		move(60,BWD,500,1);
		mSleep(500);
		rotate(60,LEFT,90,1);
		changeDirection(FWD);
		moveAtSpeed(60,60);
	}
	
	else if (bumper_left && bumper_right)
	{
		move(60,BWD,500,1);
		rotate(60,LEFT,90,1);
		changeDirection(FWD);
		moveAtSpeed(60,60);
	}
}


void Achtung (void)
{
	if (obstacle_left)
	{
		rotate(60,RIGHT, 45,1);
		changeDirection(FWD);
		moveAtSpeed(60,60);
	}
	
	else if (obstacle_right)
	{
		rotate(60,LEFT, 45,1);
		changeDirection(FWD);
		moveAtSpeed(60,60);
	}
}



int main (void)
{
	initRobotBase();
	
	setLEDs(0b111111);
	mSleep(500);
	setLEDs(0b011111);
	mSleep(500);
	setLEDs(0b001111);
	mSleep(500);
	setLEDs(0b000111);
	mSleep(500);
	setLEDs(0b000011);
	mSleep(500);
	setLEDs(0b000001);
	mSleep(500);
	setLEDs(0b000000);
	mSleep(1000);
	
	BUMPERS_setStateChangedHandler(Crash);
	
	ACS_setStateChangedHandler(Achtung);
	
	powerON();
	
	setACSPwrMed();
	
	changeDirection(FWD);
	
	moveAtSpeed(60,60);
	
	
	while(true)
	{
		task_RP6System();
		
		
		
	}
		
	return 0;
}
und wenn ich das auf die base auflade, dann funzt es einwandfrei. und des alles hätt ich halt jetz gern mit m32...