Also das hier ist der Code für den Timer, alleine funktioniert er, wenn ich meinen Code dazupacke dann geht gar nichts mehr, entweder ist die variable immer high oder das restliche Programm reagiert gar nicht.
Code:
Config Timer1 = Timer , prescale 64
On Timer1 Timer1_isr
Enable Timer1
Enable Interrupts
Do
NOP
Loop
End
Timer1_isr:
Load Timer1, 195
C = 0 : waitms 5 : C = 1
Diesen Code hab ich aus einem Buch, alleine funktioniert er auch ganz gut.
Und hier mein Code (ohne das geblinke):
Code:
Main:
'Rauchmelder unscharf schalten
Debounce Rauchmelder , 0 , Rmtoggle , Sub
'Schütz An/Aus
If Einschalten = 0 Then Goto Setzen
If Ausschalten = 0 Then Goto Rsetzen
'Not-Aus
If Notaus = 1 And B = 1 Then
Gelb = C
Elseif Notaus = 0 And B = 1 Then
Gelb = 1
End If
'Rauchmelder-Ausgelöst
If Feuer = 0 And F = 0 Then
Alarm = An
Goto Rsetzen
Else
Alarm = Aus
End If
Goto Main 'loop
'Flip-Flop setzen
Setzen:
Schuetz = An
Gelb = An
B = An
Goto Main
'Flip-Flop zurücksetzen
Rsetzen:
Schuetz = Aus
Gelb = Aus
B = Aus
If F = 1 Then
Gosub Rmtoggle
End If
Goto Main
Rmtoggle:
Toggle F
If F = 1 Then
Rot = C
Else
Rot = 0
End If
Return
End
C ist die besagte Variable.
Ich weiß, dass das ständige Goto eigentlich ein Unding ist, aber ich hab grade erst mit Bascom angefangen und bin erst dabei mich einzuarbeiten
, vorher hab ich alles in Elektronikhardware aufgebaut.
Lesezeichen