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

MFC Discussion :

[MFC] Gestion du temps


Sujet :

MFC

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Février 2003
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 92
    Points : 55
    Points
    55
    Par défaut [MFC] Gestion du temps
    Bonjour,

    J'utilise une communication de type GPIB dans une boite de dlg avec VC++6.0.

    Une partie de la communication GPIB se fait dans des thread, pour que l'utilisateur garde la main et puisse par exemple cliquer sur un bouton annuler.

    Je voudrais gérer le temps de communication. en effet, avec le GPIB le temps entre une requette et une réponse peut varier de 50ms à 120ms.

    Je voudrais que le temps entre une demande et une réponse soit toujours le même (avec la meillieur présision possible).

    Mon idée est d'envoyer la requette, attendre la réponse pendant par exemple 200ms, si la réponse arrive ou la stock et le programme attend la fin des 200ms. si la réponse n'a pas eu le temps de venir le programme prend la valeur précedente et relance une requette nouvelle de 200ms.

    Ainsi, j'ai une valeur toute les 200ms, soit elle est correct soit le programme travail avec la valeur d'avant.


    Quel est la meillieur approche pour ce type d'application?
    J'ai trouvé QueryPerformanceCounter ou la fonction _sleep, si quelqu'un connait une autre solution ou des exemples du même genre?

    merci de votre aide,

  2. #2
    Membre du Club
    Inscrit en
    Octobre 2002
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Octobre 2002
    Messages : 39
    Points : 40
    Points
    40
    Par défaut
    SetTimer() ne fait pa l'affaire????

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Février 2003
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 92
    Points : 55
    Points
    55
    Par défaut
    SetTimer n'est pas assez précis !?

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    391
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 391
    Points : 347
    Points
    347
    Par défaut
    N'utilise surtout pas le sleep sous XP j'ai vu des sleep(1) pouvant durer jusqu'a 50 ms donc le QueryPerformanceCounter semble le meilleur choix

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Février 2003
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 92
    Points : 55
    Points
    55
    Par défaut
    et que pensez vous de GetTickCount()?

  6. #6
    r0d
    r0d est déconnecté
    Expert éminent

    Homme Profil pro
    tech lead c++ linux
    Inscrit en
    Août 2004
    Messages
    4 262
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : tech lead c++ linux

    Informations forums :
    Inscription : Août 2004
    Messages : 4 262
    Points : 6 680
    Points
    6 680
    Billets dans le blog
    2
    Par défaut
    Et bien GetTickCount() est précis à la milliseconde près, alors que QueryPerformanceCounter() permet une précision à la nanoseconde.
    « L'effort par lequel toute chose tend à persévérer dans son être n'est rien de plus que l'essence actuelle de cette chose. »
    Spinoza — Éthique III, Proposition VII

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Février 2003
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 92
    Points : 55
    Points
    55
    Par défaut
    Merci pour vos indications.

    Peut-il y a avoir des problèmes avec ce type de fonction (temps) et l'utilisation de threads?

  8. #8
    r0d
    r0d est déconnecté
    Expert éminent

    Homme Profil pro
    tech lead c++ linux
    Inscrit en
    Août 2004
    Messages
    4 262
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : tech lead c++ linux

    Informations forums :
    Inscription : Août 2004
    Messages : 4 262
    Points : 6 680
    Points
    6 680
    Billets dans le blog
    2
    Par défaut
    Bien sûr, il faut faire attention. Mais si tu programmes proprement, et surtout, si tu sais exactement ce que tu va faire avant d'écrire ton code, il ne devrait pas y avoir de problèmes.
    « L'effort par lequel toute chose tend à persévérer dans son être n'est rien de plus que l'essence actuelle de cette chose. »
    Spinoza — Éthique III, Proposition VII

Discussions similaires

  1. [MFC] Gestion d'un bus GPIB
    Par angeromudelparis dans le forum MFC
    Réponses: 8
    Dernier message: 04/10/2005, 12h25
  2. [MFC] Gestion du'un joystick
    Par ArkAng3 dans le forum MFC
    Réponses: 6
    Dernier message: 23/03/2005, 09h57
  3. [VB.NET] Gestion en temps réel d'une bdd access
    Par qwiskas dans le forum Windows Forms
    Réponses: 6
    Dernier message: 12/02/2005, 19h37
  4. [MFC]gestion du controle MaskedEdit
    Par dj_kyl dans le forum MFC
    Réponses: 2
    Dernier message: 27/11/2003, 19h58
  5. fonction de gestion du temps
    Par fati dans le forum C
    Réponses: 5
    Dernier message: 26/12/2002, 16h32

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