Moin

Ich habe ne kleine Lauflicht schaltung gebaut !

Funktioniert auch alles bis auf das PORT C die falschen werte rausgibt!

Alle anderen PORTS funktionieren einwandfrei!

Kennt irgendjemand denn Fehler?

PINC2 dauer High
PINC3 dauer High
PINC4 dauer Low
PINC5 dauer High

Und hier nochmal ein ausshnitt vom Code:
Code:
//  **  Präprozessor  **  //

#include <stdio.h>
#include <avr/io.h>
#include <util/delay.h>

//  **  Funktionen  **  //

void init (void) 
  {
      
  DDRA = 0xff;                        //Ports als ausgänge definieren
  DDRB = 0xff;
  DDRC = 0xff;
  DDRD = 0xff;

  }

void anaus (void)
{
      PORTA = 0xff;
	  PORTB = 0xff;
	  PORTC = 0xff;
	  PORTD = 0xff;
	  _delay_ms(5000);
      PORTA = 0x00;
	  PORTB = 0x00;
	  PORTC = 0x00;
	  PORTD = 0x00;
	  _delay_ms(5000);
}
//  **  Hauptfunktion  **  //


int main (void)
{
 
   init();   
   int zufall = 9;              //Variable Zufall deklarieren
   
   
   while (1)
  {

   switch (zufall)
   {

    case 1:
   
            lauflr();          //Von links nach rechts durchlaufen
			zufall=zufall+1;
			break;

    case 2:
   
            laufrl();          //Von rechts nach links durchlaufen
			zufall=zufall+1;
            break;
    
	case 3:
	 
	        jede21lr();           //Jede zweite LED geht an von links nach rechts
			zufall=zufall+1;
			break;
    case 4:
	 
	        jede21rl();           //Jede zweite LED geht an von rechts nach links
			zufall=zufall+1;
			break;
    case 5:
	 
	        jede22rl();           //Jede zweite LED geht an von rechts nach links
			zufall=zufall+1;
			break;
    case 6:
	 
	        jede22lr();           //Jede zweite LED geht an von rechts nach links
			zufall=zufall+1;
			break;
    case 7:

	        blink();              //LED`s blinken
			zufall=zufall+1;
			break;
    case 8:

	        blink2w();            //jede zweite LED blinkt im wechsel
			zufall=1;
			break;
    case 9:
	        anaus();
			zufall=9;
			break;
   }
  }
 }
Danke schonmal fürs angucken

Gruß Cybrix