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
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.
Sven schrieb: > Ist dies > wirklich nur durch den Vergleich abhängig? Ist es. Die Pins werden direkt von der Hardware geschaltet. Die Funktion ist völlig unabhängig von der Interruptlogik. Oliver
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.