m125
21.11.2010, 11:54
Hallo,
ich versuche gerade die LEDs zufällig blinken zu lassen. Im Internet habe ich dazu einen Code für Zufallszahlen gefunden.
int irand( int a, int e)
{
a=1;
e=2000;
double r = e - a + 1;
return a + (int)(r * rand()/(RAND_MAX+1.0));
}
Wenn ich diesen Code jedoch in mein Programm einbaue, dann blinkt die LED nicht zufällig, sondern in einem festen Rythmus, wie ein normales Blinklicht.
#include <nibobee/iodefs.h>
#include <nibobee/led.h>
#include <nibobee/delay.h>
#include <stdio.h>
#include <stdlib.h>
int main()
{
led_init();
while(1==1)
{
int irand( int a, int e)
{
a=1;
e=2000;
double r = e - a + 1;
return a + (int)(r * rand()/(RAND_MAX+1.0));
}
led_set(LED_L_RD, 1);
delay(irand);
led_set(LED_L_RD, 0);
delay(irand);
}
return 0;
}
Weiß jemand wo der Fehler liegt?
Viele Grüße,
Manuel
ich versuche gerade die LEDs zufällig blinken zu lassen. Im Internet habe ich dazu einen Code für Zufallszahlen gefunden.
int irand( int a, int e)
{
a=1;
e=2000;
double r = e - a + 1;
return a + (int)(r * rand()/(RAND_MAX+1.0));
}
Wenn ich diesen Code jedoch in mein Programm einbaue, dann blinkt die LED nicht zufällig, sondern in einem festen Rythmus, wie ein normales Blinklicht.
#include <nibobee/iodefs.h>
#include <nibobee/led.h>
#include <nibobee/delay.h>
#include <stdio.h>
#include <stdlib.h>
int main()
{
led_init();
while(1==1)
{
int irand( int a, int e)
{
a=1;
e=2000;
double r = e - a + 1;
return a + (int)(r * rand()/(RAND_MAX+1.0));
}
led_set(LED_L_RD, 1);
delay(irand);
led_set(LED_L_RD, 0);
delay(irand);
}
return 0;
}
Weiß jemand wo der Fehler liegt?
Viele Grüße,
Manuel