Hallo Leute,
ich habe hier mal folgenden code zusammengeschrieben:

Code:
$regfile = "m32def.dat"
$crystal = 4000000
$baud = 9600

Rem   Portb.4 = 1 --> Motor links vor
Rem   Portb.5 = 1 --> Motor links rück
Rem   Portb.6 = 1 --> Motor rechts vor
Rem   Portb.7 = 1 --> Motor links rück


Config Portb = Output
Config Portd = Input
Config Portc = Input




Do


   ' Alles Weiß --> vorwärts
   If Pinc.2 = 1 Then

      If Pind.2 = 0 And Pind.3 = 0 And Pind.4 = 0 And Pind.5 = 0 And Pind.6 = 0 Then
      Portb.4 = 1
      Portb.5 = 0
      Portb.6 = 1
      Portb.7 = 0
      End If

      If Pind.2 = 0 And Pind.3 = 0 And Pind.4 = 0 And Pind.5 = 0 And Pind.6 = 1 Then
      Portb.4 = 1
      Portb.5 = 0
      Portb.6 = 0
      Portb.7 = 1
      End If

      If Pind.2 = 0 And Pind.3 = 0 And Pind.4 = 0 And Pind.5 = 1 And Pind.6 = 1 Then
      Portb.4 = 1
      Portb.5 = 0
      Portb.6 = 0
      Portb.7 = 0
      End If

      If Pind.2 = 0 And Pind.3 = 0 And Pind.4 = 0 And Pind.5 = 1 And Pind.6 = 0 Then
      Portb.4 = 1
      Portb.5 = 0
      Portb.6 = 0
      Portb.7 = 0
      End If

      If Pind.2 = 0 And Pind.3 = 0 And Pind.4 = 1 And Pind.5 = 1 And Pind.6 = 0 Then
      Portb.4 = 1
      Portb.5 = 0
      Portb.6 = 1
      Portb.7 = 0
      End If

      If Pind.2 = 0 And Pind.3 = 0 And Pind.4 = 1 And Pind.5 = 0 And Pind.6 = 0 Then
      Portb.4 = 1
      Portb.5 = 0
      Portb.6 = 1
      Portb.7 = 0
      End If

      If Pind.2 = 0 And Pind.3 = 1 And Pind.4 = 1 And Pind.5 = 0 And Pind.6 = 0 Then
      Portb.4 = 1
      Portb.5 = 0
      Portb.6 = 1
      Portb.7 = 0
      End If

      If Pind.2 = 0 And Pind.3 = 1 And Pind.4 = 0 And Pind.5 = 0 And Pind.6 = 0 Then
      Portb.4 = 0
      Portb.5 = 0
      Portb.6 = 1
      Portb.7 = 0
      End If

      If Pind.2 = 1 And Pind.3 = 1 And Pind.4 = 0 And Pind.5 = 0 And Pind.6 = 0 Then
      Portb.4 = 0
      Portb.5 = 0
      Portb.6 = 1
      Portb.7 = 0
      End If

      If Pind.2 = 1 And Pind.3 = 0 And Pind.4 = 0 And Pind.5 = 0 And Pind.6 = 0 Then
      Portb.4 = 0
      Portb.5 = 1
      Portb.6 = 1
      Portb.7 = 0
      End If

      If Pind.2 = 1 And Pind.3 = 1 And Pind.4 = 1 And Pind.5 = 1 And Pind.6 = 1 Then
      Portb.4 = 0
      Portb.5 = 1
      Portb.6 = 0
      Portb.7 = 1
      End If

   End If

   If Pinc.2 = 0 Then
      Portb.4 = 0
      Portb.5 = 0
      Portb.6 = 0
      Portb.7 = 0
   End If

Loop
Es ist ein code für einen Liniensucher mit CNY70 sensoren.

Jetzt habe ich aber folgendes Problem:
Es funktioniert nur bei komplett schwarzem untergrund richtig(die räder drehen rückwärts).

bei weissem untergrund schalten die motoren willkürlich durch die gegend.

Habe die pins an portd.2 bis portd.6 wärend dem weissen untergrund mal gemessen: die scheinnen irre schnell zwischen hi und low zu schalten...

Habe ich im code was vergessen? Ist er selbst fehlerhaft?

Bitte um mithilfe.