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 de conversion byte en hexa


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  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 Problème de conversion byte en hexa
    Bonjour

    Actuellement sur un petit projet, je dois construire une trame pour communiquer en RS232.
    Mon problème est lorsque que mon byte à une valeur = 128, si ma valeur est < 128 ou > 128 pas de problème. c'est juste la valeur 128 qui me poste un problème (je recois 3F)

    Mon code :
    Code c# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    private void bp_EnvoiTrame_Click(object sender, EventArgs e)
            {
                Byte AdresseMode = 128; 
                Byte LongueurTrame = 6;
     
               recu = Convert.ToString(Convert.ToChar(AdresseMode)) + Convert.ToString(Convert.ToChar(LongueurTrame));
                serialPort1.Encoding = System.Text.Encoding.Default;
                serialPort1.BaudRate = 19200;
                serialPort1.PortName = "COM11";
                serialPort1.Open();
                serialPort1.WriteLine(recu) ;
                serialPort1.Close();
     
           }

    merci pour votre aide

  2. #2
    Membre émérite Avatar de ppphil
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    617
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2007
    Messages : 617
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     byte b = 128;
          MessageBox.Show(Convert.ToString(b,16));

  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
    Merci ppphil

    mais ce que je veux c'est envoyer le caractère ASCII de 128 en décimal ou 80 en hexa soit en VB chr(128)

  4. #4
    Membre émérite Avatar de ppphil
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    617
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2007
    Messages : 617
    Par défaut
    Rien compris...
    tu peux me dessiner ce que tu veux en sortie ?

  5. #5
    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
    ppphil

    Si je code cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Byte AdresseMode = 128; 
     
                recu = Convert.ToString(AdresseMode,16);
                serialPort1.Encoding = System.Text.Encoding.Default;
                serialPort1.BaudRate = 19200;
                serialPort1.PortName = "COM11";
                serialPort1.Open();
                serialPort1.Write(recu) ;
                serialPort1.Close();
    je recoi 2 caractères de ma liaison série : le caractère 8 (38 hex) et 30 (30 hex)

    ce que je veux recevoir c'est le caractère correspondant à la valeur 80 hexa

    merci

  6. #6
    Membre émérite Avatar de ppphil
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    617
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2007
    Messages : 617
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    string s = "38";
          byte b = Convert.ToByte(s, 16);
          MessageBox.Show(((char)b).ToString());

Discussions similaires

  1. Problème de conversion de char en byte
    Par Gouyon dans le forum Langage
    Réponses: 4
    Dernier message: 22/09/2012, 19h15
  2. Problème de conversion 2 bytes en Integer
    Par MustOne dans le forum Langage
    Réponses: 6
    Dernier message: 02/06/2009, 10h17
  3. [C#] Problème de conversion de byte[]
    Par LE NEINDRE dans le forum C#
    Réponses: 1
    Dernier message: 14/12/2006, 10h33
  4. Conversion String en Hexa ("1F") vers byte
    Par ducseb dans le forum Langage
    Réponses: 1
    Dernier message: 15/04/2006, 20h03
  5. Problème de conversion decimal vers Hexa
    Par Elbarto dans le forum C++
    Réponses: 1
    Dernier message: 06/02/2006, 19h37

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