hallo,
@matze: also du hast schon recht, da ha ich was übersehen. allerdings klappt das auch nicht, wenn ic hden code entsprechend ändere:
Code:
/*Geradeaus fahren*/

#include "asuro.h"

#define TRIGGERLEVEL 390
#define HYSTERESIS 6
#define LOW 0
#define HIGH 1

int main(void)
{
	unsigned int data[2];//Variable für Odometrie
	signed int status[2]={0,0};//Variable für Status HIGH or LOW
	signed int difference=0;//Zählvariable
	unsigned int distance=0;
	Init();
	MotorDir(FWD,FWD);
	while(1) {
		//Heligkeitswerte der Lichtschranken auslesen
		OdometrieData(data);
		
		//Wechsel LINKER Sensor von niedrig auf hoch
		if ((status[0]==LOW) && (data[0]>TRIGGERLEVEL+HYSTERESIS)) {
			status[0]==HIGH;
			difference++;
			distance++;}
		
		//Wechsel LINKER Sensor von hoch auf niedrig
		if ((status[0]==HIGH) && (data[0]<TRIGGERLEVEL-HYSTERESIS)) {
			status[0]==LOW;
			difference++;
			distance++;}
		
		//Wechsel RECHTER Sensor von niedrig auf hoch
		if ((status[1]==LOW) && (data[1]>TRIGGERLEVEL+HYSTERESIS)) {
			status[1]==HIGH;
			difference--;}
		
		//Wechsel RECHTER Sensor von hoch auf niedrig
		if ((status[1]==HIGH) && (data[1]<TRIGGERLEVEL-HYSTERESIS)) {
			status[1]==LOW;
			difference--;}
			
		//Sicherheitssperre für Zählvariable
/**********************************************************/
		//Wertebereich größer als 255
		if (difference>255) {
			difference=255;}
		//Wertebereich kleiner als -255
		if (difference<-255) {
			difference=-255;}
		//Zähldifferenz auswerten:
		//Motoren passend betreiben
/*********************************************************/
		//links schneller Drehen ==> links um difference verlangsamen
		if (difference>0) {
			MotorSpeed(150-difference,150);}
		//sonst rechts um difference beschleunigen
		else {MotorSpeed(150,150+difference);}
		if (distance>=335){
		MotorDir(BREAK,BREAK);
		MotorSpeed(0,0);}
	}
	return 0;
}
@pinsel: also mein asuro verfolgt ja so eine linie, allerdings nicht mehr wenn ich vresuche mit der variablen distance die strecke zu definieren zu versuche,

läuft denn test.hex auf euren asuros?