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

VB.NET Discussion :

Thread et port com


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Responsable Maintenance
    Inscrit en
    Août 2012
    Messages
    479
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Responsable Maintenance

    Informations forums :
    Inscription : Août 2012
    Messages : 479
    Par défaut Thread et port com
    Bonjour à tous et à toutes.

    J'aimerai exposer un problème qui est le suivant.
    J'ai un moyen de récupérer les données d'un appareil de mesure sur un port com émule. Pas de soucis je récupéré la trame. Mais tant qu'on fait des mesure je récupère une trame. le soucis et que je veux un bouton pour dire c'est bon j'ai assez récupérer de point de mesures. Cependant du fait que je suis dans une boucle du thread principale je ne peut plus cliquer sur le form.
    ET donc j'ai tenter bien des choses par exemple que la lecture du port com sur un thread à part mais la du coup j'arrive plus a afficher dans une listbox les points de mesures ( vu que c'est sur un autre thread).
    y a t 'il moyen de passer la valeur d'un thread secondaire au thread principal ?

    cdt

  2. #2
    Membre Expert Avatar de Phil Rob
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2013
    Messages
    1 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2013
    Messages : 1 613
    Par défaut Mutlitâches
    Je ne suis pas trop au courant des difficultés engendrées par l'usage du multithreading mais j'ai dû travailler cette matière il y a quelques années ...
    C'est ainsi que je dispose de quelques cours et je t'en envoie 2 extraits.

    Le fichier Thread.pdf concerne l'échange d'informations entre threads (ce ne sera sans doute pas suffisant pour ton problème, à voir ...).
    Le fichier Marshal.pdf concerne la communication d'une même interface avec plusieurs threads (tu devrais pouvoir y trouver des pistes de solutions " ... Il est possible d'encoder d'autres valeurs avant même que le traitement initial ait terminé ses itérations. ...", mais bon courage ...).

    Pièce jointe 409849Pièce jointe 409851

  3. #3
    Membre éclairé
    Homme Profil pro
    Responsable Maintenance
    Inscrit en
    Août 2012
    Messages
    479
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Responsable Maintenance

    Informations forums :
    Inscription : Août 2012
    Messages : 479
    Par défaut
    Je regarde ton tuto sur le multithread mais je m'embrouille un peu.
    En tout cas je te remercie d'avance de l'aide apporté si je trouve une solution avec cela je la posterai.
    cdt

  4. #4
    Membre éclairé
    Homme Profil pro
    Responsable Maintenance
    Inscrit en
    Août 2012
    Messages
    479
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Responsable Maintenance

    Informations forums :
    Inscription : Août 2012
    Messages : 479
    Par défaut
    Bon,
    Je suis une quille avec le multithread
    J'arrive a faire l'acquisition mais je n'arrive pas a mettre à jour l'affichage dans le thread principal
    Peut on traiter sans multi thread ? ( bien que j'aimerai quand meme y arriver avec)

  5. #5
    Membre Expert Avatar de Phil Rob
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2013
    Messages
    1 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2013
    Messages : 1 613
    Par défaut
    Perso, je m'efforcerais de faire cela sans programmer le multithreading. Si j'ai répondu dans le sens "multithreading", c'est parce que le message initial (le #1 du 7/9) traitait de threads ...
    Je pense qu'il est possible de lire les données arrivant sur un port série et de les transmettre directement dans une ListBox, par exemple. En fait, il faut savoir avec quoi (quelle librairie, quelle méthode) tu lis les données.
    Un le clic d'un bouton devrait être "entendu" entre 2 affichages dans la ListBox.
    J'ai connu une application qui servait totalement d'interface à un theodolite simplement connecté par le port série, je n'ai malheureusement plus le code ...

  6. #6
    Membre éclairé
    Homme Profil pro
    Responsable Maintenance
    Inscrit en
    Août 2012
    Messages
    479
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Responsable Maintenance

    Informations forums :
    Inscription : Août 2012
    Messages : 479
    Par défaut
    Pour rapporter les donnée du port com j'utilise System.IO.Ports.SerialPort
    et je fais un Readline pour stocker la chaine émise sur le port com.
    A chaque fois que j'utilise le pointeur d’épaisseur il envoi une chaine et je l'attrape par un readline.
    Cependant je veux couper la boucle par un bouton mais je n'y pas accès vu que je suis coincer dans une boucle ( qui lit et attends le prochain readline d'ou l'idée du multithread... avant que je sache la limitation de transfert de donnée vers le thread principal)
    Comment peut on faire pour créer une pause pour que j’accède sur quelques secondes sur le bouton.
    cdt

Discussions similaires

  1. Reception d'une trame avec port com (threads ?)
    Par vinowan dans le forum VB.NET
    Réponses: 11
    Dernier message: 13/10/2011, 11h26
  2. [socket] envoyer des données vers un port com
    Par Slimer dans le forum Entrée/Sortie
    Réponses: 4
    Dernier message: 20/07/2004, 17h35
  3. [debutant][Port COM]
    Par Shooter dans le forum Entrée/Sortie
    Réponses: 2
    Dernier message: 06/07/2004, 09h43
  4. [javaComm]Communication port COM
    Par gui4593 dans le forum Entrée/Sortie
    Réponses: 11
    Dernier message: 04/06/2004, 12h35
  5. port com
    Par jeremi dans le forum C
    Réponses: 12
    Dernier message: 16/09/2002, 11h37

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