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++Builder Discussion :

[API] Communication série NON-bloquante : OVERLAPPED/Thread


Sujet :

C++Builder

  1. #1
    Membre habitué Avatar de Rodrigue
    Inscrit en
    Août 2002
    Messages
    487
    Détails du profil
    Informations forums :
    Inscription : Août 2002
    Messages : 487
    Points : 157
    Points
    157
    Par défaut [API] Communication série NON-bloquante : OVERLAPPED/Thread
    Bonjour,

    J'ai développé une application qui communique sur le port série avec un µC. Celle-ci repose sur les API Windows, en effet c'est une communication assez spéciale et je ne peux pas tout simplement utiliser les composants TComPort!

    L'application fonctionne "correctement" mais le problème c'est que lors de mon CreateFile je n'utilise pas une OVERLAPPED STRUCTURE ce qui entraîne que ma communication n'est pas asynchrone et que mon application est tout simplement bloquée lors des transferts Plutôt génant!

    Ma question est, vous vous en doutez, comment faire en sorte que mon application ne soit plus bloquée ?
    • Utiliser lors de CreateFile une OVERLAPPED STRUCTURE ?
      ou, Mettre le tout dans une Thread ?
      ou, alors les deux : utiliser une OVERLAPPED STRUCTURE et mettre mes appels dans une Thread ?


    Comme vous le voyez je n'y connais pas grand chose et je vous avoue être un peu perdu!
    Si la solution est d'utiliser une Thread, je vous serais très reconnaissant de me donner un petit exemple ... notamment sur les évènements auxquels je dois réagir

    Un grand merci d'avance!
    Rodrigue

  2. #2
    Membre du Club

    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 21
    Points : 50
    Points
    50
    Par défaut
    Salut.

    Sans utiliser "l'overlapped" il est possible d'imposer des délais d'attente max tant en émission qu'en réception ; il suffit d'initialiser une structure COMMTIMEOUTS via les fonctions GetCommTimeouts, et SetCommTimeouts. Voir l'aide pour plus d'infos...

  3. #3
    Membre habitué Avatar de Rodrigue
    Inscrit en
    Août 2002
    Messages
    487
    Détails du profil
    Informations forums :
    Inscription : Août 2002
    Messages : 487
    Points : 157
    Points
    157
    Par défaut
    Super merci Grâce à tes conseils et à mes recherchers, j'ai résolu mon problème Merci
    Rodrigue

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

Discussions similaires

  1. Communication par Port Série Non fonctionnel
    Par Jazys dans le forum Java ME
    Réponses: 0
    Dernier message: 12/03/2012, 16h26
  2. [Débutant] Thread non bloquant
    Par GoustiFruit dans le forum Langage
    Réponses: 4
    Dernier message: 28/11/2007, 18h08
  3. communication Port Usb en mode non bloquant
    Par laurentleroy dans le forum C
    Réponses: 4
    Dernier message: 29/10/2007, 00h29
  4. [timer & thread] timeout & socket non bloquant
    Par untipy dans le forum Réseau
    Réponses: 33
    Dernier message: 22/08/2007, 09h37
  5. Réponses: 3
    Dernier message: 16/03/2004, 17h42

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