Hallo!

Probiert mal folgendes Programm:
Code:
/*******************************************************************************
*
* Description: Asuro fährt geradeaus
*
*****************************************************************************/
#include "asuro.h"
#include <stdlib.h>


int main(void)
{
unsigned char speed, flagl=FALSE, flagr=FALSE;
unsigned int data[2];
int wegl, wegr, diff;
int speedLeft,speedRight;
	Init();
	MotorDir(FWD,FWD);
	StatusLED(GREEN);
	speed = 150;
	speedLeft = speedRight = speed;
	wegl=0; wegr=0;
	while(wegl<333){
		OdometrieData(data);
		if ((data[0] < 550) && (flagl == TRUE)) {flagl = FALSE; wegl++;}
		if ((data[0] > 650) && (flagl == FALSE)) {flagl = TRUE; wegl++;}
		if ((data[1] < 550) && (flagr == TRUE)) {flagr = FALSE; wegr++;}
		if ((data[1] > 650) && (flagr == FALSE)) {flagr = TRUE; wegr++;}
		diff=wegr-wegl;
		if (diff>0) speedRight--;						// fahre geradeaus
			else if (diff<0) speedLeft--;
			else {speedRight=speed; speedLeft=speed;}
		if (speedRight<0) {speedRight=0;}
		if (speedLeft<0) {speedLeft=0;}
		MotorSpeed(speedLeft,speedRight);
	}
	MotorDir(BREAK,BREAK);
	while(1);
    return 0;
}
Damit fährt mein Asuro schön geradeaus.

Gruss Waste