Gast
#4151293
Hallo, Ich nutze einen Atmega328p und habe am pin T1 (für Timer1) ein Signal anliegen. Für OCR1A habe ich ein Wert hinterlegt. Wird dieser Wert erreicht, so wird ein Interrupt (TIMER1_COMPA_vect) ausgelöst. OCR1A wird darufhin ein neuer Wert zugewiesen. Also z.b. OCR1A = 25 --> Interrupt wird ausgelöst --> OCR1A = 50 --> Interrupt wird ausgelöst --> OCR1A = 102 ... usw Mein Problem ist nun folgendes: Beim Interrupt wird auch gleichzeitig (automatisch) der Wert von TCNT1 auf 0 gesetzt. D.h. nach jedem Interrupt fängt mein Couter bei 0 an zu zählen. Er soll aber einfach weiter zählen und nicht auf 0 zurück gesetzt werden. Gibt es in irgendeinem Register ein Flag, dass ich übersehen habe, dass mir oben genannte Funktion ermöglicht? Kurz gesagt: Bei Auslösen des Interrupts für das Erreichen des OCR1A Wertes soll TCNT1 nicht auf 0 gesetzt werden. Ich habe dies nicht gefunden (übersehen??), trotz mehrfachem durchlesen des entsprechenden Kapitels im Datenblatt zu o.g. Mikrocontroller. Viele Grüße Dieter B.D.