What the best way to sleep 1 ms
-
I tried Sleep(1) but it looks like win xp and win 2000 wait for 10 ms instead. I could be wrong but if I do Sleep(10) then delay between characters I am sending exactly as with Sleep(1). I am not a Windows programmer, I am specialising in embedded real-time and particular in Unix systems and I know that often default kernel time resolution is 10 ms (eg. linux). What resolution windows Xp, 2000, 95, 98 have? Are they the same? What the best way to sleep for 1 ms? Thank you
-
I tried Sleep(1) but it looks like win xp and win 2000 wait for 10 ms instead. I could be wrong but if I do Sleep(10) then delay between characters I am sending exactly as with Sleep(1). I am not a Windows programmer, I am specialising in embedded real-time and particular in Unix systems and I know that often default kernel time resolution is 10 ms (eg. linux). What resolution windows Xp, 2000, 95, 98 have? Are they the same? What the best way to sleep for 1 ms? Thank you
Hello, write your own delay routine using high-resolution APIs, QueeryPerformaceCounter() and QueeryPerformaceFrequency(. you can achieve timer even in microseconds. hope the above helps. regards, Adi
-
I tried Sleep(1) but it looks like win xp and win 2000 wait for 10 ms instead. I could be wrong but if I do Sleep(10) then delay between characters I am sending exactly as with Sleep(1). I am not a Windows programmer, I am specialising in embedded real-time and particular in Unix systems and I know that often default kernel time resolution is 10 ms (eg. linux). What resolution windows Xp, 2000, 95, 98 have? Are they the same? What the best way to sleep for 1 ms? Thank you
:~ getting a precise value in the microsecond range in windows is practically not possible ,taking into account that it handles many task at a time,since windows aint an real time os.....aint it????? "faith, hope, love remain, these three.....; but the greatest of these is love" -1 Corinthians 13:13
-
I tried Sleep(1) but it looks like win xp and win 2000 wait for 10 ms instead. I could be wrong but if I do Sleep(10) then delay between characters I am sending exactly as with Sleep(1). I am not a Windows programmer, I am specialising in embedded real-time and particular in Unix systems and I know that often default kernel time resolution is 10 ms (eg. linux). What resolution windows Xp, 2000, 95, 98 have? Are they the same? What the best way to sleep for 1 ms? Thank you
The best way is to run under a real-time OS...! :) Seriously, I think that the solution given to use the
QueryPerformance*(...)
functions (also check out the multimedia timers) in a tight loop would do it for you. You might have to worry about the cases where your qauntum expires during the execution of the loop, though. Peace! -=- James
If you think it costs a lot to do it right, just wait until you find out how much it costs to do it wrong!
Tip for new SUV drivers: Professional Driver on Closed Course does not mean your Dumb Ass on a Public Road!
DeleteFXPFiles & CheckFavorites (Please rate this post!) -
The best way is to run under a real-time OS...! :) Seriously, I think that the solution given to use the
QueryPerformance*(...)
functions (also check out the multimedia timers) in a tight loop would do it for you. You might have to worry about the cases where your qauntum expires during the execution of the loop, though. Peace! -=- James
If you think it costs a lot to do it right, just wait until you find out how much it costs to do it wrong!
Tip for new SUV drivers: Professional Driver on Closed Course does not mean your Dumb Ass on a Public Road!
DeleteFXPFiles & CheckFavorites (Please rate this post!) -
:~ getting a precise value in the microsecond range in windows is practically not possible ,taking into account that it handles many task at a time,since windows aint an real time os.....aint it????? "faith, hope, love remain, these three.....; but the greatest of these is love" -1 Corinthians 13:13
When the process and thread priority is at realtime level windows is almost like a real-time os. (not in timing, but you can implement a wait timer yourself by creating a loop and comparing the time differences!!!) Don't try it, just do it! ;-)
-
:~ getting a precise value in the microsecond range in windows is practically not possible ,taking into account that it handles many task at a time,since windows aint an real time os.....aint it????? "faith, hope, love remain, these three.....; but the greatest of these is love" -1 Corinthians 13:13
-
But doing such a thing makes you a bad windows user. Tim Smith I'm going to patent thought. I have yet to see any prior art.
-
I tried Sleep(1) but it looks like win xp and win 2000 wait for 10 ms instead. I could be wrong but if I do Sleep(10) then delay between characters I am sending exactly as with Sleep(1). I am not a Windows programmer, I am specialising in embedded real-time and particular in Unix systems and I know that often default kernel time resolution is 10 ms (eg. linux). What resolution windows Xp, 2000, 95, 98 have? Are they the same? What the best way to sleep for 1 ms? Thank you
-
oh really ?! :~ do you know hardware programming ? :suss:
TOXCCT >>> GEII power
[toxcct][VisualCalc]I think he was referring to my line: "The best way is to run under a real-time OS...! :)" Otherwise he would have said "bad Windows developer", not "user". :P Peace! -=- James
If you think it costs a lot to do it right, just wait until you find out how much it costs to do it wrong!
Tip for new SUV drivers: Professional Driver on Closed Course does not mean your Dumb Ass on a Public Road!
DeleteFXPFiles & CheckFavorites (Please rate this post!) -
oh really ?! :~ do you know hardware programming ? :suss:
TOXCCT >>> GEII power
[toxcct][VisualCalc]Yes. I have been doing process control and industrial automation for many years. I have worked on my embedded processor systems (not just WinCE) and have written many device drivers for different hardware platforms (Z-80 using CPM, 68k running PDOS(?), 386 using only god knows what). Doing anything in a tight loop testing any type of flag without resolving to a kernel waitable object is a bad idea. It will lock other applications out of the CPU. Even spinlocks will only loop for a very limited amount of time prior to resorting to a kernel object. I would question the overall design if someone needed to do such a thing. There are cases where that level of timing is needed, but as already stated user mode isn't a good place to do such things. Thus, even if he could get it to work, it wouldn't be reliable in the real world. Tim Smith I'm going to patent thought. I have yet to see any prior art.
-
hem sorry mista rateepzzzzzzzzzz, i'm a bit off topic, but 1 ms is 1 milli-second for me, while 1 micro-second is written 1 µs...
TOXCCT >>> GEII power
[toxcct][VisualCalc]like duh!!!!!:laugh:...... ahem...sorry mr toxxxxxxxxcit, i am not off thiz topic;) ,coz my bachelors happen to be in electronics &communication...... well i was wondering if microsec precision is possible with the QueryPerformance function taking into account that the windows aint an rtos system......my question seem to have just popped up when thiz question abt millisecond was put into,.....itz not the issue or misunderstanding of millisec,or pico sec,or nano sec or whatever!!!!!;) cheerz.....:-D "faith, hope, love remain, these three.....; but the greatest of these is love" -1 Corinthians 13:13