Hallo,
ich möchte gerne schauen wieviele Hell/Dunkel- Welchsel in 20 Sekunden links und rechts erfolgen.
Dafür habe ich mir gedacht dieses Programm zu schreiben. Es klappt aber leider nicht so, wie ich mir das eigentlich vorgestellt habe. Die wechsel werden nicht richtig gezählt und nach dem 10ten "Wechsel" mag das Programm nicht mehr weiterzählen udn ich bekomme irgendwelche komischen Zeichen im Terminal angezeigt. Ich bin neu auf diesem Gebiet und wollte diese Aufgabe als Übung hernehmen.
Ich danke fuer jeden Tipp.
Code:
#include "asuro.h"
#include <stdlib.h>
void ZahlSenden(int zahl)
{
char text[6]=" ";
itoa(zahl,text,10);
SerWrite(text,5);
}
int main(void)
{
unsigned char flagl, flagr, sw;
unsigned int data[2];
unsigned int wechsel_l, wechsel_r, mittelwert, start_var_l, start_var_r;
Init();
MotorDir(FWD,FWD);
MotorSpeed(125,125);
OdometrieData(data);
start_var_l=data[0];
start_var_r=data[1];
mittelwert=350;
wechsel_l=0;
wechsel_r=0;
while (1) {
OdometrieData(data);
if (data[0]<mittelwert && start_var_l>mittelwert) {
wechsel_l++;
}
if (data[0]>mittelwert && start_var_l<mittelwert) {
wechsel_l++;
}
if (data[1]<mittelwert && start_var_r>mittelwert) {
wechsel_r++;
}
if (data[1]>mittelwert && start_var_r<mittelwert) {
wechsel_r++;
}
ZahlSenden(wechsel_r);
SerWrite("\t ",3);
ZahlSenden(wechsel_l);
}
return 0;
}
Lesezeichen