Pause précise à un 100 eme de seconde sous dos
Salut à tous
Comment obtenir des poses de l'ordre du 100 eme de milli seconde ( 0.01 ms ) en Turbo C sous Dos avec un résultat constant quelque soit la puissance du PC utilisé ?
La commande delai(1) permet d'avoir une delai de 1 milliseconde . Impossible de dessendre en dessous via cette commande
La boucle for(i=1;i<10000;i++) permet une pause plus courte et tres fine mais offre un resultat totalement variable et depedant de la puissance du PC utilisé ...
Arnaud
Re: Pause précise à un 100 eme de seconde sous dos
Citation:
Envoyé par CLERGET
Comment obtenir des pauses de l'ordre du 100 eme de milli seconde ( 0.01 ms ) en Turbo C sous Dos avec un résultat constant quelque soit la puissance du PC utilisé ?
Impossible. Un PC n'est pas une base de temps. Le tic interne est d'environ 55 ms (18.2 tics / secondes).
C'est le résultat de 65536 / 3600 = 18.204444 tics par secondes, soit 54,931640625 ms.
Toucher à ça risque de destabiliser le PC.
Tu peux utiliser des des boucles calibrées, mais avec les caches instructions, aucune garantie sur le temps d'exécution...
Il faut un timer matériel autonome, et encore.... (voir les ressources matérielles non utilisées du PC.)
Tu ne devrais pas avoir besoin d'une telle précision dans du logiciel. AMA, la conception est à revoir... Que veux tu faire exactement.