Es funktioniert nun einigermaßen. Ein Großer Fehler ist noch vorhanden den ich einfach nicht finden kann.
Das Lauflicht soll in folgender Reihenfolge ablaufen:
LED_gr an
0.5s
LED_gr aus
LED_ge an
0.5s
LED_ge aus
LED_ro an
0.5s
LED_ro aus
LED_gr an
usw.
Blos leuchtet bei meinem Programm LED_ro fast dauerhaft. Sie geht nach zufall mal an und mal aus hab ich das Gefühl.
Code:
$regfile = M8def.dat
$crystal = 3686400
Ddrd = &B11100000 'PD7, PD6, PD5 als Ausgänge festlegen, rest Eingang
Dim Zler As Byte
On Timer1 Ontimer1
Config Timer1 = Timer , Prescale = 64 'Timertakt = Crystal / 64
Enable Timer1 'Timer1 einschalten
Enable Interrupts 'Interrupts Global einschalten
Const Timervorgabe = 36736 'Hat mir rnAVR so berechnet
'###Deklarationen###
Led_gr Alias Portd.7 'LED Grün
Led_ge Alias Portd.6 'LED Gelb
Led_ro Alias Portd.5 'LED Rot
'###Hauptschleife###
Do
If Zler = 1 Or Zler = 4 Or Zler = 7 Then
Set Led_gr
Else
Reset Led_gr
If Zler = 2 Or Zler = 5 Or Zler = 8 Then
Set Led_ge
Else
Reset Led_ge
If Zler = 3 Or Zler = 6 Or Zler = 9 Then
Set Led_ro
Else
Reset Led_ro
End If
End If
End If
Loop
End
'###OnTimer1###
Ontimer1:
Timer1 = Timervorgabe
Incr Zler 'Zler + 1
If Zler = 10 Then 'Wenn Zler = 9 dann...
Zler = 1 '...Zler = 0
End If
Return
Lesezeichen