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

MFC Discussion :

Gestion du DCD et RX sur Classe CCom


Sujet :

MFC

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    227
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 227
    Par défaut Gestion du DCD et RX sur Classe CCom
    Bonjour,

    Il y a peu j'avais posé une question sur la gestion du DCD avec la classe CCom de Farscape.

    Je me suis un peu trompé en décrivant ce que je désirais faire.

    En fait il y a une donnée qui arrive en permanence sur le RX de mon port COM,
    cette donnée je dois l'afficher, mais lorsque le DCD change d'état je dois saisir la donnée arrivant sur le RX (en quelque sorte la sauver).

    La j'avoue je suis dans le brouillard depuis que j'ai ces nouvelles informations.

    Quelqu'un pourrait il m'expliquer comment puis-je faire cela en utilisant cette classe CCom.

    Merci d'avance

    Kemanke

  2. #2
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Par défaut
    Citation Envoyé par Kemanke Voir le message
    Bonjour,

    Il y a peu j'avais posé une question sur la gestion du DCD avec la classe CCom de Farscape.

    Je me suis un peu trompé en décrivant ce que je désirais faire.

    En fait il y a une donnée qui arrive en permanence sur le RX de mon port COM,
    cette donnée je dois l'afficher, mais lorsque le DCD change d'état je dois saisir la donnée arrivant sur le RX (en quelque sorte la sauver).

    La j'avoue je suis dans le brouillard depuis que j'ai ces nouvelles informations.

    Quelqu'un pourrait il m'expliquer comment puis-je faire cela en utilisant cette classe CCom.

    Merci d'avance

    Kemanke
    salut,
    cette phrase n'est pas claire pour moi ...

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    227
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 227
    Par défaut
    Salut farscape.

    En fait mon materiel X envoi en permanence une données sur le RX du port COM. Cette donnée envoyée en permanence je l'affiche dés que je la recoit.

    Dés que le DCD change d'état, la donnée qui est envoyée en permanence je dois la sauver pour pouvoir l'utiliser par la suite. Sachant que la donnée est toujours envoyée en permanence sur le RX même après le changement d'état du DCD.

    J'éspère avoir été plus précis.

    Merci

  4. #4
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Par défaut
    hé bien ou est le problème ?
    il suffit de disposer d'une variable de type booleen positionnée a vrai quand le dcd change pour dire si cette variable est a true je sauvegarde ce que je reçois dans un fichier.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    227
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 227
    Par défaut
    Le problème est que je ne sais pas comment je vais détecter que le DCD change d'état . je m'explique:

    dans mon Init je met:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
            // reglages Port Serie.
            m_Com.PortOpen(6,4800,'E',7,1);
     
    	//Sur reception d'un charactère sur le port COM
    	m_Com.SetCommMask(EV_RXCHAR);
     
            //Ou peut être 
            m_Com.SetCommMask(EV_RLSD);	
     
    	// lance le thread de communication.
    	m_Com.StartThread(this);
    	m_Com.SetTimeouts(10,10);
    et dés que je vais recevoir un charactère, je vais me retrouver dans la fonction:

    OnReceiveCom(WPARAM ch, LPARAM port)

    J'èspère que nous sommes d'accord??!!

    Alors comment je peux voir si le DCD change d'état, il y'a quelque chose que j'ai vraiment pas compris...

    Peux tu m'éclairer STP?

    Merci encore de ton aide.

  6. #6
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Par défaut
    il faut lire un minimum la doc ..
    SetCommask est une api win32 .
    les évènements a traiter doivent être spécifiés en 1 seule fois...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    m_Com.SetCommMask(EV_RXCHAR | EV_RLSD);
    après tu recevras le type de notification dans la fonction de réception appelée par le thread .

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    227
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 227
    Par défaut
    J'avais bien compris cela j'ai oublié de mettre en commentaire le SetCommMask(EV_RLSD);

    Mon problème est justement de déterminer cette notification. Comment savoir si c'est un charactère ou le DCD qui a changé d'état dans la fonction OnReceiveCom(WPARAM ch, LPARAM port);

    Merci et désolé de ne pas être assez claire.

  8. #8
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Par défaut
    regarde le code de la faq !
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    if ((dwMaskEvent & EV_CTS) ||  // evenements divers.
                    (dwMaskEvent & EV_RXFLAG) ||
                    (dwMaskEvent & EV_BREAK) ||
                    (dwMaskEvent & EV_ERR)
                    || (dwMaskEvent & EV_RING))
                {
                    pCom->m_pParent->SendMessage(WM_CCOMEVENT,(WPARAM)pCom,dwMaskEvent);
     
                }
    le type d'évènement reçu est placé dans lparam.
    pour la fonction associée à l'évènement privé WM_CCOMEVENT

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    227
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 227
    Par défaut
    Ok Merci de ton aide.

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

Discussions similaires

  1. [WD14] Gestion erreur sur class
    Par mail.spam dans le forum WinDev
    Réponses: 4
    Dernier message: 27/04/2010, 10h30
  2. Pb avec classe CCOM (Gestion de liaison série)
    Par pdaniel dans le forum MFC
    Réponses: 7
    Dernier message: 08/03/2007, 10h09
  3. [C#] Evenement sur classe virtual
    Par papouAlain dans le forum Windows Forms
    Réponses: 26
    Dernier message: 11/01/2005, 11h45
  4. [VB.NET] Instanciation objet (sur class perso.)
    Par DaxTaz dans le forum ASP.NET
    Réponses: 4
    Dernier message: 03/05/2004, 11h07
  5. Gestion des permissions des fichiers sur NTFS
    Par gnu_thomas dans le forum MFC
    Réponses: 3
    Dernier message: 22/01/2004, 08h22

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