Hallo Superhirn,

Das gepostete war eigentlich schon fast der gesamte Code und das hochzählen durch den Timer2 Interrupt funktioniert problemlos auch unter "s".
Zu deinem Code: ich würde izaseba zustimmen und besser PORTB & (1<<PB5) schreiben, weil 1 oder 0 immer eins ist.

@izaseba,
ich habe auf deinen Hinweis hin mal ganz unverbindlich ein volatile hingeschrieben (volatile unsigned int compfreq, motortick, mot1, mot2) und siehe da: es funktioniert
Erstaunlich..
Eine kurze Erklärung was genau das volatile dort anstellt?

thx & Gruß,
Markus