Hallo,
ich arbeite zur Zeit an einer Steuerung für einen Schrittmotor; programmiert in C (Borland C++ Builder).
Der Motor selbst läuft nur Timergesteuert, was auch im Einzelaufruf kein Problem darstellt, da keine andere Funktion (per „Knopfdruck“) aufgerufen werden kann, bis die Zielposition erreicht ist (Button deaktiviert).
Jetzt will ich eine Funktion erstellen, der man die Motorparameter übergibt, die den Motor wie bisher per Timer startet und aus der man erst zurückkehrt, wenn die Zielposition erreicht ist. Mein Problem dabei: Die Funktion wird beendet, bevor das Ziel erreicht ist. Der Motor fährt zwar auf die Zielpos., allerdings werden währenddessen evt. schon weitere Funktionen ausgeführt. Das würde ich gerne verhindern.
Ich habe schon mit TEvent (WaitFor) und Sleep experimentiert, allerdings läuft das ganze in einem Thread und der wird leider für die Zeit komplett angehalten. Hat jemand eine Idee, wie man diese Funktion realisieren kann? Meine Erfahrungen mit C sind leider begrenzt…