U23 2008/Gruppe3

From C4 Wiki
< U23 2008
Revision as of 19:27, 25 August 2008 by 87.79.236.180 (talk) (Code:)
Jump to: navigation, search

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