Quasi ein Lauflicht?:Zitat von Exodus
+------+
-+----+-
--+--+--
---++---
--+--+--
-+----+-
+------+
Stellt den Zeitlichen verlaufvon PortA dar. (+) = LED AN! (-) = LED AUS!
Wo liegt das Problem?
Hier brauchst du sogar nur eine Variable die vom Timer gezählt wird!
UND SIE MACHEN ES SORAG SO GUT WIE GLEICHZEITIG.. Ich denke die 3 µC-Zyklen die machen die Suppe nicht salzig!!!
ALSO:
Nochmal dein Vorhaben:
Takt0: +------+
Takt1: -+----+-
Takt2: --+--+--
Takt3: ---++---
Takt4: --+--+--
Takt5: -+----+-
Und dann beginnt das Spiel wieder von vorne!!!
Also machen wir uns eine Variable TAKT!
Die Variable TAKT soll von 0 bis 5 hochgezählt werden.
Anstatt dann weiter auf 6 gezählt zu werden, soll sie auf 0 zurückgestellt werden. Und der Vorgang beginnt von neu!
Also machen wir das SO: Wir brauchen einen Timerinterrupt!
Der Timer wird so eingestellt, dass er den Interrupt alle 25ms ausführt!
Timerinterrupt{
WENN TAKT KLEINER 5 IST,
DANN ZÄHLE TAKT UM 1 HOCH
ANSONSTEN SETZE TAKT AUF 0.
}
IM HAUPTPROGRAMM WIRD TAKT UNTERSUCHT!
WENN TAKT GLEICH 0, DANN PORTA = 0b10000001
WENN TAKT GLEICH 1, DANN PORTA = 0b01000010
WENN TAKT GLEICH 2, DANN PORTA = 0b00100100
WENN TAKT GLEICH 3, DANN PORTA = 0b00011000
WENN TAKT GLEICH 4, DANN PORTA = 0b00100100
WENN TAKT GLEICH 5, DANN PORTA = 0b01000010
Ich denke sowas ist wirklich nicht schwierig zu realisieren....
Lesezeichen