Hab ein erneutes Problem. Das folgende Programm funktioniert nach meiner Zufriedenheit:

Code:
#include "asuro.h" 
#include <stdlib.h> 

#define maxspeed 130
#define medspeed 120  
#define quadteiler 30 

int speedLeft,speedRight, sR, sL, i; 
unsigned int lineData[2];
unsigned int zaehler = 0;
int bat;

void Line (void) 
{ 
   speedRight = medspeed - ((i*abs(i))/quadteiler); 
   speedLeft = medspeed + ((i*abs(i))/quadteiler); 
   if (speedRight > maxspeed) speedRight = maxspeed; 
   if (speedLeft > maxspeed) speedLeft = maxspeed; 
   if (speedRight < -maxspeed) speedRight = -maxspeed; 
   if (speedLeft < -maxspeed) speedLeft = -maxspeed; 
      if (speedRight < 0) {MotorDir (FWD,RWD); sR=-speedRight;sL=speedLeft;} 
      else if (speedLeft < 0) {MotorDir (RWD,FWD); sL=-speedLeft;sR=speedRight;} 
      else {MotorDir(FWD,FWD);sL=speedLeft;sR=speedRight;} 
} 

int main(void) 
{ 
   Init();
   FrontLED(ON); 
   for (i = 0; i < 0xFF; i++) LineData(lineData); 
   speedLeft = speedRight = 200; 
   for(;;) { 
      zaehler++;
	  if (zaehler == 2500)  {
	    bat = Batterie();
	    zaehler = 0;
	    PrintInt(bat);
        if(bat > 550){
          StatusLED(GREEN);
		}
		else{
		  StatusLED(RED);
		}
	  }
      LineData(lineData); 
      i = lineData[0] - lineData[1]; 
      if (i > 0) {  
         Line(); 
         } 
      else if (i < 0) { 
         Line(); 
         } 
      else { 
         speedLeft = speedRight = medspeed; 
         MotorDir(FWD,FWD); 
         sL=speedLeft;sR=speedRight; 
      } 
      MotorSpeed(sL,sR); 
   } 
}




Nun brauch i das Programm ohne Linienverfolgung - hab mir folgendes gedacht:


Code:
#include "asuro.h" 
#include <stdlib.h> 


unsigned int zaehler = 0;
int bat;



int main(void) 
{ 
   Init();
  
   for(;;) { 
      zaehler++;
	  if (zaehler == 2500)  {
	    bat = Batterie();
	    zaehler = 0;
	    PrintInt(bat);
        if(bat > 550){
          StatusLED(GREEN);
		}
		else{
		  StatusLED(RED);
		}
	  }
      
   } 
}
Jedoch werden jetzt ganz andere Werte, als vorher ausgeben. Beim obersten Programm Werte um 580 beim unteren Programm Werte von 830 ?

Kann jemand helfen ?

oder weiß jemand welche Werte bei der Batterie-Funktion ausgegeben werden müssten ?

Danke