while (PORTB | (1<<PB5)) {
; //Achtung: ein ; ist hier
}
angeschrieben werden.
Klar optimiert er das weg (PORTB | (1<<PB5)) ist immer wahr...

@Markus,
hast Du motortick als volatile deklariert ?

Gruß Sebastian