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#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    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
    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 averti
    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
    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 : 39
    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
    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 averti
    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
    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 : 2277
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 : 39
    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
    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 averti
    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
    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 : 39
    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
    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.

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 08/11/2013, 17h16
  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, 13h29
  3. Réponses: 13
    Dernier message: 31/08/2005, 14h03
  4. [javaComm]Communication port COM
    Par gui4593 dans le forum Entrée/Sortie
    Réponses: 11
    Dernier message: 04/06/2004, 12h35
  5. port com
    Par jeremi dans le forum C
    Réponses: 12
    Dernier message: 16/09/2002, 11h37

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