Difference between revisions of "U23 2008/Gruppe3"

From C4 Wiki
Jump to: navigation, search
(Code:)
(Code:)
Line 53: Line 53:
 
  while(1)
 
  while(1)
 
  {
 
  {
  if (i >= sizeof(ledconf)) //index darf maximal so graß sein, wie die anzahl der ledconf elemente
+
  if (i >= sizeof(ledconf)) //index darf maximal so graß sein, wie die anzahl der ledconf elemente - 1
 
  i = 0;
 
  i = 0;
 
  set_leds(ledconf[i]);
 
  set_leds(ledconf[i]);

Revision as of 19:01, 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 &= ~_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);
		}
	}


try this: einfach ein leerzeichen vor die Codezeile packen und es wird dementsprechend interpretiert. -obstfliege