Code:
Timer0_isr:
Timer0 = Timerstartwert
Incr Ms
Return
das der Timer auf Start-Wert gesetzt wird ist bestimmt so in Bascom ... bin noch Bascom Anfänger und habe mich mit Timer in Bascom noch nicht befasst ...
dort soll doch der Wert MS um eins erhöht werden um deine DO/LOOP Schleife nach der Zeit MS=2000 zu beenden ...
in der FOR/NEXT Schleife müsste doch nach der DO/LOOP-Schleife der Wert MS wieder zurückgesetzt werden oder ?! ... kann da aber nichts finden ...
- - - Aktualisiert - - -
Code:
Loop Until Ms = 2000
schreib mal Loop Until Ms > 2000
den der Timer läuft doch von Programm Anfang an ... bis es in die DO/LOOP geht ist der Wert MS doch schon weit über 2000 ... vor der DO/LOOP den Wert MS=0 setzen ...
Beispiel:
Code:
Ms=0
Do
'Locate 1 , 1
'Lcd "Bin im Do-Loop" ; S
Print "Bin im Do-Loop"
Print "Durchlauf Nr. " ; S
' ------ Ms = 0 -----
If Ms = Wert3 Then
Gosub Kamera_ein
End If
Wert34 = Wert3 + Wert4
If Ms = Wert34 Then
Gosub Kamera_aus
End If
If Ms = Wert5 Then
Gosub Blitz_ein
End If
Wert56 = Wert5 + Wert6
If Ms = Wert56 Then
Gosub Blitz_aus
End If
If Ms = Wert7 Then
Gosub Ventil_ein
End If
Wert78 = Wert7 + Wert8
If Ms = Wert78 Then
Gosub Ventil_aus
End If
If Ms = Wert9 Then
Gosub Ventil_ein
End If
Wert91 = Wert9 + Wert10
If Ms = Wert91 Then
Gosub Ventil_aus
End If
Loop Until Ms > 2000
Lesezeichen