Minuterie service d'interruption de routine sur un fonctionnement de l'ordinateur hôte à un taux de 10 microsecondes ou plus rapide

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

  •  19-09-2019
  •  | 
  •  

Question

Je suis en train d'exécuter le pseudo-code suivant à un taux de 10 microsecondes ou plus sur un ordinateur hôte (RAM 512 Mo, Intel 2,5 GHz processeur Pentium 4, etc.) fonctionnant sur un système d'exploitation Windows XP:

int main(void)
{
    while(1){};
}

Interrupt service routine:
every 10 microseconds, printf("Hello World");

Je suis conscient qu'il ya des MFC minuteries, mais ils ne sont pas fonctionnels si les minuteries doivent déclencher plus vite que 1 ms. Quelle serait la meilleure méthode pour accomplir ce que les objectifs de mon pseudo? Merci à l'avance.

Était-ce utile?

La solution

Je ne suis pas sûr que vous pouvez obtenir ce genre de performances de Windows XP, du moins pas de manière fiable à partir userland. Vous pourriez avoir à exécuter votre code en tant que pilote du noyau, ou mieux encore étudier en utilisant un système d'exploitation en temps réel comme Xenomai à la place.

Autres conseils

Ignorer - je mal lu micro comme milli dans la question Désolé:

Comme vous dites que vous êtes sous Windows, le titre MultiMedia minuterie est le chemin à parcourir.

Ou le plus récent TimerQueue TimerQueue

peut être en mesure d'obtenir la résolution de 1ms, en fonction de votre matériel.

Bonne chance

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top