Hallo,
ich muß mich doch noch mal melden. Erst mal vielen Dank für deine Tipps. hat mir sehr geholfen und bin nun auch ganz gut fertig geworden.
Nun habe ich aber noch ein Problem.
Der Interrupt soll die Abarbeitung der Schleife unterbrechen und nach erneuter Umschaltung wieder fort setzen. Das macht sie auch, aber nach dem Interrupt läuft die Schleife noch etwas weiter bevor sie aufhört. Nun habe ich schon nach jedem Toggle eine If Then Abfrage gemacht, so dass die Schleife nach jeder Umschaltung abbricht. Wenn nun aber die Wait Zeit recht lang dauert wartet der Interrupt immer noch bis zum Ende der Wartezeit bevor sie aufhört.
Nun meine Frage: gibt es einen Befehl der, egal wo sich das Program gerade befindet, selbst mitten in einem Waitablauf, die Schleife verlässt bzw. beendet und wenn nötig wieder fort setzt.
Vielen Dank im Voraus
Gruß
H.Jeske
Hab noch das Program vergessen, ist vielleicht hilfreich:
$regfile = "attiny13.dat"
$crystal = 1200000
Config Pinb.1 = Input
Portb.1 = 1
Taster Alias Pinb.1
Config Portb.3 = Output
B3 Alias Portb.3
Config Portb.4 = Output
Weiss Alias Portb.4
On Int0 Onint0
Config Int0 = Falling
Enable Int0
Enable Interrupts
Do
Weiss = 1
If B3 = 1 Then
Toggle Weiss
Wait 5
End If
If B3 = 1 Then
Toggle Weiss
Waitms 300
End If
If B3 = 1 Then
Toggle Weiss
Wait 1
End If
If B3 = 1 Then
Toggle Weiss
Waitms 500
End If
If B3 = 1 Then
Toggle Weiss
Waitms 500
End If
If B3 = 1 Then
Toggle Weiss
Wait 1
End If
Loop
End
Onint0:
Toggle B3
Return
Lesezeichen