Microsecond delay | CodeGuru

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. […]

Written By
CodeGuru Staff
CodeGuru Staff
Aug 6, 1998
1 minute read
CodeGuru content and product recommendations are editorially independent. We may make money when you click on links to our partners. Learn More

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

CodeGuru Logo

CodeGuru covers topics related to Microsoft-related software development, mobile development, database management, and web application programming. In addition to tutorials and how-tos that teach programmers how to code in Microsoft-related languages and frameworks like C# and .Net, we also publish articles on software development tools, the latest in developer news, and advice for project managers. Cloud services such as Microsoft Azure and database options including SQL Server and MSSQL are also frequently covered.

Property of TechnologyAdvice. © 2026 TechnologyAdvice. All Rights Reserved

Advertiser Disclosure: Some of the products that appear on this site are from companies from which TechnologyAdvice receives compensation. This compensation may impact how and where products appear on this site including, for example, the order in which they appear. TechnologyAdvice does not include all companies or all types of products available in the marketplace.