Taktisches Vorgehen PWM + Zeitmessung

OP #1512455
Lesenswert?

Hallo Freunde,

ich habe momentan das Problem, dass ich ein paar LEDs mit PWM ansteuere 
und nun gerne zeitgleich eine Zeitmessung vornehmen möchten. Leider weiß 
ich nicht genau wie das mit der Zeitmessung von statten geht. Ich habe 
mir das so gedacht das ich beim Atmega8 den TCCR0 für meine PWM nehme 
und den TCCR1 für die Zeitmessung. Leider weiß ich nicht was passiert 
wenn es zum Interrupt von TCCR0 kommt und er in die Anweisung geht und 
dann innerhalb dieser Anweisung nen Interrupt von TCCR1 kommt und er in 
die dortige Anweisung springt.

Wie löst man das Problem also am Besten? Bzw. gibt es irgendwo ne 
Übersicht wie man am Besten mit mehreren Timern arbeitet?

Dank' euch mal wieder.
Moderator (Firma: Titel) Persönliche Seite #1512804
Lesenswert?

> TCCR0 für meine PWM nehme und den TCCR1 für die Zeitmessung
Für ISR gilt das Motto der 30er:
Fasse dich kurz! Nimm Rücksicht auf Wartende.
http://de.wikipedia.org/wiki/Fasse_dich_kurz!

In einer ISR sollte nichts Aufwendiges berechnet oder manipuliert 
werden. Dann ist die Ausführungszeit deiner PWM-Routine kurz, und du 
hast nur geringen Jitter. Angenommen, deine ISR dauert 50us, dann hast 
du eine maximal Messungenauigkeit von 0,05ms/90ms = 0,5%. das ist besser 
als der Tacho im Auto ;-)

Aber lass den Zeitmess-Timer einfach durchlaufen, und berechne die 
abgelaufene Zeit durch Differenzbildung mit dem alten Timerwert.

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