Danke Valen!
Ich hab jetzt mal als Versuch einen Code auf meine eigene Art gemacht als mich mit irgendwelchen Konstanten herumzuschlagen...
Danke trotzdem!
Code:
/*******************************************************************************
*
* Description: Eigen versuch geschw
*
*****************************************************************************/
#include<asuro.h>
#include <stdio.h>
#include <stdlib.h>
int main(void) {
unsigned int data[2];//Speicher bereitstellen
unsigned char taste;
unsigned int dataO[2],dataM[2],dataMi[2],dataMa[2];
unsigned long time;
float tli[1000],v[2];
char text[16]=" ";
int k,l,i,tz;
tz=0;
i=0;
k=0;
l=0;
tli[0]=0;
Init();
dataM[0]=0;
dataMi[0]=1000;
dataMa[0]=0;
time=0;
while(1){ // Endlosschleife, ASURO soll beliebig
// lang einer Linie nachfahren
MotorDir(FWD,FWD);
time=Gettime();
OdometrieData(dataO);
if (dataO[0]>dataMa[0])
{dataMa[0]=dataO[0];}
if (dataO[0]<dataMi[0])
{dataMi[0]=dataO[0];}
dataM[0]=(dataMi[0]+dataMa[0])/2;
StatusLED(RED);
if (dataO[0]<(dataM[0]-dataM[0]*0.2))
{k++;}
if (dataO[0]>(dataM[0]+dataM[0]*0.2))
{l++;}
if (k>1 && l>1)
{StatusLED(GREEN);
tz++;
tli[tz]=time;
v[0]=2510/(tli[tz]-tli[(tz-1)]);
i++;
k=0;
l=0;}
SerWrite("\n\rAsuro Ergebniss = ",20);
PrintInt(v[0]);
MotorSpeed(100,0);
}
return 0;
}
Lesezeichen