zyklisches senden von Daten in einem Thread C#

Gast #2396156
Lesenswert?

Hallo,
ich hab einen Thread gestartet und möchte das dieser jede Sekunde Daten 
per COM-Port verschickt. Alos Thread starten etc. funktioniert ohne 
Probleme .Allerdings habe ich Probleme mit dem zyklischen versenden der 
Daten. Habe eine while() Schleifdie wie folgt aussieht:
1
while (!_shouldStop)
2
        {
3
ticker = new Stopwatch();
4
long frequency = ticker.frequency;
5
ticker.Start();
6
if ((ticker.Elapsedtick() / frequency) > 1)
7
{
8
ticker.stop()
9
           write_Data();
10
ticker.Reset();
11
ticker.Start();
12
}
13
        }

Das Problem ist das es nicht wirklich im Sekundentakt funktioniert. Es 
ist mal mehr mal weniger...
Gibt es eine andere Lösung/bessere Lösung???

Vilene Dank für eure Antwort...
Gast #2396516
Lesenswert?

Wohl wahr, der Windows-Forms Timer ist allerdings auch nicht viel besser 
(oder welche Timer-Klasse ist gemeint?)

Recht genau sind Waitable-Timer, dafür gibt es aber glaube ich keine 
Klasse im .net-Framework (aber auf codeproject meine ich ne 
Wrapper-Klasse gesehen zu haben)
Für ne Waitable-Timer Wrapper-Klasse im Eigenbau:
- 
http://msdn.microsoft.com/en-us/library/windows/desktop/ms682492%28v=vs.85%29.aspx
- 
http://msdn.microsoft.com/en-us/library/windows/desktop/ms686289%28v=VS.85%29.aspx
- 
http://msdn.microsoft.com/en-us/library/windows/desktop/ms687032%28v=VS.85%29.aspx

...wobei es evtl. sinnvoller wäre (insbesondere im Hinblick auf 
USB-Adapter) das Erzeugen des richtigen Timings auf nen Mikrocontroller 
auszulagern.
Beitrag #5039056 wurde von einem Moderator gelöscht.

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