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

EDI Delphi Discussion :

[Kylix] Aidez moi SVP -> Kylix et la liaison série


Sujet :

EDI Delphi

  1. #21
    Membre à l'essai
    Inscrit en
    Mars 2004
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 55
    Points : 22
    Points
    22
    Par défaut yo
    Bon beh c cool je reçoit la trame correctement maintenant et le problème n'est pas finit il faut que je traite la trame mais cette fois avec des masques mais je dervais m'en sortir un autre truc c'est que je reçoit une trame correct mais pas d'un coup il faut que je fasse par exemple 3 read pour lire la trame entière : : ce qui est bizzard , alors est ce que vous penses que çà viens de mon time out ???? mais jel'ai mis à 0 ???

  2. #22
    Membre à l'essai
    Inscrit en
    Mars 2004
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 55
    Points : 22
    Points
    22
    Par défaut re encore re bis alpha turbo beta : yo
    8) olala j'ai enqueté et en fait la trame est coupé car mon read n'attend pas le checksum qui marque la fin de la trame e je n'essai de trouver les bonnes options si quelqu'un a des idées sympa de m'les faire partager !!!!!! :o

  3. #23
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 71
    Points : 61
    Points
    61
    Par défaut
    pas d'idée, désolé, c'est trop pointu pour moi.

  4. #24
    Membre à l'essai
    Inscrit en
    Mars 2004
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 55
    Points : 22
    Points
    22
    Par défaut je suis perdu
    bool CSerial::Lire(void * Buffer, unsigned Size,unsigned &NbOctets)
    {
    //on lit le port
    NbOctets = read(hCom,Buffer,Size);

    if(NbOctets==-1)
    {
    throw EXErreurLect();
    return 0;
    }

    printf("lire:NbOctets=%d.\n", NbOctets);


    return 1;

    }
    là je cherche à récupérer les données ludans la fonction ci dessous mais je voudrais le faire à l'intérieur de cette même fonction. Je m'explique . Les données sont enregsitrée à l'adresse montré par le pointeur! J'ai esayé de déréférencer le pointeur pour pouvoir enregistrer les données dans un tableau pour pouvoir après traiter la trame. mais çà ne marche pas. Alors j'essai de nouvelles solutions.
    La base de mon problème est ce pointeur à la noix.

  5. #25
    Membre à l'essai
    Inscrit en
    Mars 2004
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 55
    Points : 22
    Points
    22
    Par défaut je suis perdu
    bool CSerial::Lire(void * Buffer, unsigned Size,unsigned &NbOctets)
    {
    //on lit le port
    NbOctets = read(hCom,Buffer,Size);

    if(NbOctets==-1)
    {
    throw EXErreurLect();
    return 0;
    }

    printf("lire:NbOctets=%d.\n", NbOctets);


    return 1;

    }
    là je cherche à récupérer les données ludans la fonction ci dessous mais je voudrais le faire à l'intérieur de cette même fonction. Je m'explique . Les données sont enregsitrée à l'adresse montré par le pointeur! J'ai esayé de déréférencer le pointeur pour pouvoir enregistrer les données dans un tableau pour pouvoir après traiter la trame. mais çà ne marche pas. Alors j'essai de nouvelles solutions.
    La base de mon problème est ce pointeur à la noix.

  6. #26
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 71
    Points : 61
    Points
    61
    Par défaut
    Si tu développes avec kylix, il y a une classe très intéressante pour la collection de chaines de caractères : TStringList , vois la doc la dessus. Dans ta classe tu mets un attribut TStringList et tu ajoutes la chaine de caractères lut sur le port à cette collection ( sorte de super tableau dynamique ).

    un conseil , évite void * et size comme je te l'ai conseillé au début.

    ça pourrai ressembler à ça :

    attention j'utiluse la forme non canonique et pour arrêter la lecture je compte sur mon time out !

    d'où, dans le constructeur de ta classe :

    option.c_lflag &= ~( ICANON | ECHO | ECHOE | ISIG) ;

    option.c_cc [VMIN] = 0 ; //n caractères attendus en reception
    option.c_cc [VTIME] = n ; // timeout n/10 seconde

    à toi de déterminer n !



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
     
     
    //objet liste de type TStringList en attribut de classe 
     
    void CSerial::Lire()
     
    {  char caractere_recu   ;
     
        AnsiString s = ""; 
     
        int continuer  ;
     
       do
     
      {    continuer = read ( hCom , & caractere_recu, 1 ) ;   //bloquant 
     
          //  if ( conditions ) s += caractere_recu ; //élimine les FF si tu veux
      }
     
      while (  continuer ); //arret si il n'ya pas de lecture de  
                                   // caractère dans l'intervalle timeout        
     
     
      liste->Item->Add ( s ); //ajout de la chaine de caractères dans la liste.
     
    }

  7. #27
    Membre à l'essai
    Inscrit en
    Mars 2004
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 55
    Points : 22
    Points
    22
    Par défaut sympa l'ami
    merci de ton aide dis par hazard t'aurai pas l'adresse d'un site traitant sur l'accès au BDD par kylix ? sinan ce n'est pas grave



    Merci

  8. #28
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 71
    Points : 61
    Points
    61
    Par défaut
    non

  9. #29
    Membre à l'essai
    Inscrit en
    Mars 2004
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 55
    Points : 22
    Points
    22
    Par défaut dieu existe-t-il ?
    Hé bien par magie des fois ma liaison série ne veut plus lire et reste bloquante alors quelle est censé recevoir une trame toutes les t secondes(c'est pas moi qui l'ai décidé c'est la machine et pisse des pisse les lignes de trames) et parfois çà marche impéc.
    Alors çà vient peut etre de mon time out mais j'en doute fort puisque j'ai mis qu'il ne devais attendre que 1 caractère. alors si quelqu'un sait.....

  10. #30
    Membre à l'essai
    Inscrit en
    Mars 2004
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 55
    Points : 22
    Points
    22
    Par défaut heu encore
    oui c'est encore moi ete j'ai toujours un souci avec la liaison série, par moment les fonctions restent bloquante et donc mon programme plantum.... pourtant j'ai mis un temps d'attente cours.

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. Connection a une BD SQL SERVER Aidez Moi SVP????
    Par pop bob dans le forum Bases de données
    Réponses: 3
    Dernier message: 07/08/2005, 16h29
  2. Recuperation de ma base BD apres la sauvegarde Aidez Moi SVP
    Par pop bob dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 26/07/2005, 16h38
  3. J'ai du mal à me décider ! Aidez moi svp :)
    Par VanHelsing dans le forum Mobiles
    Réponses: 18
    Dernier message: 01/06/2005, 14h59
  4. Je vois pas d'où vient mon erreur!! Aidez moi SVP
    Par liliboms dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 04/04/2005, 08h25
  5. [Kylix] Aidez-moi -> LIAISON SERIE 2 le retour
    Par Oyoboy dans le forum EDI
    Réponses: 1
    Dernier message: 28/05/2004, 10h48

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