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 :

Reception avec Tcomport


Sujet :

C++Builder

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 9
    Points : 2
    Points
    2
    Par défaut Reception avec Tcomport
    J'utilise Tcomport pour envoyer recevoir des commandes a un pocketpc ... cepandant si la l'envoi se passe bien, la reception ne donne rien du tout ... l'hyper terminal recoit mais pas mon programme (testé avec le composant terminal associé a mon port serie et avec les leds de controles d'etats ... rien ... )
    configuré en 8bits,57600 ou 9600bps , 1bit de stop, pas de controle d'erreur ...
    Je ne comprend pas pourquoi cela ne fonctionne pas ...
    Si quelqu'un a une idée je l'en remercie d'avance ;-)

  2. #2
    Nouveau membre du Club
    Inscrit en
    Mai 2002
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 39
    Points : 34
    Points
    34
    Par défaut
    Salut, je travaille avec ce composant depuis 1 ans,

    tu dois implémenter l'évènement "OnRxChar" .
    ou alors, tu peux utiliser le composant supplémentaire "TcomDataPacket" et implémenter l'évènement "OnPacket" mais, tu dois connaitre le format des données reçues.

    Si tu ne reçois rien, mais que dans terminal tu reçois, check la config du port, ça ne peut être que ça.

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 9
    Points : 2
    Points
    2
    Par défaut
    J'utilise bien cet evenement ... j'y est mis une messagebox pour tester mais rien ...
    le probleme est que le port n'a pas l'air d'etre en cause vu que j'arrive a envoyer des données sur le pocketpc ...
    le programme que j'ai fait sur celui ci n'est pas en cause car j'arrive a envoyer sur un pc avec l'hyper terminal ...
    Snif ... je n'avance pas dans mon projet a cause d'un leger detail ...

  4. #4
    Nouveau membre du Club
    Inscrit en
    Mai 2002
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 39
    Points : 34
    Points
    34
    Par défaut
    Est-ce que le MessageBox s'affiche vide ? (j'ai eu ce prob)...

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 9
    Points : 2
    Points
    2
    Par défaut
    non, le messagebox ne s'affiche pas ... (la led ring devrait s'alumer aussi non ?)
    g testé avec la version 2.61 et 2.64 c'est idem ... egalement avec la 3 mais sous borland c++ builder 5 il ne s'installe pas ...

    ps : rien a voir avec le parametre de timeout ? :$ (au cas ou j'ai testé plusieurs config mais jamais rien ... )

  6. #6
    Nouveau membre du Club
    Inscrit en
    Mai 2002
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 39
    Points : 34
    Points
    34
    Par défaut
    normalement, même si ta vitesse est mauvaise, tu dois quand même recevoir des datas (inexploitables).

    Que fais-tu avec l'hyperterminal ??

    tu le pointes vers un com, puis tu définis la vitesse, tu règles autre chose ?

  7. #7
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 9
    Points : 2
    Points
    2
    Par défaut
    oui mais la vitesse est ok ... pour preuve, les chaines que j'envoi du pc au pocketpc arrive sans problemes
    l'hyper terminal c'est pour verifier que mon prog sous pocketpc fonctionne et envoie des char
    j'ulise donc le terminal de tcomport pointant vers l'objet Tcomport configuré ainsi :
    8 bits pas de controle d'erreur, 1bit de stop,aucune parité ... depuis ce terminal je peut envoyer des octects mais il ne recoit rien ... (et l'interruption de reception ne senclanche pas ...)

    maybe miko$oft windows xp is the answer ? o_O ? :-D

    ps : merci de ton aide

  8. #8
    Nouveau membre du Club
    Inscrit en
    Mai 2002
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 39
    Points : 34
    Points
    34
    Par défaut
    oui, mais L'os n'a rien à voir dans l'histoire, vu que sous Hyperterminal tu reçois bien les données.

  9. #9
    Membre confirmé
    Homme Profil pro
    Consultant technique
    Inscrit en
    Juillet 2002
    Messages
    519
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Consultant technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2002
    Messages : 519
    Points : 523
    Points
    523
    Par défaut
    Utilise un ComLed
    Dans les propriété de la ComLed1, met dans la propriété ComPort : ComPort1.

    Comme ca, il sera attaché à ce comport.

    Puis met LedSignal à lsRx.

    Pour savoir si tu as recu quelques choses : ComLed1->State

    Evenement OnChange de la ComLed permet avec l'instruction du dessus de savoir si on a recu quelques choses et permet de visualiser le tout (la comled s'allume).

  10. #10
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 9
    Points : 2
    Points
    2
    Par défaut
    l'os etait une farce
    oui, j'ai utilisé les led pour verifier cela ... cepandant aucune ne s'allume lors de la reception d'un octect (a part la led connected ) ... (lors de l'envoi c'est ok ... )
    Etrange ... je ne suis pas chez moi j'essayerai peut etre delancer l'application sans le debugueur mais je doute que cela influe ...

  11. #11
    Membre confirmé
    Homme Profil pro
    Consultant technique
    Inscrit en
    Juillet 2002
    Messages
    519
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Consultant technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2002
    Messages : 519
    Points : 523
    Points
    523
    Par défaut
    - Vérifie les pripriétés Events du composant ComPort.
    - Vérifie les pripriétés Buffer du composant ComPort (valeur : 1024)
    - essaie de mettre toutes les valeurs des timeouts à 1000.
    - Voici ce que dit l'aide :
    If component is linked to other component that needs incoming data, like TComDataPacket or TCustomComTerminal, OnRxChar event is is not called, however, the component calls OnRxBuf event. The application can not read the data from input buffer inside OnRxBuf event, since it has already been read. The data is placed automatically by the component in Buffer parameter of OnRxBuf event. Whether OnRxChar or OnRxBuf event is called, can be checked with TriggersOnRxChar property.
    Donc, essaie avec OnRxBuf. A ce moment, il ne faut plus lire l'octet au même endroit. Tu peux voir comment on fait pour le récupérer dans l'aide.

  12. #12
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 9
    Points : 2
    Points
    2
    Par défaut
    j'aurai preferé faire un post [resolu] ....
    le buffer est bien a 1024 ...
    avec tout les timeouts a 1000 rien non plus ...
    Finalement en enlevant le terminal, en utilisant l'evenement du buffer .. rien non plus ... je m'en vais chercher un serie croisé pour testé du com2 au com1 si je recoi quelque chose ..Mais si je recoi via l'hyper terminal les données de mon pocketpc je ne m'attend pas a un miracle ...

  13. #13
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 9
    Points : 2
    Points
    2
    Par défaut
    ok ... je me jette par la fenetre maintenant !
    ... pour recapituler : mon programme sous pocketpc envoi des octets via le port serie ... (pas de protocole, rien !!!) l'hyper terminal de windows est ok, je recoi ce que j'envoi ...
    maintenant mon evenement onrxchar ne s'execute pas l'orsque j'envoi des données depuis le pocket ...et si jamais j'eteins le pocket , l'evenement se lance !!! (l'extinction du pocket correspond a nimport quoi ...)
    Pitié ou je saute !!!

  14. #14
    Membre confirmé
    Homme Profil pro
    Consultant technique
    Inscrit en
    Juillet 2002
    Messages
    519
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Consultant technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2002
    Messages : 519
    Points : 523
    Points
    523
    Par défaut
    Il y a 2 ou 3 personnes qui connaissent très bien comport sur ce forum. J'espère qu'ils vont venir t'aider.

    Tout ce que je peux faire pour toi c'est d'aller voir sur mon site à cette adresse :
    http://www.gandfweb.net/logiciels.htm

    Tout en bas il y a RS232Monitor. J'ai mis les source du logiciel qui est fait avec C++Builder. Il gère 2 liaison série en même temps. C'est un de mes premiers logiciels (ca se voit, le code est pourri). Il a des bugs mais il fonctionne un peu (j'ai pu le tester que 3 mois après l'avoir fait puisque j'avais pas 2 PC sous la main et il n'avait qu'un seul port série).

    Essaye de regarder comment j'ai fait pour recevoir des octets. Attention, je ne suis pas sur que tous les modes de réception fonctionnent (hexa, ASCII...)

    Au passage, si tu l'essaie, active option->plus et essaie d'envoyer plusieurs fois sans activer le port.

  15. #15
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 9
    Points : 2
    Points
    2
    Par défaut
    merci beaucoup ... je jette un oeil a cela ce soir ...
    le bug de reception se situe sur quelle version de tcomport ?
    y a t'il d'autre composants, peut etre moins evolué faisant le meme travail ? (borland c++ builder 5.0)

  16. #16
    Membre confirmé
    Homme Profil pro
    Consultant technique
    Inscrit en
    Juillet 2002
    Messages
    519
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Consultant technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2002
    Messages : 519
    Points : 523
    Points
    523
    Par défaut
    C'est pas ComPort qui a un bug mais mon logiciel. J'ai pas essayé de le débugger.

  17. #17
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 9
    Points : 2
    Points
    2
    Par défaut
    Bon a force de chercher ... on trouve :-)
    Merci a tout ceux qui m'on aider néanmoins ! :-)
    En fait j'ai decouvert ce matin que d'une part il fallait faire :
    SetRTS(1);
    et d'autre par definir le charactere dechlenchant l'evenement OnRxChar (enventchar)
    Enfin ca m'a l'aire de marcher :-)

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

Discussions similaires

  1. Reception série avec TComPort
    Par Revan777 dans le forum C++Builder
    Réponses: 9
    Dernier message: 04/06/2007, 13h52
  2. Probleme reception avec utilisation de TComPort
    Par MDiabolo dans le forum C++Builder
    Réponses: 6
    Dernier message: 19/02/2006, 20h21
  3. buffer de réception avec TComport
    Par yoyo72 dans le forum Composants VCL
    Réponses: 3
    Dernier message: 31/08/2005, 21h28
  4. Reception de trame avec Tcomport
    Par Amazone83 dans le forum API, COM et SDKs
    Réponses: 6
    Dernier message: 19/06/2005, 00h18
  5. [Débutant] Lenteur avec TComPort
    Par PhDt76 dans le forum C++Builder
    Réponses: 22
    Dernier message: 27/09/2003, 21h43

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