Hallo,

ich habe folgendes Programm:
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
Mein Problem liegt darin, das in den beiden Interrupt-Routinen beide Motoren 0 sein sollen und gelichzeitig der Servo eine Position abfahren soll.
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