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...
Partager