Hallo, ich habe ein Programm von einem Atmega8515 auf einen Attiny13 portiert, beide haben ja fast überhaupt keine nennenswerten Unterschiede. Allerdings habe ich mit den Timern ein Problemchen. Auf dem Mega hatte ich zwei Timer benutzt (Led toggeln und ca 1h warten - jeweils im CTC-Modus). Da der Tiny nur einen Timer hat, kann ich mit dem gewöhnlichen CTC-Modus nur einen Interrupt beim Compare-Match auslösen. Nun meine Frage: Gibt es eine Möglichkeit, dass der Timer beim Überschreiten einer Schwelle einen Interrupt auslöst und beim Match mit der anderen Schwelle ein Clear-On-Compare-Match auslöst (mit Interrupt)? Falls nicht muss halt ein workaround her. Danke euch!
Hi >Nun meine Frage: Gibt es eine Möglichkeit, dass der Timer beim >Überschreiten einer Schwelle einen Interrupt auslöst und beim Match mit >der anderen Schwelle ein Clear-On-Compare-Match auslöst (mit Interrupt)? Ja. Du hast doch zwei Compareregister. MfG Spess
Ja, eben. Aber CTC funtioniert dann nicht, da der Timer immer beim überschreiten von OCR0A auf null gesetz wird. Sollte das so einfach sein, dass man einfach OCR0B < OCR0A macht und ggf. die ISR vetauscht?
Hi >Sollte das so einfach sein, dass man einfach OCR0B < OCR0A macht und >ggf. die ISR vetauscht? ist es. OCRA ist bei CTC der Top-Wert des Timers. Das ist nicht verhandelbar. Aber es hindert dich nichts daran, mit OCRB vorher einen Interrupt auszulösen. MfG Spess
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.