Hallo Ceos,
ich habe etwas an einem ATmega88 herum gemessen.
Prozessortakt 1MHz
TIMER0 im CTC (kein PWM) mit OCR0A als TOP
kein Presacaler (Timertakt = 1MHz) und OCR0A=0
HW-Timerausgang OC0A an PD6 mit COM0A0 toggeln lassen
Zweikanal Oszi mit einem Kanal auf CLKO um Systemtakt zu sehen, den anderen Kanal auf OC0A
Bei jeder steigenden Systemtaktflanke wurde OC0A getoggelt. Es gab dort keine Verzögerungen des Timertaktes. Auch bei OCR0A mit 1 oder höher sah es nicht so aus, als wenn irgendwo Takte beim Timing verloren gingen.
Allerdings wenn man die Portpins im Interrupt toggeln läßt, gehen Systemtakte "verloren". Messungen versuche ich noch "auf die Reihe" zu kriegen, da sie von der Abarbeitungsgeschwindigkeit der ISR abhängen und ich noch keine Regel erkennen kann.
Ich denke, daß der Timer keine irgenwie geartete Verzögerungen beim Rücksetzten zeigt, sondern es bei der Erkennung der ISR-Anforderung zu Verzögerungen kommt.
Oder hab ich das Problem falsch verstanden?
Gruß
Searcher
Lesezeichen