Microsecond delay

Here is a sample using system resources available to get a MicroSecond delay
function.

As we know the system has WM_TIMER which gives about 50mS resolution, and
Mutlimedia Timers which can do about 1mS, and if one require a simple delay of
say 100microseconds with about 5% accuracy there is nothing available to do
that.

Using the GetTickCount() it is possible to adjust a simple for() loop that
contains _asm {NOP} and get a reasonable delay accuracy.

The attached code sample explains itself.

One improvement I would make next time I use this, is to save the initialization
values to the registry, and avoid doing it every time the program starts.

The code has been tested on three systems ( dual pentuim Pro running at 233MHz )
( Penitum P5 at 233MHz) and Toshiba Laptop running at 133MHz.

Project File 31K

More by Author

Get the Free Newsletter!

Subscribe to Developer Insider for top news, trends & analysis

Must Read