Hey,
ich will eig. nur per Zufall verschiedene LEDs an oder aus schalten. So
quasi schnell langsam, alles wild per Zufall. Allerdings geht das nicht.
Die Lampen bleiben aus, ich weiss allerdings nicht woran das liegt.
Habt ihr eine Idee?
Hier der Code der Methode:
1 | void partymodus()
|
2 | {
|
3 | zufallszahl=(get_seed()*1000)%3000;
|
4 | aktion = zufallszahl%16;
|
5 |
|
6 | switch(aktion)
|
7 | {
|
8 | case 1:
|
9 | on1;
|
10 | delay_ms(zufallszahl);
|
11 | break;
|
12 | case 2:
|
13 | off1;
|
14 | delay_ms(zufallszahl);
|
15 | break;
|
16 | case3:
|
17 | on2;
|
18 | delay_ms(zufallszahl);
|
19 | break;
|
20 | case4:
|
21 | off2;
|
22 | delay_ms(zufallszahl);
|
23 | break;
|
24 | case5:
|
25 | on3;
|
26 | delay_ms(zufallszahl);
|
27 | break;
|
28 | case6:
|
29 | off3;
|
30 | delay_ms(zufallszahl);
|
31 | break;
|
32 | case7:
|
33 | on4;
|
34 | delay_ms(zufallszahl);
|
35 | break;
|
36 | case8:
|
37 | off4;
|
38 | delay_ms(zufallszahl);
|
39 | break;
|
40 | case9:
|
41 | on5;
|
42 | delay_ms(zufallszahl);
|
43 | break;
|
44 | case10:
|
45 | off5;
|
46 | delay_ms(zufallszahl);
|
47 | break;
|
48 | case11:
|
49 | on6;
|
50 | delay_ms(zufallszahl);
|
51 | break;
|
52 | case12:
|
53 | off6;
|
54 | delay_ms(zufallszahl);
|
55 | break;
|
56 | case13:
|
57 | delay_ms(zufallszahl);
|
58 | break;
|
59 | case14:
|
60 | delay_ms(zufallszahl);
|
61 | break;
|
62 | case15:
|
63 | onalle;
|
64 | delay_ms(zufallszahl);
|
65 | break;
|
66 | case16:
|
67 | offalle;
|
68 | delay_ms(zufallszahl);
|
69 | break;
|
70 | }
|
71 |
|
72 | }
|
Zufallszahlen werden so gemacht:
1 | unsigned short get_seed()
|
2 | {
|
3 | unsigned short seed = 0;
|
4 | unsigned short *p = (unsigned short*) (RAMEND+1);
|
5 | extern unsigned short __heap_start;
|
6 |
|
7 | while (p >= &__heap_start + 1)
|
8 | seed ^= * (--p);
|
9 |
|
10 | return seed;
|
11 | }
|
Danke für eure Hilfe!!
Niine