Hallo

Prima. Allerdings sind deine Portmanipulationen nicht ganz korrekt:

DDRA |= 1; // ADC0 auf Ausgang, alle anderen Pins bleiben unbeeinflußt

Die Funktion schuss() würde ich rausschmeissen:

Code:
   if(bumper_left)  // Left Bumper
   {
      writeChar('o');
      PORTA |= 1;   //ADC0 high = Schuss
   }
   else
   {
	   writeChar(' ');
      PORTA &= ~1;  // ADC0 low = Ende Schuss
	}
Das schiesst solange du drückst.

Gibts schon ein Video?

Gruß

mic