So Leute, das ist jetzt die Finale Version von mir. Jetzt funktioniert alles.
Bei Stromzufuhr ist alles aus.
Beim ersten und zweiten schalten blinkt es unterschiedlich.
Beim dritten schalten geht alles wieder aus.
So wollte ich das haben.
Jetzt ein paar Fragen zum Code.
Was bedeutet Dim - As Bit?
und Dim - As Integer?
und Xor?
Diese Begriffe sagen mir noch nichts.
Und wieso muss ich ca. ne halbe Sekunde den Taster drücken bis der Attiny13 reagiert?
Code:
$regfile = "attiny13.dat"
$crystal = 1200000
$hwstack = 10
$swstack = 10
$framesize = 10
Config Portb.1 = Output
Config Portb.2 = Output
Config Portb.3 = Output
Config Portb.4 = Output
Config Pinb.0 = Input
Dim Modus As Integer
Dim Anzahlmodi As Integer
Dim Taste_old As Bit
Dim Taste_new As Bit
Dim X As Bit
Modus = 1
Anzahlmodi = 3
Taste_new = 0
Do
Taste_old = Taste_new
Taste_new = Pinb.0
X = Taste_old Xor Taste_new
X = X And Taste_new
If X = 1 Then Incr Modus
If Modus > Anzahlmodi Then Modus = 1
Select Case Modus
Case 1
Gosub Lichteffekt1
Case 2
Gosub Lichteffekt2
Case 3
Gosub Lichteffekt3
End Select
Loop
End
Lichteffekt1:
Portb.1 = 0
Portb.2 = 0
Portb.3 = 0
Portb.4 = 0
Return
Lichteffekt2:
Portb.1 = 1
Portb.2 = 0
Portb.3 = 1
Portb.4 = 0
Waitms 100
Portb.3 = 0
Portb.4 = 1
Waitms 100
Portb.3 = 1
Portb.4 = 0
Waitms 100
Portb.1 = 0
Portb.2 = 1
Portb.3 = 0
Portb.4 = 1
Waitms 100
Portb.3 = 1
Portb.4 = 0
Waitms 100
Portb.3 = 0
Portb.4 = 1
Waitms 100
Return
Lichteffekt3:
Portb.1 = 1
Portb.2 = 1
Portb.3 = 1
Portb.4 = 1
Waitms 100
Portb.1 = 0
Portb.2 = 0
Portb.3 = 0
Portb.4 = 0
Waitms 100
Portb.1 = 1
Portb.2 = 1
Portb.3 = 1
Portb.4 = 1
Waitms 100
Portb.1 = 0
Portb.2 = 0
Portb.3 = 0
Portb.4 = 0
Waitms 100
Portb.1 = 1
Portb.2 = 1
Portb.3 = 1
Portb.4 = 1
Waitms 100
Portb.1 = 0
Portb.2 = 0
Portb.3 = 0
Portb.4 = 0
Waitms 100
Return
Lesezeichen