Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » VC++ / MFC » Wie kann ich eine Pause von genau 2 Millisekunden erzwingen?

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
28.08.2002, 09:55 Uhr
~Mathias
Gast


Hallo!

In einem Programm soll alle 2 Sekunden ein Kommando über einen Daten-Bus geschickt werden. Zum Vergleich nehme ich die Systemzeit + 2 (Millisekunden). Nun komme ich aber auf eine Zeit von 10 Millisekunden pro Kommando bei Systemzeit(m_dwSystemTime) +1, +2 oder +3, insgesamt ca. 27400 Millisekunden. Bei Systemzeit(m_dwSystemTime) + 0 braucht das Prog für 2730 Kommandos 10 Millisekunden.

Irgendwie habe ich das Gefühl, daß während der while-Schleife anderen Prozessen Prozessorzeit zugeteilt wird und zu spät zurückgibt oder schafft es Windows nicht solch eine geringe Zeitdifferenz zu realisieren.

Mit Sleep(2) tritt das gleiche Problem auf.

void CStateCmd::DoContinueLoadingBlock()
{
m_dwSendTime = GetSysTime();
for(int counter = 0; m_noOfFragmentsLeft >0; counter ++)
DoSendFragmentOfBlock();
}

void CStateCmd::DoSendFragmentOfBlock()
{
while(!(GetSysTime() > (m_dwSendTime+2)));
.........
m_dwSendTime = GetSysTime();
}

In GetSysTime() wandle ich die Systemzeit von GetSystemTime(&m_sysTime) in Millisekunden um.

Mathias
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
28.08.2002, 13:41 Uhr
Volle



Hallo Mathias,

ist eine Timer bei diesen kleinen Zeitfenstern vielleicht genauer? Hast du das mal ausprobiert?

Gruß, Volle.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
28.08.2002, 16:08 Uhr
~Mathias
Gast


@Volle

Kein Unterschied. Ich hab alles rausgenommen, was vielleicht Zeit kosten könnte. Ich habe nur noch einen Thread, der auf ein bestimmtes Ereignis wartet, aber notwendig ist. Aber durch das Herausnehmen eines anderen Threads habe sich ja auch nichts gändert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ VC++ / MFC ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: