Zeiten unter 1 Sekunde in ANSI-C messen

Gast #854279
Lesenswert?
• ▲
▼
Hallo!

Ich probrammiere eine Software, welche sowohl unter Windows wie auch 
unter Linux kompiliert werden können sollte. Deshalb verwende ich nur 
ANSI-C-Bibliotheken.
Nun brauche ich einige Funktionen, mit denen ich Zeiten messen kann. 
Dazu gibt es z.B. die time.h, die liefert aber nur eine Auflösung von 1 
Sekunde. Ich bräuchte etwas wo die Auslösung grösser ist. Muss nicht 
wahnsinnig genau sein, es soll nur entschieden werden können, ob ein 
Timeout aufgetreten ist (also z.B. T_neu > T_alt + 20 Millisekunden). Es 
macht also nichts wenn es nicht bis auf die letzte Millisekunde stimmt. 
Weiss da jemand etwas?

Vielen Dank!
Gast #854485
Lesenswert?
• ▲
▼
Hat wunderbar geklappt, habt vielen Dank.
BTW, was passiert wenn ich dies auf einem Mikrocontroller ausführen 
würde? Wenn wir ja schon in einem Mikrocontrollerforum sind. Gehe ich 
richtig in der Annahme, dass es da im Allgemeinen nicht funkionieren 
wird, weil sich der Compiler nicht selbständig an den Timern zu schaffen 
macht? Oder wird die Zeit auf eine andere Zeit gemessen? Hat ein 
PC-Prozessor auch so Timer wie ein Mikrocontroller? Fragen über 
Fragen...
Persönliche Seite #854492
Lesenswert?
• ▲
▼
Sicher hat ein µC Timer, aber die C-Runtime-Umgebung für einen µC 
enthält i.d.R. keine einzige der Funktionen aus time.h.

Ein PC-Prozessor selbst hat keine Timer (wenn man mal die "performance 
counter" neuerer Prozessoren ignoriert), aber die sind, wie auch die 
ganze andere Peripherie, "off-chip" in der Umgebungselektronik 
("Chipsatz") untergebracht. Die Standard-PC-Architektur verwendet hier 
den Timerbaustein i8254, der natürlich in jedem PC aus diesem 
Jahrtausend nur noch als IP-Core irgendwo im Chipsatz herumdümpelt.
Gast #854609
Lesenswert?
• ▲
▼
> Die Standard-PC-Architektur verwendet hier den Timerbaustein i8254, der
> natürlich in jedem PC aus diesem Jahrtausend nur noch als IP-Core
> irgendwo im Chipsatz herumdümpelt.

Aktuelle Systeme verwenden eher den HPET.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren