Hallo,
ich möchte einen 40kHz Burst erzeugen. Dazu stelle ich den Oszillator auf ca. 40 kHz und erzeuge einen Interrupt, der dann bis ca. 16 (Perioden) zählt und dann den Oszillator stoppt. Aber irgendwie funzt wieder mal gar nichts.
Hier ist mein Code:
Code:
void _40khz_init (void) {
  DDRB = 0xFF;
  OCR1A = 12; // PWM einstellen, bevor der Timer startet
  OCR1B = 800;
  ICR1 = 25;  // TOP-wert

  TCCR1A = (1<<COM1A1) | (1<<COM1B1) | (1<<WGM11); 
  TCCR1B = (1<<WGM13)|(1<<WGM12) | (1<<CS10); 
}
SIGNAL (TIM1_OVF) {
  send ("0");
}

SIGNAL (TIM1_COMPA) {
  send ("1");
}
SIGNAL (TIM0_OVF) {
  send  ("2");
}
SIGNAL (TIM1_COMPB) {
  send ("3");
}

int main(){

	_40khz_init();
	uart_init();

	/*Timer-Interrupt*/
	TIMSK |= (1 << TOIE0) ;

	sei();//enable Interrupts
  
     for(;;);

}