Hallo

Im Grunde hat dein AVR-Studio ja recht, im Eifer des Gefechts habe ich das unterschlagen und mein KamAvr/GCC ignoriert es einfach. In util/delay.h kann man es auch nachlesen:

\note In order for these functions to work as intended, compiler
optimizations must be enabled, and the delay time
must be an expression that is a known constant at
compile-time.
If these requirements are not met, the resulting
delay will be much longer (and basically unpredictable)...
Es soll ja nur gezeigt werden, dass ab einer gewissen Wiederholgeschwindigkeit der Bildaufbau im Detail nicht mehr erkennbar ist. Da kommt es auf die absolut genaue Zeit nicht an und bei bremsen <1 wird die Verzögerung sowieso wirkungslos. Sauberer (aber ungetestet) wäre es etwa so:

Code:
      // if(bremsen) _delay_ms(100*bremsen);

      uint8_t temp;
		if(bremsen) // variable Leuchtdauer
			for(temp=0; temp<bremsen; temp++)
				_delay_ms(100);
Bei weiteren Versuchen mit dem Pong wird man um Interrupts nicht herumkommen. Dann kann man auf delay.h verzichten und sich die Zeitbasis in der ISR selbst erzeugen.

Gruß

mic