Difference between revisions of "U23 2008/Gruppe3"
< U23 2008
(→Mitglieder:) |
(→Code:) |
||
Line 16: | Line 16: | ||
''Ich bin irgendwie zu blöd dafür, den Code richtig im Wiki einzufügen.'' - The-Kenny | ''Ich bin irgendwie zu blöd dafür, den Code richtig im Wiki einzufügen.'' - The-Kenny | ||
+ | Code von mkr: | ||
+ | #include <avr/io.h> | ||
+ | #include <util/delay.h> | ||
+ | |||
+ | void set_leds(uint8_t leds) | ||
+ | { | ||
+ | //alle leds ausschalten | ||
+ | PORTC &= ~(1 << PC4 ); | ||
+ | PORTD &= ~(1 << PD3 ); | ||
+ | PORTD &= ~(1 << PD6 ); | ||
+ | PORTD &= ~(1 << PD7 ); | ||
+ | |||
+ | //gewählte leds einschalten | ||
+ | PORTC |= ((leds & 1) << PC4 ); | ||
+ | PORTD |= ((leds & 2) << (PD3 - 1) ); | ||
+ | PORTD |= ((leds & 4) << (PD6 - 2) ); | ||
+ | PORTD |= ((leds & 8) << (PD7 - 3) ); | ||
+ | } | ||
+ | |||
+ | |||
+ | int main(void) | ||
+ | { | ||
+ | uint8_t i = 0; | ||
+ | uint16_t delay_time = 200; | ||
+ | uint8_t ledconf[8] = { | ||
+ | 0b00000001, | ||
+ | 0b00000011, | ||
+ | 0b00000111, | ||
+ | 0b00001111, | ||
+ | 0b00001110, | ||
+ | 0b00001100, | ||
+ | 0b00001000, | ||
+ | 0b00000000 | ||
+ | }; | ||
+ | |||
+ | // LED Output-Pins konfigurieren | ||
+ | DDRC |= _BV(PC4); | ||
+ | DDRD |= ( _BV(PD3) | _BV(PD6) | _BV(PD7) ); | ||
+ | |||
+ | while(1) | ||
+ | { | ||
+ | if (i >= sizeof(ledconf)) | ||
+ | i = 0; | ||
+ | set_leds(ledconf[i]); | ||
+ | i++; | ||
+ | |||
+ | _delay_ms(delay_time); | ||
+ | } | ||
+ | } | ||
try this: einfach ein leerzeichen vor die Codezeile packen und es wird dementsprechend interpretiert. -obstfliege | try this: einfach ein leerzeichen vor die Codezeile packen und es wird dementsprechend interpretiert. -obstfliege | ||
[[Category:U23 2008]] | [[Category:U23 2008]] |
Revision as of 17:03, 25 August 2008
Gruppe3
Wir saßen an der linken Ecke des projizierten Bildes ;)
Mitglieder:
-mkr
-PyroGX
-whitenexx
-The Kenny (Macbook, Brille)
-Gordin
Code:
Es gab wohl mehrere Untergruppen, wir sollten alle unseren Code hier reinstellen.
Ich bin irgendwie zu blöd dafür, den Code richtig im Wiki einzufügen. - The-Kenny
Code von mkr:
#include <avr/io.h> #include <util/delay.h> void set_leds(uint8_t leds) { //alle leds ausschalten PORTC &= ~(1 << PC4 ); PORTD &= ~(1 << PD3 ); PORTD &= ~(1 << PD6 ); PORTD &= ~(1 << PD7 ); //gewählte leds einschalten PORTC |= ((leds & 1) << PC4 ); PORTD |= ((leds & 2) << (PD3 - 1) ); PORTD |= ((leds & 4) << (PD6 - 2) ); PORTD |= ((leds & 8) << (PD7 - 3) ); } int main(void) { uint8_t i = 0; uint16_t delay_time = 200; uint8_t ledconf[8] = { 0b00000001, 0b00000011, 0b00000111, 0b00001111, 0b00001110, 0b00001100, 0b00001000, 0b00000000 }; // LED Output-Pins konfigurieren DDRC |= _BV(PC4); DDRD |= ( _BV(PD3) | _BV(PD6) | _BV(PD7) ); while(1) { if (i >= sizeof(ledconf)) i = 0; set_leds(ledconf[i]); i++; _delay_ms(delay_time); } }
try this: einfach ein leerzeichen vor die Codezeile packen und es wird dementsprechend interpretiert. -obstfliege