Folgender Code:

Code:
#include "RP6RobotBaseLib.h"

int main(void)
{
	initRobotBase();
	powerON();
	setACSPwrHigh();
	void RC5_COMMAND(RC5data_t rc5data)
	{
		if(rc5data.device == 10)
		{
			moveAtSpeed(0,0);
		}
	}
	void ACS_EVENT_HANDLER(void)
	{
		if(obstacle_left || obstacle_right)
		{
			changeDirection(RIGHT);
			writeString_P("!\n");
			while(true)
			{
				if(!obstacle_left && !obstacle_right)
				{
					changeDirection(FWD);
					break;
				}
			}
		}
	}
	ACS_setStateChangedHandler(ACS_EVENT_HANDLER);
	IRCOMM_setRC5DataReadyHandler(RC5_COMMAND);
	moveAtSpeed(45,45);
	task_motionControl();
	while(true)
	{
		task_motionControl();
		task_ACS();
	}
}
funktioniert nicht so wie er soll.

Der Roboter sollte wenn er auf ein Hindernis stößt rechts abbiegen und bei Druck eines beliebigen Knopfs auf der Fernbedienung stehen bleiben.

Allerdings rollt er immer gerade weiter, egal ob ein Hindernis vor ihm ist oder ich einen Knopf auf der Fernbedienung drücke.