Hallo Leute ich hab ein Problem mit der Odometrie. Wenn ich follgendes Programm flash, aus Mehr Spaß mit ASURO Band II etwas modofieziert:

Code:
#include "asuro.h"

/*Schwellwert für die Hell-/Dunkel-Unterscheidung. Eventuell muss damit etwas variiert werden.*/
#define TRIGGERLEVEL 600
#define HYSTERSIS 10
#define LOW 0
#define HIGH 1
#define SPEED 255

int main(void) 
{ 
	unsigned int data[2];
	signed int status[2] = {0, 0};
	signed int difference = 0;
	Init();
	MotorDir(FWD, FWD);
	MotorSpeed(SPEED, SPEED);
	while(1) 
	{
	                OdometrieData(data); 										
		if ((status[0]==LOW) && (data[0]>TRIGGERLEVEL+HYSTERSIS))		/*Wenn linker Sensor von niedrig auf hoch wechselt*/
		{
			status[0]=HIGH;
			difference++;
		}
		if ((status[0]==HIGH) && (data[0]<TRIGGERLEVEL-HYSTERSIS))	/*Wenn linker Sensor von hoch auf niedrig wechselt*/
		{
			status[0]=LOW;
			difference++;
		}
		if ((status[1]==LOW) && (data[1]>TRIGGERLEVEL+HYSTERSIS))		/*Wenn rechter Sensor von niedrig auf hoch wechselt*/
		{
			status[1]=HIGH;
			difference--;
		}
		if ((status[1]==HIGH) && (data[1]<TRIGGERLEVEL-HYSTERSIS))	/*Wenn rechter Sensor von hoch auf neidrig wechselt*/
		{
			status[1]=LOW;
			difference--;
		}
		PrintInt (difference);
		if (difference<-SPEED)											/*Sicherheitsabfragen*/
		{
			difference=-SPEED;
		}						
		if (difference>SPEED)
		{
			difference=SPEED;
		}						
		if (difference>0)
		{
			MotorSpeed(SPEED-difference, SPEED);							/*Motoren einstellen*/
		}		
		else if (difference<0)
		{
			MotorSpeed(SPEED, SPEED+difference);
		}
		if (SPEED-difference<=100)
		{
			difference=0;
		}
 	}
}
Wenn ich dann die Daten abfrage kommt folgendes:

Code:
00000011111.....206206206206.......
und wenn 206 kommt bleibt das rechte Rad stehen. Könnte es ein Hardwaredefekt sein oder ist im Programm ein Fehler?

Vielen Dank im vorraus.