Blink0.c


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
}