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# Discussion :

[ PORT COM ] Un périphérique attaché au système ne fonctionne pas correctement


Sujet :

C#

  1. #1
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Novembre 2013
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2013
    Messages : 31
    Points : 24
    Points
    24
    Par défaut [ PORT COM ] Un périphérique attaché au système ne fonctionne pas correctement
    Bonjour à tous,

    Je re-développe en ce moment une application en c# .net permettant d'envoyer des SMS via un modem USB sur port COM, mais je n'arrive pas à dialoguer en .net avec le modem lorsque je veux ouvrir la connexion, une exception : Exception:Levée*: "Un périphérique attaché au système ne fonctionne pas correctement." (System.IO.IOException)
    Une System.IO.IOException a été levée*: "Un périphérique attaché au système ne fonctionne pas correctement.
    "
    Heure*: 02/07/2014 18:26:20
    Thread*:<Aucun nom>[7100]
    Sur un autre port COM avec un autre modem (modem GSM de mon portable) pas de problème...

    L'application dévellopé en JAVA fonctionne depuis deux ans à merveille, j'arrive à dialoguer avec le modem via hyperterminal ou autre puty, bien évidament j'ai demandé a mon fournisseur si il y avait un autre DRIVER ou un problème connu dans ce genre, réponse --> si sa marche avec Hyper terminal c'est que tout est ok....

    Si quelqu'un peux m'éclairer pourquoi uniquement en .net je n'y arrive pas

    Voila le code que j'ai écris pour tester:
    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
    27
    28
    29
    30
    31
    private void button1_Click(object sender, EventArgs e)
            {
                string number = txt_numTel.Text;
                string message = txt_message.Text;
     
                SerialPort _serialPort = new SerialPort("COM4", 9600, Parity.None, 8, StopBits.One);
                Thread.Sleep(1000);
                try
                {
                    _serialPort.Open();
                    if (_serialPort.IsOpen)
                    {
                        MessageBox.Show("Communication avec le modem effective",
            "MODEM GSM TEST ...", MessageBoxButtons.OK);
                    }
                }
                catch (Exception err)
                {
                    MessageBox.Show(err.Message);
                }           
     
                Thread.Sleep(1000);
                _serialPort.Write("AT+CMGF=1\r");
                Thread.Sleep(1000);
                _serialPort.Write("AT+CMGS=\"" + number + "\"\r\n");
                Thread.Sleep(1000);
                _serialPort.Write(message + "\x1A");
                Thread.Sleep(1000);
                labelStatus.Text = "Status: Message sent";
                _serialPort.Close();
            }
    Merci d'avance

    J ai vu que le driver été en 32 bits je développe sur une machine 64 bits est ce que sa peut avoir un lien ?? J ai vraiment besoin d un coup de main

  2. #2
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Novembre 2013
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2013
    Messages : 31
    Points : 24
    Points
    24
    Par défaut
    Personnes n'as jamais rencontrés ce problème ?? oO

  3. #3
    Membre expert
    Avatar de Pragmateek
    Homme Profil pro
    Formateur expert .Net/C#
    Inscrit en
    Mars 2006
    Messages
    2 635
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Formateur expert .Net/C#
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 635
    Points : 3 958
    Points
    3 958
    Par défaut
    Citation Envoyé par Phixx Voir le message
    J ai vu que le driver été en 32 bits je développe sur une machine 64 bits est ce que sa peut avoir un lien ?? J ai vraiment besoin d un coup de main
    Ça peut en effet avoir un lien : si tu es sur une machine 64-bit et que tu compiles en AnyCPU tu utiliseras le CLR 64-bit qui ne peut interagir avec des composants 32-bit.
    Pour en être sûr compile en x86 (32-bit) pour forcer l'utilisation du CLR 32-bit.

  4. #4
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Novembre 2013
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2013
    Messages : 31
    Points : 24
    Points
    24
    Par défaut
    Merci de ta réponse j'ai essayé ce que tu m'as dit voir la config ci-dessous, j'ai toujours le même problème sincèrement c'est vraiment pénible il m'avait fallu à l'époque 10 min pour envoyer un texto en java la sa fait 2 jours en c#
    et j'ai tout essayé je ne sais même pas quoi dire au fournisseur car avec un utilitaire classique pas de PB je peux passer mes commande AT :s
    Nom : paramSMS.PNG
