Gast
#1715130
Hallo, ich möchte mit einem ATmega8 die Pulslänge einer 1kHz PWM-Frequenz messen. Mein Problem ist, dass ich keinen externen Interrupt mehr frei habe und die Messung selbst in einer Interruptroutine statt finden soll. Das heißt nur normale Pins und keine Interrupts vom Timer. Timer0 ist ebenfalls schon anderweitig in Benutzung. Wichtig ist eigentlich nur, dass mich nicht die eigentliche Länge des Impulses interessiert, sonder nur eine gewisse Längenüberschreitung. Ich habe bereits über die Verwendung vom Timer1 und seiner Compare-Funktion nachgedacht, allerdings habe ich keine Flaggs dazu gefunden und Interrupts kann er nicht auslösen. meine Idee: - auf LOW-Pegel warten und Timer1 auf 0 setzen - bei HIGH-Pegel Timer1 starten und immer wieder manuell mit Grenzwert vergleichen - bei erreichen des Grenzwertes erneut Pegel abfragen - Auswertung und Anzeige der Grenzwertüberschreitung meine Fragen: Kann man den Timer1 vielleicht doch mit der Compare-Funktion nutzen? Ist der Vergleich zweier Register so schnell, dass der Timer nicht zufällig durchläuft? Bitte um Meinungen! MfG Hannes