Danke für die Antworten, ich hab das oben beschriebene mal als "programm" geschrieben:
Code:
volatile uint8_t zaehler;
(Interrupt routine)
zaehler=zaehler+1; //prescaler so einstellen, dass alle 1ms zaehler erhöht wird
(main)
...
...
if(ad-wandlung-fertig-flag==1)
{ ad-wert speichern;
setpos(schritte); //Befehl geben, dass er 50 schritte drehen soll
}
else
{ if(ap==tp) //wenn aktuelle position==target pos dann weitermachen
{ if(zähler ist 80 mal erhöht worden) //ka wie ich das mach
{ ad-wandlung starten;
}
}
}
...
...
Das mit dem ADC immer aktivieren hab ich jetzt nicht gemacht, weil ich sonst nicht weiß wann er fertig ist mit der wandlung, weil wenn ich ihn immer eingeschaltet lasse setzt er das flag ja nicht wenn er fertig ist glaub ich.
Kann mein "programm" so funktionieren?
Wie mache ich die Abfrage, ob zaehler 80 mal erhöht worden ist?
lg christoph
Lesezeichen