Difference between revisions of "U23 2007/MateCrew"
< U23 2007
(→Quests) |
(→Quests) |
||
Line 1: | Line 1: | ||
− | == | + | ==LED-Dimmer== |
− | LED-Dimmer | ||
Für unseren Dimmer für LEDs benutzen wir insgesamt 3 Funktionen: | 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 Main mit einer Endlosschleife für ewiges hell und dunkel Dimmen durch Aufruf von den andern Beiden Funktionen | ||
Line 15: | Line 14: | ||
for(;;){ | for(;;){ | ||
for(i=0;i<0xfff;i++){ | for(i=0;i<0xfff;i++){ | ||
+ | |||
// ein bisschen warten | // ein bisschen warten | ||
my_wait(1); | my_wait(1); | ||
+ | |||
// ein- und ausschalten | // ein- und ausschalten | ||
bla(i/0xf); | bla(i/0xf); | ||
Line 31: | Line 32: | ||
uint32_t i=0; | uint32_t i=0; | ||
for(i;i<(time);i++) | for(i;i<(time);i++) | ||
+ | |||
//vordefinierte Funktion welche einen Leerlauf in Dauer von n Milisekunden auslöst | //vordefinierte Funktion welche einen Leerlauf in Dauer von n Milisekunden auslöst | ||
_delay_ms(1); | _delay_ms(1); | ||
Line 38: | Line 40: | ||
void bla(uint8_t ratio){ | void bla(uint8_t ratio){ | ||
uint32_t i=0; | uint32_t i=0; | ||
− | + | ||
// LED anschalten | // LED anschalten | ||
PORTA|=0x01; | PORTA|=0x01; | ||
for(i;i<ratio;i++){} | for(i;i<ratio;i++){} | ||
− | + | ||
// LED ausschalten | // LED ausschalten | ||
PORTA&=~0x01; | PORTA&=~0x01; |
Revision as of 18:41, 4 June 2007
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