Hallo zusammen

Mit dem folgenden Code möchte ich 2 Motoren ansteuern.
Code:
If Entfernung < 100 Then
      Portc.6 = 1
      Portc.7 = 0
      Portd.4 = 1

      Portb.0 = 1
      Portb.1 = 0
      Portd.5 = 1
   Else
      Portc.6 = 0
      Portc.7 = 1
      Portd.4 = 1

      Portb.0 = 0
      Portb.1 = 1
      Portd.5 = 1
   End If
Es funktioniert so auch einwandfrei. Wenn ich die Else-Anweisung jedoch in eine Sub-Routine stecke und aufrufe behindere ich den I2C. Genauer gesagt wird die I2C Sensorabfrage erst nach mehreren Dutzend Sekunden ausgelöst und dann noch nicht einmal kontinuierlich wie mit dem alten Code.

Hier der Code mit der Sub-Routine:
Code:
If Entfernung < 100 Then
      Portc.6 = 1
      Portc.7 = 0
      Portd.4 = 1

      Portb.0 = 1
      Portb.1 = 0
      Portd.5 = 1
   Else
      Call Fahren()
   End If

Loop
End

Sub Fahren()
   Portc.6 = 0
   Portc.7 = 1
   Portd.4 = 1

   Portb.0 = 0
   Portb.1 = 1
   Portd.5 = 1
End Sub
Woran liegt das?


Danke für eure Hilfe