Gast
#1425308
Ich möchte gerne einen Zähler realisieren, der mit möglichst hoher Frequenz läuft. Zum Beispiel mit der Taktfrequenz des µC. Ich möchte nämlich bestimmte Ereignisse der "CPU-Zeit" zuordnen können. Dazu braucht ich aber mindestens einen 32 bit breiten Zähler. Kann ich das so machen, daß ich einen 16 bit Hardware Zähler des AVR laufen lasse, und mit dem "Überlauf-Interrupt" einfach ein Word hochzähle? Mal angenommen, das geht... wie löse ich die zwei Probleme: 1. Wenn ich den aktuellen Zählerwert beim Eintritt eines Ereignisses zur späteren Verwendung "kopiere", kann ich das nur Byte für Byte machen. Was ist aber, wenn sich während des Kopierens der Zähler ändert? Zum Beispiel von 65535 auf 65536? Wenn mein Zähler mit der Taktfrequenz läuft, wird er sich ja zwangsläufig während des Auslesens ändern. 2. Wie erreiche ich eine Lösung für Punkt 1, ohne daß der Zähler durch diese Lösung einzelne Schritte überspringt. Das würde ja passieren, wenn ich die Interrupts während des Auslesens des Zählers sperre.