Titelbild Mikrocontroller

12.9.3. Verwendung der Output Compare Einheit

Da das Beschreiben des TCNT1 Registers in jedem Modus die Vergleichsübereinstimmung für einen Timertakt blockiert, entstehen gewisse Risiken beim Verändern des TCNT1 wenn einer der Output Compate Kanäle verwendet wird, unabhängig davon, ob der Timer läuft oder nicht. Wenn ein Wert in das TCNT1 geschrieben wird, der dem Wert eines OCR1x entspricht, wird die Vergleichsübereinstimmung ausbleiben, wodurch eine unkorrekte Ausgangsform erzeugt wird. Das TCNT1 sollte daher in PWM Modi mit variablen TOP Werten nicht mit dem TOP Wert beschrieben werden. Die Vergleichsübereinstimmung beim TOP Wert würde ignoriert und der Zähler bis zum Maximalwert FFFF weiterzählen. Umgekehrt gilt, dass TCNT1 nicht mit dem BOTTOM Wert beschrieben werden sollte, wenn der Zähler rückwärts läuft.

Das Einstellen der OC1x Register sollte vorgenommen werden, bevor der entsprechende Port Pin als Ausgang konfiguriert wird. Der einfachste Weg den OC1x Wert zu setzen ist die Verwendung des Force Output Compare Strobe Bits (FOC1x) im normalen Modus. Die OCR1x Register behalten ihren Wert auch dann, wenn zwischen den Waveform Generation Modi umgeschaltet wird.

Zu beachten ist, dass die COM1x1 bis COM1x0 Bits nicht zweifach gebuffert sind. Daher wirken sich Veränderungen dieser Bits unmittelbar aus.
Impressum