Hallo,
ich habe folgendes Programm:
Mein Problem liegt darin, das in den beiden Interrupt-Routinen beide Motoren 0 sein sollen und gelichzeitig der Servo eine Position abfahren soll.Code:$regfile = "M48def.dat" $crystal = 8000000 $hwstack = 32 $swstack = 10 $framesize = 40 Dim Zeitpunkt As Word Dim A As Byte Zeitpunkt = 0 'Servo Config Servos = 1 , Servo1 = Portb.1 , Reload = 10 Config Portb.1 = Output 'Pumpe 1 an PD7 Pumpe1 Alias Portd.5 Config Pumpe1 = Output 'Motor Stauchen an PD6 Stauchen Alias Portd.6 Config Stauchen = Output 'Motor Streckenan PD7 Streckenalias Portd.7 Config Strecken = Output 'Pumpe 2 an PB0 Pumpe2 Alias Portb.0 Config Pumpe2 = Output 'TASTER 1 an PD2 Taster1 Alias Pind.2 Config Pind.2 = Input Portd.2 = 1 'Taster 2 an PD3 Taster2 Alias Pind.3 Config Pind.3 = Input Portd.3 = 1 On Int0 Zweiter On Int1 Erster Config Int0 = Falling Config Int1 = Falling Enable Int0 Enable Int1 Enable Interrupts Servo(1) = 60 Pumpe1 = 1 : Pumpe2 = 0 Do Loop Zweiter: Strecken = 0 : Stauchen = 0 : Servo(1) = 40 Pumpe1 = 1 : Pumpe2 = 1 Waitms 1000 Pumpe1 = 0 : Pumpe2 = 1 Waitms 2000 Strecken = 1 : Stauchen = 0 Return Erster: Strecken = 0 : Stauchen = 0 : Servo(1) = 50 Pumpe1 = 1 : Pumpe2 = 1 Waitms 1000 Pumpe1 = 1 : Pumpe2 = 0 Waitms 2000 Strecken = 0 : Stauchen = 1 Return Return
Doch dies tut das Programm leider nicht.
Eigentlich müsste passieren:
Stecken + Stauchen = 0 -> Korrekt
Servo = Position anfahren -> macht er aber leider erst zum Schluss
pumpen mit Pausen
Strecken bzw Stauchen
Der Servo bewegt sich erst wieder wenn, Strecken und Stauchen = 1 bzw. 0 ist.
Woran dies liegt kann ich mir leider nicht erklären hoffentlich habt ihr eine Lösung zu meinem Problem
Über Antworten würde ich mich sehr freuen
Gruß
Martin








Zitieren
Hoffentlich liegt das Ziel auch am Weg 

Lesezeichen