ich seh grad, ich hab die Timer-Initialisierung doch aus der Yeti-Lib kopiert.
Code:
void initIR (void)
{//------------------------------------------------------------//
	//  Init Timer2, used for generating RS232 IR carrier signal  //
	//------------------------------------------------------------//
	//prepare 36kHz for IR - Communication
	//WGM21: waveform generation mode 2 => CTC mode => TOP = OCR2
	//       (Only counting up until value OCR2 (TOP) reached)
	//COM20: Toggle OC2 on Compare Match
	//CS20:  No prescaling (so Timer2 clock frequency = 8MHz = 125ns)
	TCCR2=(1<<WGM21)|(1<<COM20)|(1<<CS20);
	//0x6E = 110, so frequency is 110 * 125ns = 13.75us = 72.727KHz
	//as output is toggled, the real frequency is 72.727KHz / 2 = roughly 36KHz
	OCR2=0x6E;
	//reset timer2
	TCNT2=0;
	//enable tx-carrier signal (by switching 'carrier' port to output)
	DDRB|=(1<<PB3);
}
Für den Mega32 müsste nur die letzte Zeile angepasst werden. Die eigentlichen Sende/Empfangsfunktionen brauchst du natürlich auch. Da werde ich die Tage die Fleury-lib auf halbduplex umstricken, weil es sonst Rückkopplungen zwischen Sender und Empfänger auf dem selben Board gibt.

Ein Tipp noch: schließ drei IR-Dioden in Reihe an (mit kleinerem Vorwiderstand), das gibt mehr Sendeleistung ohne zusätzlichen Energieverbrauch.