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

Windows Forms Discussion :

Quel timer choisir ?


Sujet :

Windows Forms

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    23
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 23
    Par défaut Quel timer choisir ?
    Bonjour !

    Après avoir passé quelques heures à lire de la documentation sur les timers (http://msdn2.microsoft.com/en-us/magazine/cc164015.aspx et http://msdn2.microsoft.com/en-us/magazine/cc164015.aspx) et les threads en plus des nombreux posts sur ce forum, je n'ai pas pu avancé beaucoup dans mon cheminement :

    Je développe une application utilisant le port série, pas de problème à ce niveau.
    Lors de la mise en fonctionnement de l'interface matérielle via un bouton ''Connect' du logiciel, j'aimerais instaurer un timeout vérifiant une réponse de l'interface matérielle endéans par exemple 1 seconde.

    L'algorithme du clic sur le bouton 'connect' serait du genre :

    démarrer timer
    ouverture port com
    envoi d'une chaîne <ping>
    Celui de la fonction de réception du port série :
    si timer actif --> le stopper
    traiter les données
    Et enfin celui du timer :
    empêcher déclenchement port série
    fermer port
    afficher message d'alerte
    J'ai déjà essayé pas mal de chose et aucune ne marche mieux que l'autre, c'est la raison pour laquelle je n'ai pas mis de code ici.

    l'événement dataReceived de mon serialport fait un invoke d'une fonction de traitement (si j'ai bien compris, cette fonction s'exécute donc sur le même thread que l'interface utilisateur ... ?). Ceci étant un timer de System.Windows.Forms ne me semble pas un bon choix car il ne faut pas que d'autres événements interfèrent avec ma seconde de timeout qui doit être (à quelques dizaines de ms près) une vraie seconde.

    Dans tous mes tests c'est souvent le même problème, le timeout déclenche alors que j'ai bien reçu des données et que donc il devrait être stoppé sans plus déclencher d'événements timeout. Il faudrait donc pouvoir bloquer ou donner des priorités aux événements. Je vous promets que je suis de bonne volonté mais il doit y avoir des notions que je ne pige pas... je pense que ce que je veux faire est assez basique même si la solution n'est pas si évidente...

    Merci pour votre aide !

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Il me semblait avoir vu sur Developpez.com un article sur les différents types de timer du framework, mais je n'arrive pas à remettre la main dessus...
    En attendant voilà un article de Microsoft sur la question:
    http://msdn2.microsoft.com/en-us/magazine/cc164015.aspx (en anglais)

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    23
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 23
    Par défaut
    Citation Envoyé par tomlev Voir le message
    Il me semblait avoir vu sur Developpez.com un article sur les différents types de timer du framework, mais je n'arrive pas à remettre la main dessus...
    En attendant voilà un article de Microsoft sur la question:
    http://msdn2.microsoft.com/en-us/magazine/cc164015.aspx (en anglais)
    Héhé mais je l'ai déjà lu (d'ailleurs j'avais mis le lien dans mon post ci-dessus ), plusieurs fois et bien pigé mais je ne sais toujours pas comment faire !

  4. #4
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Citation Envoyé par euclectus Voir le message
    d'ailleurs j'avais mis le lien dans mon post ci-dessus
    hum... ça m'apprendra à lire en diagonale

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    23
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 23
    Par défaut
    Allez allez, à l'aide ! Il y a bien quelqu'un qui a déjà fait quelque chose de similaire non .... ?

  6. #6
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    tu es sûr que le problème n'est pas au niveau du port série ? tu détectes bien la réception de données ?

Discussions similaires

  1. Quel compilateur choisir pour l'assembleur ?
    Par forthx dans le forum Assembleur
    Réponses: 97
    Dernier message: 09/10/2018, 14h55
  2. [1.1] Quel Timer choisir
    Par fregolo52 dans le forum Framework .NET
    Réponses: 1
    Dernier message: 23/10/2006, 19h51
  3. Quel outil choisir pour un développement SQL-Server ?
    Par Mouse dans le forum Débats sur le développement - Le Best Of
    Réponses: 23
    Dernier message: 12/08/2003, 06h23
  4. quel langage choisir pour faire de script sous windows
    Par pas05 dans le forum Langages de programmation
    Réponses: 7
    Dernier message: 18/11/2002, 22h42
  5. je veux apprendre la programmation quel language choisir??
    Par existance dans le forum Débuter
    Réponses: 26
    Dernier message: 06/08/2002, 05h32

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