U23 2008/Gruppe3
< U23 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
Hab meinen Code jetzt auch mal reingestellt. - Gordin
Code von mkr:
#include <avr/io.h> #include <util/delay.h> void set_leds(uint8_t leds) { //alle leds ausschalten PORTC &= ~_BV(PC4); PORTD &= ~_BV(PD3); PORTD &= ~_BV(PD6); PORTD &= ~_BV(PD7); //gewählte leds einschalten PORTC |= ((leds & 1) << PC4 ); //bits aus leds an die richtige stelle schieben PORTD |= ((leds & 2) << (PD3 - 1) ); //minus eins, weils in led an der stelle 1 steht (von rechts) PORTD |= ((leds & 4) << (PD6 - 2) ); //... PORTD |= ((leds & 8) << (PD7 - 3) ); } int main(void) { uint8_t i = 0; //index der ledconf, die ausgegeben werden soll uint8_t delay_time = 200; //pause zwischen den ausgaben uint8_t ledconf[4] = { //array mit led zuständen 0b00001000, 0b00000100, 0b00000010, 0b00000001, }; // LED Output-Pins konfigurieren DDRC |= _BV(PC4); DDRD |= ( _BV(PD3) | _BV(PD6) | _BV(PD7) ); while(1) { if (i >= sizeof(ledconf)) //index darf maximal so graß sein, wie die anzahl der ledconf elemente - 1 i = 0; set_leds(ledconf[i]); i++; _delay_ms(delay_time); } }
Code von Gordin: hauptcode:
#include "rumpus_ledlib.c" //selbstgeschriebene kleine lib zum steuern der leds uint8_t kr[6] = { 0b11101010, 0b10110000, 0b00101100, 0b00001011, 0b00001110, 0b00111000 }; /*uint8_t kr[8] = { 0b10101010, 0b00000011, 0b00001100, 0b00110000, 0b11000000, 0b10000000, 0b00100000, 0b00001000 };*/ //Variablen für display() uint8_t led1 = 0b11000000; uint8_t led2 = 0b00110000; uint8_t led3 = 0b00001100; uint8_t led4 = 0b00000011; static void display(uint8_t led_config) { //übergibt nur die wichtigen bits an die led_X funktionen led_1(led_config & led1); led_2(led_config & led2); led_3(led_config & led3); led_4(led_config & led4); _delay_ms(100); } int main(void) { uint8_t i; while(1) { for (i = 0; i < sizeof(kr) ; i++) { // Größe des Arrays muss im Array stehen array[X]... display(kr[i]); } } }
try this: einfach ein leerzeichen vor die Codezeile packen und es wird dementsprechend interpretiert. -obstfliege