Hi inka,
würden die befehle für den PB1 so aussehen?
Als Ausgang definieren: DDRB |= IO_PB1;
Auf HIGH setzen: PORTB |= IO_PB1;
Auf LOW setzen: PORTB &= ~IO_PB1;
Wenn du überall "IO_PB1" durch "MEM_CS2" ersetzt: Ja.
Übrigens: Diese Portpin-Definitionen stehen in der RP6Control.h !

ich würde dann die funktion sonar ändern: ...
fliegt mir da was um die ohren?
Nein, alles wird gut.

meinst Du evtl. den Timer2 (TCCR2) - beim TCCR1 bekomme ich die meldung: TCCR1 not declared???
Nein, ich meinte schon den Timer 1.
Wenn du mal in der RP6ControlLib.c ganz am Ende in die Funktion initRP6Control() schaust:
Du siehst die Nutzung von Timer 0 und Timer 2 und "Timer 1 is free for your application!"

Mögliches Problem:
Du kannst deinen Muster-Code mit Timer 0 nicht so 1:1 für Timer 1 übernehmen, weil Timer 0 ein 8-Bit-Timer ist und Timer 1 ein 16-Bit-Timer.
Die Initialisierung sieht also unterschiedlich aus. Wenn du das anpassen willst, must du zuerst verstehen, wie in deinem Muster-Code der Timer 0 genutzt wird und dir dann den Timer 1 identisch konfigurieren.