Bonjour à tous.
J'ai une question à soumettre à votre sagacité.

Je développe actuellement une application pilotant des appareils gérant des rampes de courant et j'ai un problème concernant la vitesse de montée de cette rampe.
voici le code fautif :

do
{
fVal+= fPas;
Sleep(10);
}while (fVal<= (float)m_nDeclenche);


en fait, j'envoi une valeur de pas (variable "fPas") toutes les 10 ms (fonction "Sleep") jusqu'à atteindre un seuil de déclenchement retourné par un automate (ici, symbolisé par la variable "m_nDeclenche")
Pour des raisons de simplicité, j'ai supprimé dans ce bout de code la fonction d'envoi de la valeur à la rampe de courant.

Je me suis aperçu que suivant les PC, le temps dexécution n'était pas le même. En mettant des fonctions "clock()" pour voir le temps écoulé dans cette boucle, je me rend compte qu'au lieu d'avoir un délais de par exemple 1s, je suis à 1500 ms (en gros)... La faute à la fonction "Sleep" visiblement qui n'est pas super précise dans ces ordres de grandeur et qui varie selon les PC...

Auriez-vous une autre fonction à me soumettre pour que le PC fasse une pause durant les 10 ms souhaité ? (je ne veux pas qu'il parte faire autre chose pendant ce temps...)

merci d'avance...