OC1A Output Compare wann gesetzt?

Gast #3518206
Lesenswert?

Hallo,

ich arbeite mit einem Atmega8 und Timer1 im Output Compare Mode, sodass 
OC1A high oder low gesetzt wird.
Ob high oder low lege ich durch COM1A0 bzw. COM1A1 im TCCR1A fest. Das 
ist soweit auch klar. Aus dem Datenblatt ist mir alles klar, bis auf 
eine Sache.
Was nicht ganz klar ist, ist die Triggerung. Immer wenn der Zählerstand 
(TCNT1) den Wert von OCR1A wird das Output Compare geschaltet. Ist dies 
wirklich nur durch den Vergleich abhängig?
Was ist, wenn ich keinen Interrupt Vektor dazu programmiere und damit im 
Register TIFR das OCF1A gesetzt wird, aber nicht gelöscht (durch 
Ausführung des Interrupts). Wird OCR1A von diesem Interrupt Flag OCF1A 
getriggert oder tatsächlich rein durch den Vergleich von Zählerstand und 
Comparematch-Wert?

Danke.

LG
Sven
Gast #3518215
Lesenswert?

IF und Output sind 'normalerweise' völlig unabhängig.
So kann man den output nutzen ohne recourcen für IRQs zu opfern, oder 
eine TimeX_IRQ mit dem OC IRQ machen ohne tatsächlich den OC Output 
dafür zu nutzen.

Also:
Wenn aktiviert setzt compare match output und IF.
IF bleibt bis Du was damit machst, aber IF setzt nicht Output.

Würde mich sehr wundern wenn das beim ATmega8 anders wäre.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren