Brantiko
22.12.2006, 23:07
Moin,
Ich habe an meinem ATmega16 vierundzwanzig LEDs angeschlossen und möchte diese nach und nach zum aufleuchten bringen. Alle 10s soll eine LED angehen, bis dann nach 240s alle LEDs an sind.
Den Programmcode hatte ich schon geschrieben, er hat aber nicht funktioniert.
Ich habe ich so rationalisiert bis folgende Zeilen übrig blieben:
Dim A As Integer
Porta = &B11111111 ' Alle LEDs aus (Invertierung wegen Transistor)
Portb = &B11111111
Portc = &B11111111
Portd = &B11111111
Do
A.3 = 0
Gosub Portbestimmung
Loop
End
Portbestimmung:
Portb.4 = A.1
Portb.3 = A.2
Portb.2 = A.3
....
Portd.1 = A.23
Portd.0.= A.24
Return
Eigentlich sollte jetzt die LED an Portb.2 an gehen.
Stattdessen gehen alle an.
Kann mir jemand sagen wo der fehler liegt?
Ich habe die Ports so bestimmt, damit ich mit einer Schleife später z.b alle LEDs durchlaufen lassen kann.
Gruss
Alex
Ich habe an meinem ATmega16 vierundzwanzig LEDs angeschlossen und möchte diese nach und nach zum aufleuchten bringen. Alle 10s soll eine LED angehen, bis dann nach 240s alle LEDs an sind.
Den Programmcode hatte ich schon geschrieben, er hat aber nicht funktioniert.
Ich habe ich so rationalisiert bis folgende Zeilen übrig blieben:
Dim A As Integer
Porta = &B11111111 ' Alle LEDs aus (Invertierung wegen Transistor)
Portb = &B11111111
Portc = &B11111111
Portd = &B11111111
Do
A.3 = 0
Gosub Portbestimmung
Loop
End
Portbestimmung:
Portb.4 = A.1
Portb.3 = A.2
Portb.2 = A.3
....
Portd.1 = A.23
Portd.0.= A.24
Return
Eigentlich sollte jetzt die LED an Portb.2 an gehen.
Stattdessen gehen alle an.
Kann mir jemand sagen wo der fehler liegt?
Ich habe die Ports so bestimmt, damit ich mit einer Schleife später z.b alle LEDs durchlaufen lassen kann.
Gruss
Alex