PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Lauflicht



c07
15.04.2010, 20:08
Hallo,

irgendwie will es heute nicht so recht, komme einfach nicht mehr weiter.

Hier einen Einblick in den Quellcode


#include <nibobee/iodefs.h>
#include <nibobee/led.h>
#include <nibobee/delay.h>

int main()
{
led_init();
while(1==1)
{
int ledNr;
for (ledNr=0; ledNr<4; ledNr++)

{
led_set(ledNr, 1);
delay(22);
led_set(ledNr, 0);
delay(600);

}
}
return 0;
}


jetzt soll das Licht nicht nur in eine Richtung wandern sondern vom led3 wieder zurück zu led0.
Aber irgendwie fehlt mir gerade der Durchblick, ich habe schon soviel versucht, aber nix wollte so wie ich es will.

Dankeschön für die Mithilfe

c07
15.04.2010, 20:52
Das kann nicht die Antwort sein:



#include <nibobee/iodefs.h>
#include <nibobee/led.h>
#include <nibobee/delay.h>

int main()
{
led_init();
while(1==1)
{
led_set(LED_R_YE, 1);
delay(100);
led_set(LED_R_YE, 0);
delay(100);

led_set(LED_R_RD, 1);
delay(100);
led_set(LED_R_RD, 0);
delay(100);

led_set(LED_L_RD, 1);
delay(100);
led_set(LED_L_RD, 0);
delay(100);

led_set(LED_L_YE, 1);
delay(100),
led_set(LED_L_YE, 0);
delay(100);

led_set(LED_L_RD, 1);
delay(100);
led_set(LED_L_RD, 0);
delay(100);

led_set(LED_R_RD, 1);
delay(100);
led_set(LED_R_RD, 0);
delay(100);

led_set(LED_R_YE, 1);
delay(100);
led_set(LED_R_YE, 0);
delay(100);



}
return 0;
}


da muß es doch auch etwas geben um die Eingabe zu verkürzen!

Del
15.04.2010, 20:59
int main()
{
led_init();

int ledNr=0;
while(1)
{
led_set(ledNr, 1);
led_set(ledNr-1, 0);
delay(600);
ledNr++;
if(ledNr>4)
{
led_set(ledNr-1, 0);
ledNr = 0;
}
}
return 0;
}

c07
15.04.2010, 21:18
Hallo Del,

danke für die Antwort und den neuen Code, jedoch bekomme ich hier das gleiche Ergebnis wie oben, die LED´s wander von rechts nach links, aber nicht wieder zurück von links nach rechts.

sast
15.04.2010, 21:25
//1234321234321234

int min = 1;
int max = 4;
int i = 1;
int x = 0;

while(was_auch_immer)
{
x+=i;
if x==max i=-1;
else if x==min i=1;
setled(x, 1);
delay(500);
setled(x, 0);
}


Und wenn du dir noch ein x_old=x merkst, kannst du sogar noch die led-1 erst nach dem Einschalten der neuen LED ausschalten.
sast

c07
15.04.2010, 21:33
Dankeschön für die Mithilfe