Code:
while (1) {  // oder solange Taste gedrückt, oder ähnlichens
    PORTB <<= 1;
    if (!PORTB)
        PORTB = 1;
    _delay_ms(10);
}
Danke, das ist genau das was ich gesucht habe. <<= macht ja nix als PORTB = (1<<PORTB) oder? PortX macht nichts anderes als Pinx - nur auf den ganzen port bezogen oder? Aber eigentlich ist PORTB=1 die Anweisung die Internen PullUps auf 1 zu setzen ^^
Das braucht noch etwas Erklärung, bitte. Funktioniert aber genauso wie ich das wollte


Ich hab auch die hälfte der Einstellungen wieder gefunden.
Projekt Konfiguration steht auf 16000000Hz, die Simulator Konfig hab ich dann auch nach langem suchen gefunden ^^


Danke. Wie immer klasse Forum!



Edit: warnt der compiler vor nicht benutzten Variablen wegen Datenmüll?


edit2:
hab meinen code jetzt soweit modifiziert
Code:
#include <avr/io.h>
#include <stdint.h>
#include <util/delay.h> 



int main (void) {

	DDRB  = 0xff;
	DDRA  = 0x00;
	char auswahl='n'; // Zum Nichts tun

   while(1) {
   if((PINA & (1<<PINA0))&&!((PINA & (1<<PINA1)))){ auswahl='r'; }
	if((PINA & (1<<PINA0))&&((PINA & (1<<PINA1)))){ auswahl='b'; }
	if((!(PINA & (1<<PINA0)))&&((auswahl=='r') || (auswahl=='b'))){
		auswahl='n'; // Mache nix
		}

		switch(auswahl){
		case 'r': // VORWÄRTS FWD
		  		PORTB <<= 1;
    		if (!PORTB){
        		PORTB = 1;
			}
			break;
		case 'b' :  // RÜCKWÄRTS RWD
			PORTB <<= 1;
			if(!PORTB){
				PORTB=1;
			}
			break;
		}
   }
 
   /* wird nie erreicht */
   return 0; 
}
Funktioniert soweit Einwandfrei. Er läuft auch ohne delay schön langsam (warum auch immer).
Zwei Fragen noch: Wie kann ich den wert eines Pins an eine Variable überegeben? mit uint8_t VAR = PINAX oder? Wenn ja tut das nich ...
Und: Warum zur Hölle ist der ATmega 32 mit 16MHz angegeben, läuft in der Simulation aber nur mit 8MHz?

Grüße