Entwickler-Ecke

Sonstiges (.NET) - Exakter Timer nötig


CJ85 - So 11.10.09 21:34
Titel: Exakter Timer nötig
Hallo miteinander,

ich brauche eure Hilfe! Ich bin noch relativ neu in C#!

Ich schreibe eine Anwendung, bei der ich mit einem Timer exakt alle 10ms ein Signal samplen will!
Bisher habe ich den Windows.Forms.Timer sowie den System.Timers.Timer getestet,
doch keiner erreicht die Zeitauflösung 10ms wirklich?
Gibt es noch andere Timer die diese Zeitauflösung zuverlässig schaffen?
Oder gibt es noch andere sinnvolle Möglichkeiten ein Signal bzw.
eine Variable exakt alle 10ms abzufragen?

Vielen Dank für eure Hilfe!

Schöne Grüße
CJ85


Christoph1972 - So 11.10.09 21:56

Hi,

eventuell ist das hier [http://www.codeproject.com/KB/cs/highperformancetimercshar.aspx] was für dich? Keine Ahnung ob das taugt, ich habe nur mal kurz gegoogelt ?!


CJ85 - So 11.10.09 22:01

Das hab ich auch schon gefunden, aber damit kann man anscheinend nur Zeiten mit hoher Auflösung messen :-(


danielf - Mo 12.10.09 09:36

Hallo,

ich hatte auch mal ein Projekt, bei dem es sehr wichtig war dass ich genau Impulse bekommen habe.

Hab dafür verschiedene Windows und .NET Bordmittel versucht, allerdings hatten sämtliche Umsetzungen größere Abweichungen - was sich aufgrund des Betriebssystem nicht vermeiden läßt. Ein genaurers Event erhälst du eigentlich nur, wenn du Hardware verwendest. Ich hab damals eine eigne Timerklasse geschrieben, die immer die Abweichung mitberücksichtigt und so im Durchschnitt relativ genau (+-0ms) war (dafür aber beim einzelnen Event relatig ungenau).

Vielleicht helfen dir diese Erkentnisse weiter...

Gruß Daniel


jaenicke - Mo 12.10.09 09:58

user profile iconCJ85 hat folgendes geschrieben Zum zitierten Posting springen:
Oder gibt es noch andere sinnvolle Möglichkeiten ein Signal bzw.
eine Variable exakt alle 10ms abzufragen?
Ja, weder C# noch Windows benutzen. ;-) Es gibt Echtzeitbetriebssysteme, mit denen das möglich ist. Billig ist so etwas allerdings nicht.