My Trasher schrieb:
> WAS es macht: 3 sec warten led 0-1 ausmachen 3sec warten led 0-1
> ANmachen led 2-3 ausmachen DANN wieder led0-1 anmachen etc... wieso?
Weil die LED offensichtlich 'verkehrt rum' angesteuert werden müssen.
Ein 0 Bit schaltet die LED ein, ein 1 Bit schaltet sie aus.
Das ist an und für sich nicht schlimm, man muss es nur bei den Ausgaben
berücksichtigen.
> und noch was komisches: wenn ich das zweite " long_delay(3000);"
> entferne leuchten alle leds AUSSER led 2-3 ?
Was ist dran komisch?
Wenn du nach dem Lichtauschschalten das Licht SOFORT wieder einschaltest
und dann 5 Sekunden wartest, ehe du das Licht ausschaltest und gleich
darauf wieder einschaltest, dann wirst du eben die Dunkelphase kaum
sehen.
Entrolle halt einfach mal deine Schleife ein wenig
Was pssiert, wenn man mal ein bischen verfolgt, wie die Schleife
abgearbeitet wird?
PORTB = ((1<<PB1) | (1<<PB0));
long_delay(3000);
PORTB = ((1<<PB2) | (1<<PB3)); // <----------
PORTB = ((1<<PB1) | (1<<PB0)); // <----------
long_delay(3000);
PORTB = ((1<<PB2) | (1<<PB3));
Das da zwischen den beiden markierten Zeilen mal ganz kurz die anderen
LED brennen, wirst du nicht sehen. Deine Augen machen nun mal bei
Zeitdauern von ein paar Millionstel Sekunden nicht mehr mit.