-
-
Neuer Benutzer
Öfters hier
Hallo!
An die Fusebits wage ich mich irgendwann mal dran. Das reicht noch wenn ich mir sicherer in dieser MAterie bin. Hab jetzt erst mal
$Crystal = 1000000 rein genommen damit keine Missverständnisse mehr aufkommen.
Also ich komme mit diesem Timer Zeugs nicht klar. Hinter mir blinkt eine Leuchtdiode seit 2 Stunden im Sekundentakt.
Also die Funktion sollte gegeben sein..
Folgendes habe ich im Prog drin...
On Timer1 Timer_irq
Const Timervorgabe = 65500 'dieser hohe Wert ist nur zu Testzwecken.'
Enable Timer1
Enable Interrupts
Timer1 = Timervorgabe
do
If Fensterschalter = 1 And Tuerkontakt = 1 And Eingangrauchmelder = 0 Then
Alarm = 1
Else
Alarm = 0
End If
If Eingangtaster = 1 Then
Dummy = 1
End If
loop
Timer_irq:
Timer1 = Timervorgabe
If Dummy = 1 And Eingangrauchmelder = 0 Then
Portb.1 = 1
Zaehler = Zaehler + 1
End If
If Zaehler = 25 Then 'auch dieser Wert ist nur zu Testzwecken'
Dummy = 0
Zaehler = 0
Portb.1 = 0
End If
Return
wenn ich nun die Variable Zaehler , Dummy und Timer1 beobachte stelle ich fest das sich nur Dummy auf 1 ändert Timer1 brav hochzählt aber die Variable Zaehler auf 0 stehen bleibt.
Dummy hat den Wert 1 und Eingangrauchmelder 0
Das Ganze ist recht Zeitunkritisch will sagen es kommt auf ne Minute nicht an grins' am Ende soll einfach ein Nachlauf von ca 30 Minuten rauskommen und dann Portb.1 abschalten.
Mir kommt es aber vor als ob er den Timer Interrupt garnicht macht bzw einfach überspringt... So wie ich das sehe müsste er ja zu
Timer_irq: springen und dort weiter werkeln...
Wo liegt denn nun der Hase im Pfeffer?
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen