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(;;); }







Zitieren
Lesezeichen