Rutina de Servicio de Interrupción temporizador en un equipo host que ejecuta a un ritmo de 10 microsegundos o más rápido
Pregunta
Estoy tratando de ejecutar el siguiente pseudocódigo a un ritmo de 10 microsegundos o más rápido en un equipo host (512 MB de RAM, procesador Intel Pentium 4 2.5 GHz, etc.) que se ejecuta en un sistema operativo Windows XP:
int main(void)
{
while(1){};
}
Interrupt service routine:
every 10 microseconds, printf("Hello World");
Soy consciente de que hay temporizadores MFC, pero no son funcionales si los temporizadores necesitan para disparar más rápido que 1 ms. ¿Cuál sería la mejor manera de lograr lo que los objetivos de mi pseudocódigo? Gracias de antemano.
Solución
No estoy seguro de que usted puede conseguir ese tipo de rendimiento de Windows XP, al menos no de forma fiable de espacio de usuario. Puede que tenga que ejecutar el código como un controlador del núcleo, o mejor aún investigar el uso de un sistema operativo de tiempo real como Xenomai lugar.
Otros consejos
No haga caso de esto - I micro como mili errores de lectura en la pregunta Lo sentimos:
Como se dice que está en Windows, la MultiMedia Timer es el camino a seguir.
O el más reciente TimerQueue TimerQueue
pueden será capaz de obtener una resolución de 1 ms, dependiendo de su hardware.
Buena suerte