Hallo,

ich hab hier schon viele Threads die zum Thema Timer und Warteschleifen durchgelesen.

Ich blick aber eines nicht: Ich schreib irgendein Programm. Nun komm ich an einen Punkt, z. B. Tastendruck o.ä. und ab jetzt will ich eine gewisse Zeitspanne messen. Wie geht dass? Wenn ich den Timer am Anfang des Programms anstoße und bis zu einem gewissen Punkt laufen lasse, dann kommt der Interrupt. Wie lese ich den Interrupt jetzt aus? (ich hab in der ISR programmiert, dass immer ein PIN seinen Zustand ändert, aber dass will ich ja eigentlich nicht, ich will es von meiner main aus starten...) Und zweitens läuft der Timer ja immer weiter. Wenn ich in einer Endlosschleife bin, wird die Zeitspanne ja sehr ungenau, da der Timer ja dann nicht mehr bei 0 los läuft, sondern bei irgendwas........... Ich wollte mir eine Funktion (soe wie _delay_ms) bauen, die ich in meiner main quasi immer dann aufrufe wenn ich eine bestimmte Zeit brauche . Und mein ganzes Programm so aufzubauen dass ich genaue Timestamps hab will ich auch nicht. Ich bin am verzweifeln.

Kann mir irgend jemand erklären wie der ganze Mist funktioniert?

LG Anna