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 :

Problème envoie de données sur le port Serie


Sujet :

C#

  1. #1
    Membre à l'essai
    Inscrit en
    Octobre 2006
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 19
    Points : 15
    Points
    15
    Par défaut Problème envoie de données sur le port Serie
    Bonjour,

    J'utilise la classe SerialPort pour envoyer et recevoir des données sur le port série COM1.
    J'envoie des données sur le port pour le tester, malheureusement il ne lit rien !
    Pourquoi ? Je ne comprend pas pourquoi aucune données n'ont été écrites sur le port série ...

    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
    32
    33
    34
     
     public SerialPort puPortSerie = new SerialPort();
     public LiaisonSerie()
            {
                puPortSerie.BaudRate = 19200;
                puPortSerie.PortName = "COM1";
                puPortSerie.DataBits = 8;
                puPortSerie.StopBits = StopBits.One;
                puPortSerie.ReadTimeout = 500;
                puPortSerie.WriteTimeout = 500;
                puPortSerie.Parity = Parity.None;
            }
    public void ecrireLiaisonSerie()
            {
     
                int count = 2;
                byte[] buffer = new byte[count];
     
                // flux pour test 
                buffer[0] = 0xA6;
                buffer[1] = 0xB5;
     
                try {
                    //Si Port fermé -> Ouverture du Port 
                    if (!puPortSerie.IsOpen)
                    {
                        puPortSerie.Open();
                    }
                    //ecriture sur le port
                    puPortSerie.Write(buffer, 0, count);
     
     
                    //pour test
                    Console.WriteLine("ecrireLiaisonSerie - Nb donnees envoyées sur le port: " + puPortSerie.BytesToWrite);

  2. #2
    Expert confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2006
    Messages
    3 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 580
    Points : 5 195
    Points
    5 195
    Par défaut
    salut

    LE hic avec le Port série, c'est que si tu n'as personne de connecter au bout,
    ca va pas bien fonctionner

    Donc, si tu veux que les "octets" soient émis, il te faut un recepteur à l'autre
    bout du cable Série

    Voilou

    The Monz, Toulouse
    The Monz, Toulouse
    Expertise dans la logistique et le développement pour
    plateforme .Net (Windows, Windows CE, Android)

  3. #3
    Membre régulier Avatar de maitredede
    Homme Profil pro
    Pisseur de code
    Inscrit en
    Mai 2006
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Pisseur de code

    Informations forums :
    Inscription : Mai 2006
    Messages : 59
    Points : 106
    Points
    106
    Par défaut
    Notre cher ami TheMonz n'a pas tout à fait tort. Les données sont émises sur le port, mais il est normal que tu ne recoive rien en retour si tu n'a personne avec qui communiquer. C'est un peu comme la poste. T'envoie une lettre, mais tu ne sais pas si elle est bien arrivée.

    Pour lire le port, regarde du coté de ReadByte(), BytesToRead, DataReceived...

    Pour vérifier que ça marche, tu a plusieurs solutions :
    - Tu communique avec un appareil derrière, regarde si il réagit aux données que tu lui transmet
    - Tu a plusieurs ports série sur ta machine, ou une deuxième machine : relie les avec un cable null-modem, et lance une application type HyperTerminal ou Putty pour lire/écrire sur ton port série.
    - Tu n'a qu'un port série : tu ne peux pas tester.

    Si tu te sens l'âme d'un bricoleur, cherche sur le net la signification des broches du port, et branche quelques fils pour te faire une boucle, mais je dégage toute responsabilité.

  4. #4
    Membre à l'essai
    Inscrit en
    Octobre 2006
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 19
    Points : 15
    Points
    15
    Par défaut
    Quand je fais mes tests, J'ai un élément branché sur le port COM, il permet en théorie de faire un rebouclage

  5. #5
    Expert confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2006
    Messages
    3 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 580
    Points : 5 195
    Points
    5 195
    Par défaut
    salut

    Pas d'idée alors

    Peut-etre qu'il y a un conflit au niveau de ton outil utilisé

    Un truc à faire, tu envoies depuis hyperterminal des données sur le COM de ton choix et tu vois si ton programme recoit quelque chose ? Si il ne recoit rien
    peut-etre faut-il investiguer du coté de la boite externe qui te fait ce bouclage

    The Monz, Toulouse
    The Monz, Toulouse
    Expertise dans la logistique et le développement pour
    plateforme .Net (Windows, Windows CE, Android)

  6. #6
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Points : 13 314
    Points
    13 314
    Par défaut
    Déja essaye de tester ton bouchon de bouclage avec hyperterminal en supprimant l'écho local. Si ton bouchon fonctionne, tu dois avoir un echo local (ou sans supprimer l'echo local, tu dois avoir deux echos )

    Je ne réponds pas aux questions techniques par MP ! Le forum est là pour ça...


    Une réponse vous a aidé ? utiliser le bouton

    "L’ennui dans ce monde, c’est que les idiots sont sûrs d’eux et les gens sensés pleins de doutes". B. Russel

  7. #7
    Membre à l'essai
    Inscrit en
    Octobre 2006
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 19
    Points : 15
    Points
    15
    Par défaut [Resolu]
    Le problème vient pas de mon programme !!!
    Je travaille sur une Image vmWare... malheureusement celle ci ne reconnait pas mon port.... ( bug de vMware )

    Merci pour votre aide !

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

Discussions similaires

  1. Réponses: 11
    Dernier message: 06/04/2015, 12h04
  2. [VBA Excel]Envoie de données sur port serie
    Par Farbin dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 03/08/2006, 08h05
  3. envoi de données sur un même port
    Par manaboko dans le forum Développement
    Réponses: 7
    Dernier message: 05/10/2005, 15h53

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