Affichages : 2177
Taille : 28,0 Ko

  5. #5
    Membre expert
    Avatar de Pragmateek
    Homme Profil pro
    Formateur expert .Net/C#
    Inscrit en
    Mars 2006
    Messages
    2 635
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Formateur expert .Net/C#
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 635
    Points : 3 958
    Points
    3 958
    Par défaut
    Dans ce cas quand tu debug n'as-tu pas plus d'informations au niveau de l'InnerException de ton IOException ?
    Les exceptions de haut niveau ont souvent peu d'intérêt, la vérité est ailleurs.

    Sinon si tu as un composant fonctionnel en Java le quick-and-dirty fix serait de l'invoquer depuis .Net, e.g. simplement via lancement d'un processus (classe Process).
    C'est moche mais pragmatique en attendant de trouver une vraie solution... :/

  6. #6
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Novembre 2013
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2013
    Messages : 31
    Points : 24
    Points
    24
    Par défaut
    'TheraSMS.vshost.exe' (CLR v4.0.30319: TheraSMS.vshost.exe)*: Chargé 'C:\Users\j.mondout\documents\visual studio 2013\Projects\TheraSMS\TheraSMS\bin\Debug\TheraSMS.exe'. Les symboles ont été chargés.
    'TheraSMS.vshost.exe' (CLR v4.0.30319: TheraSMS.vshost.exe)*: Chargé 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\Accessibility\v4.0_4.0.0.0__b03f5f7f11d50a3a\Accessibility.dll'. Impossible de trouver ou d'ouvrir le fichier PDB.
    'TheraSMS.vshost.exe' (CLR v4.0.30319: TheraSMS.vshost.exe)*: Chargé 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Windows.Forms.resources\v4.0_4.0.0.0_fr_b77a5c561934e089\System.Windows.Forms.resources.dll'. Le module a été généré sans symboles.
    'TheraSMS.vshost.exe' (CLR v4.0.30319: TheraSMS.vshost.exe)*: Chargé 'C:\Windows\Microsoft.Net\assembly\GAC_32\System.Transactions\v4.0_4.0.0.0__b77a5c561934e089\System.Transactions.dll'. Chargement des symboles ignoré. Le module est optimisé et l'option du débogueur 'Uniquement mon code' est activée.
    'TheraSMS.vshost.exe' (CLR v4.0.30319: TheraSMS.vshost.exe)*: Chargé 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Configuration\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Configuration.dll'. Chargement des symboles ignoré. Le module est optimisé et l'option du débogueur 'Uniquement mon code' est activée.
    'TheraSMS.vshost.exe' (CLR v4.0.30319: TheraSMS.vshost.exe)*: Chargé 'C:\Windows\Microsoft.Net\assembly\GAC_32\System.EnterpriseServices\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.EnterpriseServices.dll'. Chargement des symboles ignoré. Le module est optimisé et l'option du débogueur 'Uniquement mon code' est activée.
    'TheraSMS.vshost.exe' (CLR v4.0.30319: TheraSMS.vshost.exe)*: Chargé 'C:\Windows\Microsoft.Net\assembly\GAC_32\System.EnterpriseServices\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.EnterpriseServices.Wrapper.dll'. Chargement des symboles ignoré. Le module est optimisé et l'option du débogueur 'Uniquement mon code' est activée.
    'TheraSMS.vshost.exe' (CLR v4.0.30319: TheraSMS.vshost.exe)*: Chargé 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Numerics\v4.0_4.0.0.0__b77a5c561934e089\System.Numerics.dll'. Chargement des symboles ignoré. Le module est optimisé et l'option du débogueur 'Uniquement mon code' est activée.
    Une exception de première chance de type 'System.IO.IOException' s'est produite dans System.dll --> avec une version 4.0 du .net Framwork

    En activant plus de debug je tombe sur sa si sa te parle ...
    'TheraSMS.exe' (Win32)*: Chargé 'C:\Windows\SysWOW64\sxs.dll'. Impossible de trouver ou d'ouvrir le fichier PDB.
    Le thread 0x1244 s'est arrêté avec le code 0 (0x0).
    Une exception de première chance de type 'System.IO.IOException' s'est produite dans System.dll
    Le thread 0x1198 s'est arrêté avec le code 0 (0x0).

  7. #7
    Membre expert
    Avatar de Pragmateek
    Homme Profil pro
    Formateur expert .Net/C#
    Inscrit en
    Mars 2006
    Messages
    2 635
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Formateur expert .Net/C#
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 635
    Points : 3 958
    Points
    3 958
    Par défaut
    Quand tu catches l'exception en débuggant tu peux l'explorer pour voir l'InnerException et aussi l'InnerException de l'InnerException etc... pour arriver à la source de l'erreur.

    Tu auras peu d'infos dans l'output.

  8. #8
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Novembre 2013
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2013
    Messages : 31
    Points : 24
    Points
    24
    Par défaut
    Le problème été du au port USB, j'ai acheté un convertisseur USB SERIE et tout marche bref j'aurai pas vraiment l'explication mais j'ai pu contourner le problème.

    Merci a toi pour ton temps.

    Cdt.

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 08/11/2013, 18h16
  2. [Langage C] Détection périphérique sur port COM
    Par ncurses dans le forum Embarqué
    Réponses: 5
    Dernier message: 19/12/2011, 14h29
  3. Réponses: 13
    Dernier message: 31/08/2005, 15h03
  4. [javaComm]Communication port COM
    Par gui4593 dans le forum Entrée/Sortie
    Réponses: 11
    Dernier message: 04/06/2004, 13h35
  5. port com
    Par jeremi dans le forum C
    Réponses: 12
    Dernier message: 16/09/2002, 12h37

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