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

Visual C++ Discussion :

erreur fichier ports COM


Sujet :

Visual C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 60
    Par défaut erreur fichier ports COM
    Bonjour,

    je "discute" avec un port COM sur mon ordinateur portable.
    Pour cela, je crée un handle comme suit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    	// get a handle on the communications port (usually COM1)
    	m_hComm = CreateFile( pPort,
    				GENERIC_READ | GENERIC_WRITE,
    				0,    // comm devices must be opened w/exclusive-access 
    				NULL, // no security attributes 
    				OPEN_EXISTING, // comm devices must use OPEN_EXISTING 
    				0, //FILE_ATTRIBUTE_NORMAL ||  FILE_FLAG_OVERLAPPED,    // nonoverlapped I/O 
    				NULL);  // hTemplate must be NULL for comm devices
    puis je tente d'y écrire 4 octets (çà se passe bien) et immédiatement après d'en lire 1 ... et là c'est l'échec :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    	fRes = WriteFile(m_hComm, lpBuf, dwToWrite, &dwWritten, &osWrite);
     
    	fRes = ReadFile(m_hComm, lpBuf, dwToRead, &dwRead, &osRead);
    dwToWrite vaut 4 et dwWritten vaut aussi 4 après l'appel de fonction WriteFile.
    dwToRead vaut 1 et, après l'appel (très long) à ReadFile, dwRead vaut 0 (mais fRes vaut 1).

    Là, je ne comprends pas

    Si quelqu'un à une 'tite idée ...

  2. #2
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 393
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 393
    Par défaut
    ça ressemble à un timeout, et pourquoi passes-tu l'adresse d'une structure OVERLAPPED alors que tu es en non-overlapped IO ?

    PS: Il y a un poste à l'autre bout pour envoyer des données, au moins ?
    Un PC ne peut pas communiquer avec lui-même par un port COM (sauf peut-être s'il en a deux)...
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 60
    Par défaut
    Ca ressemble effectivement à un timeout.

    Il n'y a pas de PC à l'autre bout mais un périphérique série.
    On dirait qu'il ne répond pas.
    C'est étrange car la meme configuration fonctionne très bien sur mon autre ordinateur.

    En fait, j'utilise sur les 2 ordis un PL2303 de la société prolific qui permet de gérer un port COM via USB. C'est peut-etre çà qui marche bien sur un ordi et mal sur l'autre.
    Ce sont pourtant les memes systemes (XP) et les memes pilotes.
    Quelqu'un a t'il une expérience similaire ?

  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
    salut,
    dans la faq il y a un post sur la communication série:
    http://c.developpez.com/faq/vc/?page...WithSerialPort

Discussions similaires

  1. Lecture fichier port COM en java
    Par makia42 dans le forum Entrée/Sortie
    Réponses: 8
    Dernier message: 19/12/2013, 11h01
  2. [WD14] Erreur sur ouverture de Port COM
    Par miripesage dans le forum WinDev
    Réponses: 13
    Dernier message: 24/03/2011, 20h01
  3. [WD12E] données port com vers fichier txt
    Par ryaxx dans le forum WinDev
    Réponses: 18
    Dernier message: 10/03/2010, 11h15
  4. Fichier string, Port com et donnée
    Par elecpic dans le forum Débuter
    Réponses: 8
    Dernier message: 26/07/2009, 21h49
  5. Réponses: 1
    Dernier message: 19/12/2006, 11h18

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