La Web del Programador: Comunidad de Programadores
 
    Pregunta:  24021 - ROMPER LA BARRERA DE LOS 50 MILISEGUNDOS EN WINDOWS
Autor:  pablo marcomini
Necesitaría saber si es posible lograr control del tiempo en Windows con resolución menor a los 50 milisegundos (18.2 Ticks/seg).
He probado timers en VB, VC++, BC++Builder, Etc. y en nigun caso pude vencer esta barrera.
Estoy desarrollando una aplicación que necesita leer o escribir en un puerto a intervalos regulares de, digamos, 100 microsegundos.
Si alguien puede ayudarme con este desafio, por favor, alcanceme alguna pista.
Gracias.

  Respuesta:  Neil Armstrong
Con estas funciones obtendrás una precisión basada en la velocidad (megahercios) del procesador. El sistema lleva un conteo de ciclos desde el arranque.

// Estructuras para enteros largos (64 bits)
LARGE_INTEGER count, frequency;

// Leer Frecuencia para cálculos posteriores (ciclos por segundo)
QueryPerformanceFrequency(&frequency);

// Leer contador de ciclos en su valor actual
QueryPerformanceCounter(&count);