Difference between revisions of "U23 2007/MateCrew"

From C4 Wiki
Jump to: navigation, search
(Quests)
(Quests)
Line 7: Line 7:
  
 
Die Main:
 
Die Main:
<source>
 
 
   int main(){
 
   int main(){
 
     DDRA=0xff;
 
     DDRA=0xff;
Line 25: Line 24:
 
     return 0;
 
     return 0;
 
   }
 
   }
</source>
+
 
 +
Die Wait:
 +
 
 +
  void my_wait(uint32_t time)
 +
  {
 +
    uint32_t i=0;
 +
    for(i;i<(time);i++)
 +
    //vordefinierte Funktion welche einen Leerlauf in Dauer von n Milisekunden auslöst
 +
    _delay_ms(1);
 +
  }
 +
 
 +
Die bla:
 +
  void bla(uint8_t ratio){
 +
  uint32_t i=0;
 +
 
 +
  // LED anschalten
 +
  PORTA|=0x01;
 +
  for(i;i<ratio;i++){}
 +
 
 +
  // LED ausschalten
 +
  PORTA&=~0x01;
 +
  for(i=ratio;i<255;i++){}
 +
}
  
 
==Project==
 
==Project==

Revision as of 18:39, 4 June 2007

Quests

LED-Dimmer Für unseren Dimmer für LEDs benutzen wir insgesamt 3 Funktionen:

  • Die Main mit einer Endlosschleife für ewiges hell und dunkel Dimmen durch Aufruf von den andern Beiden Funktionen
  • Die Funktion my_wait(uint32_t time), welche einfach wartet
  • Die Funktion bla(uint8_t ratio), welche für den schnellen Ein-/Ausschaltvorgang der LEDs zuständig ist

Die Main:

 int main(){	
   DDRA=0xff;
   PORTA=0;
   uint16_t i=0;    
   PORTA|=0x02;
   //Die Endlosschleife
   for(;;){
     for(i=0;i<0xfff;i++){
       // ein bisschen warten
       my_wait(1);
       // ein- und ausschalten
       bla(i/0xf);		
     }
   }
   PORTA|=0x03;	
   return 0;
 }

Die Wait:

 void my_wait(uint32_t time)
 {	
   uint32_t i=0;
   for(i;i<(time);i++)
   //vordefinierte Funktion welche einen Leerlauf in Dauer von n Milisekunden auslöst
   _delay_ms(1);
 }

Die bla:

 void bla(uint8_t ratio){
 uint32_t i=0;	
 // LED anschalten
 PORTA|=0x01;
 for(i;i<ratio;i++){}
 // LED ausschalten
 PORTA&=~0x01;
 for(i=ratio;i<255;i++){}

}

Project

Team

  • Scout
  • F3lix
  • Toby