Gast
#1772717
Hallo, Habe folgendes Problem mit dem Timer0. Ich möchte 2 Interruptroutinen mit Timer0 aufrufen. Die eine schneller mit 50µs die andere mit 100µs. Dazu lade ich unterschiedliche Werte für OCR0A und OCR0B. Init: TCCR0A = (1<<WGM01); // kein Output, keine Waveform, clear TCNT0 bei compare match TCCR0B = (1<<CS01); // 12Mhz/8=1,5MHz -> 0,666667µs TCNT0 = 0; // Zähler zurücksetzen OCR0A = 150; // Wert für Output Compare A Interrupt. Auslösen des Interrupts alle 150*0,66667µs=100µs OCR0B = 75; // Wert für Output Compare B Interrupt 75*6,66667µs=50µs TIMSK0 = (1<<OCIE0A) | (1<<OCIE0B); // Output Compare Match A/B Interrupt Enable Das Problem ist, dass beide Iterrupte zur gleichen Zeit aufgrufen werden. Und zwar für OCROA alle 100µs. Aber wieso???? vielleicht wisst ihr ja was Gruß Matthias