hardstyleroxx
01.10.2005, 17:09
Hey,
ich möchte gerne mit 2 tastern 2 verschiedene Programmabläufe ein und ausschalten können. Funktioniert auch soweit alles, blos muss ich beim aussschalten den Taster immer ziemlich lange gedrückt halten weil er erst das Programm zu ende laufen lässt. Ich denke mal das fehlen Interrupts oder? Wäre nett wenn jemand mal den Code Optimieren könnte bzw. das fehlene hinzufügen.
$regfile = M8def.dat
$crystal = 3638400
Ddrd = &B11100000
Portd = &B00001100
Declare Sub An
Declare Sub Aus
Declare Sub Prg1
Declare Sub Prg2
Dim T1 As Bit
Dim T2 As Bit
Do
Debounce Pind.2 , 0 , An , Sub
Debounce Pind.3 , 0 , Aus , Sub
If T1 = 1 Then
Gosub Prg1
End If
If T2 = 1 Then
Gosub Prg2
End If
Loop
End
An:
Toggle T1
Return
Aus:
Toggle T2
Return
Prg1:
Portd.5 = 1
Waitms 100
Portd.5 = 0
Portd.6 = 1
Waitms 100
Portd.6 = 0
Portd.7 = 1
Waitms 100
Portd.7 = 0
Return
Prg2:
Portd.5 = 1
Waitms 400
Portd.5 = 0
Portd.6 = 1
Waitms 400
Portd.6 = 0
Portd.7 = 1
Waitms 400
Portd.7 = 0
Return
Danke schonmal!
ich möchte gerne mit 2 tastern 2 verschiedene Programmabläufe ein und ausschalten können. Funktioniert auch soweit alles, blos muss ich beim aussschalten den Taster immer ziemlich lange gedrückt halten weil er erst das Programm zu ende laufen lässt. Ich denke mal das fehlen Interrupts oder? Wäre nett wenn jemand mal den Code Optimieren könnte bzw. das fehlene hinzufügen.
$regfile = M8def.dat
$crystal = 3638400
Ddrd = &B11100000
Portd = &B00001100
Declare Sub An
Declare Sub Aus
Declare Sub Prg1
Declare Sub Prg2
Dim T1 As Bit
Dim T2 As Bit
Do
Debounce Pind.2 , 0 , An , Sub
Debounce Pind.3 , 0 , Aus , Sub
If T1 = 1 Then
Gosub Prg1
End If
If T2 = 1 Then
Gosub Prg2
End If
Loop
End
An:
Toggle T1
Return
Aus:
Toggle T2
Return
Prg1:
Portd.5 = 1
Waitms 100
Portd.5 = 0
Portd.6 = 1
Waitms 100
Portd.6 = 0
Portd.7 = 1
Waitms 100
Portd.7 = 0
Return
Prg2:
Portd.5 = 1
Waitms 400
Portd.5 = 0
Portd.6 = 1
Waitms 400
Portd.6 = 0
Portd.7 = 1
Waitms 400
Portd.7 = 0
Return
Danke schonmal!