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

VB.NET Discussion :

Port série envoi chaine avec caractère supérieur à chr(127)


Sujet :

VB.NET

  1. #1
    Membre confirmé
    Homme Profil pro
    Responsable de projet fonctionnel
    Inscrit en
    Mars 2005
    Messages
    82
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Responsable de projet fonctionnel

    Informations forums :
    Inscription : Mars 2005
    Messages : 82
    Par défaut Port série envoi chaine avec caractère supérieur à chr(127)
    Bonjour

    J'utilise visual studio 2008 (Visual Basic)

    Mon problème :

    Je dois transmettre sur ma liaison série une chaine de caratère ASCII.

    Cette chaine peut avoir des caracètres supérieurs à 127 (0xAA = Chr(170))

    Pour cela je paramètre ma liaison série comme ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
            SerialPort1.PortName = ComboBox1.Text
            SerialPort1.BaudRate = 9600
            SerialPort1.Parity = IO.Ports.Parity.None
            SerialPort1.DataBits = 8
            SerialPort1.Encoding = System.Text.Encoding.UTF8
            SerialPort1.Open()
            SerialPort1.Write(Chr(170) & Chr(170) & Chr(170) & Chr(0))
            SerialPort1.Close()
    Lorsque que mes caractères sont inférieurs à 127 pas de problème.

    lorsque que mon caractère est supérieur mon PC transmet (par rapport à mon exemple):

    envoi : Chr(170) & Chr(170) & Chr(170) & Chr(0)

    en récetion (Hexa): C2 AA C2 AA C2 AA 00

    Ma question : pourquoi je recois systématiquement C2 avant AA (qui est la valeur hexa de mon Chr(170)



    merci pour votre aide

    Arnaud

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    C'est parce que tu utilises l'encodage UTF-8. Les caractères supérieurs à 127 sont encodés sur 2, 3 ou 4 octets (voir Wikipedia). Si tu veux rester sur un seul octet, utilise plutôt l'encodage iso-8859-1 (Latin1). A priori c'est la valeur par défaut si tu ne le précises pas, mais tu peux aussi le préciser en mettant System.Text.Encoding.Default

  3. #3
    Membre confirmé
    Homme Profil pro
    Responsable de projet fonctionnel
    Inscrit en
    Mars 2005
    Messages
    82
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Responsable de projet fonctionnel

    Informations forums :
    Inscription : Mars 2005
    Messages : 82
    Par défaut Suite
    Salut TOMLEV

    J'ai fais l'essai, c'est parfait ca marche

    merci encore pour ton aide

    Arnaud

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 21/11/2008, 09h33
  2. Réponses: 12
    Dernier message: 08/07/2008, 16h53
  3. comparaison de chaine avec caractères spéciaux
    Par loulag07 dans le forum Langage
    Réponses: 1
    Dernier message: 22/11/2007, 10h04
  4. Réception sur le port série sous DOS avec Borland V3.0
    Par jackyjacky dans le forum Autres éditeurs
    Réponses: 24
    Dernier message: 19/03/2004, 23h18
  5. Chaines avec caractères accentués dans interbase
    Par Tsimplice dans le forum Bases de données
    Réponses: 4
    Dernier message: 08/03/2004, 17h12

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