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

Windows Forms Discussion :

[VB.net] Probleme de transmition port série


Sujet :

Windows Forms

  1. #1
    Candidat au Club
    Inscrit en
    Juillet 2006
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 3
    Points : 2
    Points
    2
    Par défaut [VB.net] Probleme de transmition port série
    Bonjour,

    J'ai un petit probleme de transmition sur le port série avec VB. J'ai donc une simple page, avec un bouton, et un controle SerialPort1.
    J'l'ai configuré en 2400 8.O.1 (2400bauds, 8 bits data, parité paire, 1 bit stop), conformément à mon périf.
    J'ai aussi un sniffer sur le port série (pour voir).
    J'envoi la trame "08 A5 AD" en cliquant sur le bouton, et doit recevoir une réponse.
    j'ai ca dans le prog:
    SerialPort1.Write("" + Chr(8) + Chr(165) + Chr(173))
    et le sniffer voi: "08 3F 3F", et, le périf ne répond rien (puisqu'il ne recoi pas la bonne commande).

    dans les propriété, ou meme en reconfigurant le nombre de databit a 8 dans le code, j'ai cette réponse. En fait, tous caractere envoyé au dela de 7F (80, 90, 165, 173...) est remplacé par 3F.

    Si quelqu'un a une idée du pourquoi du comment...

  2. #2
    Membre averti

    Profil pro
    Inscrit en
    Avril 2005
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 95
    Points : 350
    Points
    350
    Par défaut
    Citation Envoyé par Poisson-Neko
    Bonjour,

    J'ai un petit probleme de transmition sur le port série avec VB. J'ai donc une simple page, avec un bouton, et un controle SerialPort1.
    J'l'ai configuré en 2400 8.O.1 (2400bauds, 8 bits data, parité paire, 1 bit stop), conformément à mon périf.
    Salut,

    tu devrais essayer 2400 8.E.1, car O veux dire Odd ce qui, traduit dans la langue de molière, veux dire impaire .

    Paire c'est Even et donc E.

    A+

  3. #3
    Candidat au Club
    Inscrit en
    Juillet 2006
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Heu, oué, c'est une erreur de ma part.
    Le périf est bien en parité impaire (et pas paire comme j'ai dit). C'est bien le O.

    Avec d'autres petits prog pour interroger le port série, j'y arrive. Qu'est-ce qui cloche dans le code? (de quoi avez vous besoin pour vérifier?)
    Perso, je seche encore.

  4. #4
    Membre averti

    Profil pro
    Inscrit en
    Avril 2005
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 95
    Points : 350
    Points
    350
    Par défaut
    Citation Envoyé par Poisson-Neko
    Bonjour,

    J'ai un petit probleme de transmition sur le port série avec VB.
    ...j'ai ca dans le prog:
    SerialPort1.Write("" + Chr(8) + Chr(165) + Chr(173))
    et le sniffer voi: "08 3F 3F", et, le périf ne répond rien (puisqu'il ne recoi pas la bonne commande).
    Si quelqu'un a une idée du pourquoi du comment...
    re-salut,

    Un petit conseil si tu veux écrire du binaire, il vaut mieux utiliser la surcharge suivante et le faire en binaire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
            Dim Req() As Byte = {&H8, &HA5, &HAD}
            serialport1.Write(Req, 0, Req.Length)
    Quand tu envoi une string au port série, il faut regarder comment elle est encodée ( classe ASCIIEncoding), car elle est en unicode UTF8/16/32 et donc tu as plusieurs octets par caractères.

    A+

  5. #5
    Candidat au Club
    Inscrit en
    Juillet 2006
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 3
    Points : 2
    Points
    2
    Par défaut :resolu:
    J'y crois pas !!!!! juste a cause d'un encodage a la noix !!!!!!!


    Merci beaucoup !!!! Enfin, j'avance !


  6. #6
    Nouveau Candidat au Club
    Inscrit en
    Mai 2008
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 1
    Points : 1
    Points
    1
    Par défaut urgent
    bonjour
    j'ai le meme probleme j'essai d'etablir une communication serie entre Pc et machine,avec un sniffer sur le port serie,mais quand j'envoie une trame au dela de ( 7E ),le sniffer affiche autre chose et la machine ne reponds pas puisqu'elle ne recois pas la bonne commande.et voila la configuration du port :

    'configuration du port RS232
    RS232.BaudRate = 19200 'vitesse du port
    RS232.Parity = IO.Ports.Parity.None 'pas de parité
    RS232.StopBits = IO.Ports.StopBits.One 'un bit d'arrêt par octet
    RS232.DataBits = 8 'nombre de bit par octet
    RS232.RtsEnable = False 'ligne Rts désactivé
    RS232.DtrEnable = False 'ligne Dtr désactivé

    aidez moi svp c'est pour mon projet de fin d'etudes, ma soutenance est dans 10 jours.svp
    meilleurs salutations







































    Citation Envoyé par Poisson-Neko Voir le message
    Bonjour,

    J'ai un petit probleme de transmition sur le port série avec VB. J'ai donc une simple page, avec un bouton, et un controle SerialPort1.
    J'l'ai configuré en 2400 8.O.1 (2400bauds, 8 bits data, parité paire, 1 bit stop), conformément à mon périf.
    J'ai aussi un sniffer sur le port série (pour voir).
    J'envoi la trame "08 A5 AD" en cliquant sur le bouton, et doit recevoir une réponse.
    j'ai ca dans le prog:
    SerialPort1.Write("" + Chr(8) + Chr(165) + Chr(173))
    et le sniffer voi: "08 3F 3F", et, le périf ne répond rien (puisqu'il ne recoi pas la bonne commande).

    dans les propriété, ou meme en reconfigurant le nombre de databit a 8 dans le code, j'ai cette réponse. En fait, tous caractere envoyé au dela de 7F (80, 90, 165, 173...) est remplacé par 3F.

    Si quelqu'un a une idée du pourquoi du comment...

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

Discussions similaires

  1. Réponses: 7
    Dernier message: 09/06/2006, 10h38
  2. probleme port série rs232
    Par bob75018 dans le forum Langage
    Réponses: 1
    Dernier message: 30/01/2006, 17h20
  3. [v2][VB.NET][Port-Série] Récupérer une trame ?
    Par burnedsoul dans le forum VB.NET
    Réponses: 4
    Dernier message: 30/11/2005, 16h46
  4. probleme de communication port série
    Par ben23 dans le forum MFC
    Réponses: 8
    Dernier message: 06/02/2004, 15h12

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