1 | char blink0 (void)
|
2 | {
|
3 | char var;
|
4 | static char pwm,x=34,direction;
|
5 | static int faktor=1,zufall=200;
|
6 |
|
7 | faktor=faktor-1; //Im Prinzip eine Warteschleife
|
8 | if(faktor==0) //Bei Ablauf:
|
9 | {
|
10 | if (x==34) //Zählrichtung bestimmen
|
11 | direction=0;
|
12 | else if (x==0)
|
13 | direction=1;
|
14 |
|
15 | if (direction==0) //Abhängig von der Richtung zählen
|
16 | x=x-1;
|
17 | else if (direction==1)
|
18 | x=x+1;
|
19 |
|
20 | if(direction==1&&x==34) //Wenn einmal auf und abblenden fertig dann:
|
21 | {
|
22 | zufall=rand()%200+1; //Neue zufällige Länge für die Warteschleife
|
23 | faktor=zufall;
|
24 | }
|
25 | else
|
26 | faktor=zufall; //Sonst mit der alten Wartezeit weiter
|
27 | }
|
28 |
|
29 | if (pwm==44) //Hier wird PWM generiert
|
30 | pwm=0;
|
31 |
|
32 | pwm=pwm+1;
|
33 |
|
34 | if(pwm<x)
|
35 | var=0b00000000;
|
36 | else if(pwm>x)
|
37 | var=0b00000001; //und zwar auf Port 0
|
38 |
|
39 | return var;
|
40 | }
|