Rutina de Servicio de Interrupción temporizador en un equipo host que ejecuta a un ritmo de 10 microsegundos o más rápido

StackOverflow https://stackoverflow.com/questions/1175164

  •  19-09-2019
  •  | 
  •  

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.

¿Fue útil?

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

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top