IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

Problème avec fonction Sleep


Sujet :

C++

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 2
    Par défaut Problème avec fonction Sleep
    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...

  2. #2
    Membre chevronné Avatar de themadmax
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    446
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 446
    Par défaut
    En effet le temp de Sleep n'est pas des plus precis :
    http://www.geisswerks.com/ryan/FAQS/timing.html
    D'un autre coté seul un OS temp réel pourra te fournir un precition sur.
    Mais tu peut regarder pour sinon avec les fonctions QueryPerformanceFrequency, qui permet d'avoir de meilleurs precisions.
    http://www.codeguru.com/cpp/w-p/syst...cle.php/c5759/

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 2
    Par défaut
    merci bien pour ton aide... c'est très instructif tes liens

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problême avec fonction Sleep
    Par WDKyle dans le forum VB.NET
    Réponses: 8
    Dernier message: 31/03/2010, 11h30
  2. Problème avec fonction sleep
    Par pitxu dans le forum Apache
    Réponses: 2
    Dernier message: 07/02/2008, 03h27
  3. [MFC][WINSOCK] Problème avec fonction recv
    Par Le Farfadet dans le forum MFC
    Réponses: 4
    Dernier message: 23/09/2005, 11h00
  4. Problème avec fonction d'envoie de mail
    Par zyg dans le forum Réseau/Web
    Réponses: 1
    Dernier message: 23/02/2005, 08h48
  5. [Requête] Problème avec fonction "DATE_FORMAT()"
    Par sekiryou dans le forum Requêtes
    Réponses: 4
    Dernier message: 11/01/2005, 21h52

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo