[Delphi 2] ZeitInterrupt abfragen

Hallo,
ich möchte mit Delphi eine Frequenzmessung über die Parallelschnittstelle machen. Ich habe bereits eine Komponente um den Interrupt der LPT abzufragen (funktioniert einwandfrei).

Nun brauche ich noch eine sehr genaue Zeit (Frequenz = LPT-Interrupt’s pro Zeit). Der Standard-Timer von Delphi ist zu ungenau. Ich denke die Lösung hier wäre auch den Zeit-Interrupt des Computers abzufragen aber wie ???

Hat jemand eine Idee wie man den Timer-Interrupt abfägt, oder eine intelligentere Lösung um eine Frequenz zu messen.

Allemeine Infos zu diesem Interrupt wäre auch schon hilfreich.

Dank

Gruss Markus

Schau doch mal auf die Delphi Super-Page, da findest jede Menge genauere Timerlösungen…

mfg

R.Quaas

Nun brauche ich noch eine sehr genaue Zeit

Es ist zwar schon Jahre her, daß ich mit Delphi gearbeitet hab, wenn ich mich recht erinnere, hatte man aber doch vollen Zugriff auf die Win32-API.

Die genaueste Zeitmessung, die auf einem PC derzeit möglich ist, läuft über die beiden Funktionen QueryPerformanceCounter() und QueryPerformanceFrequency(). Diese beiden Funktionen lesen die High-Resolution Counter der CPU aus und sind somit wahnsinnig präzise. Sie funktionieren jedoch nur, wenn ein Pentium oder besser als Prozessor läuft.

Ansonsten gibt es immer noch die Win32-API-Funktion GetTickCount(), die die Zeit seit Systemstart in Millisekunden liefert.

Egal welche der beiden Möglichkeiten Du einsetzt, Du mußt auf jeden Fall Deltas bilden, also Zeitabstände messen. Die Funktionen liefern nämlich nur absolute, immer weiter fortschreitende Werte.

Da ich schon länger kein Delphi programmiert habe, möchte ich jetzt für Dich kein Beispielprogramm aufsetzen. Lies’ am besten mal in der Win32 Programmer’s Reference nach, die Delphi als HLP-File beigelegt ist.

–Mathias Ricken