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

Delphi Discussion :

dialogue port serie via TCOMPORT


Sujet :

Delphi

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 3
    Points : 1
    Points
    1
    Par défaut dialogue port serie via TCOMPORT
    Bonjour a tous...

    autodidacte en delphi et cela m'amène a vous demandez de l'aide.

    J'ai trouvé le moyen de dialoguer avec le port serie via TCOMPORT mais j'ai un problème de temporisation.

    est il possible via le composant TCOMPORT d'attendre la réponse a une instruction envoyé afin de pouvoir faire une suite d'envoi et de lecture de reponse de façon suivi et non mélangé

    merci d'avance

  2. #2
    Membre chevronné Avatar de philnext
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    1 552
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 552
    Points : 1 780
    Points
    1 780
    Par défaut
    Je ne connais pas le TCOMPORT mais, oui c'est bien évidemment possible.
    SI tu mets dans ton post ton code tu auras surement des réponses.

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

    Informations forums :
    Inscription : Février 2007
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    j'ai un bonton qui envoi les données
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    procedure TForm1.Button2Click(Sender: TObject);
    begin
      // initialisation dialogue
      ComPort.WriteStr(Chr(144));
      ComPort.SetRTS(true);
      ComPort.SetRTS(false);
      ComPort.SetRTS(true);
      // envoie données ligne par ligne 
      ComPort.WriteStr(chr($A1));
      ComPort.WriteStr(chr($07)+chr($10)+chr($0E)+chr($07)+chr($01)+chr($8f)+chr($00)+chr($00));
      ComPort.WriteStr(chr($A0));
    end;
    et j'ai mis la reperation des donné dans l'evement RxChar
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    procedure TForm1.ComPortRxChar(Sender: TObject; Count: Integer);
    var
      Str: String;
    begin
      // recuperation des données sur le port serie 
      ComPort.ReadStr(Str, Count);
      // affichage dans memo
      Memo.Text := Memo.Text + Str;
    end;
    mais je n'arrive pas a arreter l'envoi avant chaque recuperation de reponse

    il faut peut etre utiliser une autre methode mais laquelle ??

    merci de votre aide !!!!

  4. #4
    Membre chevronné Avatar de philnext
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    1 552
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 552
    Points : 1 780
    Points
    1 780
    Par défaut
    Tu veux arrêter l'envoi de donnée dès que tu reçois une réponse ??
    Je ne vois pas à quoi ça sert mais bon...
    Une idée :
    *Tu mets un boolean en variable globale qui indique quand tu reçois.
    *Tu mets un timer avec un déclenchement toutes les 100 ms. et enable à false sur ton appli.
    *En fait quand tu clic sur ton bouton tu mets ce que tu as à envoyer dans une string puis tu déclenches le Timer.
    *Dans l'event du timer tu dépile ta string si ton boolean est à false sinon tu sors.
    *Dans l'event de reception de données tu commences par mettre le boolean à true puis tu récupères tes données. (à la fin tu peux remettre le boolean à false si tu veux redémarer l'envoi)

  5. #5
    Membre émérite Avatar de edam
    Homme Profil pro
    Développeur Delphi/c++/Omnis
    Inscrit en
    Décembre 2003
    Messages
    1 894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Delphi/c++/Omnis
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 894
    Points : 2 770
    Points
    2 770
    Par défaut
    Citation Envoyé par fredo123
    j'ai un bonton qui envoi les données

    mais je n'arrive pas a arreter l'envoi avant chaque recuperation de reponse
    explique un peut plus

  6. #6
    Membre chevronné

    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2002
    Messages
    1 289
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Août 2002
    Messages : 1 289
    Points : 1 940
    Points
    1 940
    Par défaut
    Pour chaque ligne envoyée tu dois avoir une réponse?

  7. #7
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    desolé mais j'ai été pris par le boulot...

    je veux recevoir une réponse pour chaque envoi...

    apres l'octet final je veux arreter les envois des demandes pour recevoir la reponse

    ensuite je reprend la suite des demandes

    merci a tous

  8. #8
    Membre chevronné

    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2002
    Messages
    1 289
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Août 2002
    Messages : 1 289
    Points : 1 940
    Points
    1 940
    Par défaut
    Un envoi synchrone suivi d'une réception synchrone conviendrait-elle?

    http://nono40.developpez.com/tutorie...mport/#LIV-C-3

Discussions similaires

  1. Transmission de trames sur ports serie via ISS
    Par ZoummuoZ dans le forum ASP.NET
    Réponses: 0
    Dernier message: 08/12/2009, 09h56
  2. lecture port serie tcomport
    Par STEPH42160 dans le forum C++Builder
    Réponses: 30
    Dernier message: 22/02/2007, 00h19
  3. piloter un port usb via un port serie virtuel?
    Par passion_info dans le forum C++Builder
    Réponses: 2
    Dernier message: 10/10/2006, 12h56
  4. A la recherche d'un soft pour dialoguer sur port serie
    Par Rudy 34 dans le forum Composants
    Réponses: 5
    Dernier message: 25/02/2005, 15h54

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