Hi zusammen,

Ich bin was Programmiersprachen angeht noch nicht allzusehr bewandert, learning by doing halt. Es geht um folgendes: Über einen entprellten Eingabetaster rufe ich ein Sub über den debounce befehl auf - soweit ist noch alles klar.
Im Sub möchte ich dann nach einer kurzen Wartezeit (30ms) einen ADC Eingang abfragen. Wenn dieser Wert W größer 120 ist soll nach 10 ms nochmal eine Sicherheitsabfrage gemacht werden, wenn W immer noch größer 120 ist soll Portb.0 auf 0 gehen und das Sub kann beendet werden.
Gleichzeitig soll aber Portb.0 auch auf 0 gehen, wenn W nach ca. 130 ms den Wert 120 immer noch nicht erreicht werden, damit soll dann auch das Sub beendet werden.
Mein Code habe ich mal reingeschrieben. Problem dabei ist, dass wenn W nach 30 ms noch nicht auf 120 ist, die IF Bedingung übersprungen wird und der waitms 100 befehl ausgeführt und das sub danach beendet wird - so soll es nicht sein... wer kann helfen?

Code:
Sub Hoch


      Portb.0 = 1
      Waitms 30
      W = Getadc(0)
      If W > 120 Then
      Waitms 10
      W = Getadc(0)
      If W > 120 Then Portb.0 = 0
      Else
      Waitms 100
      Portb.0 = 0
      End If

    

    End Sub