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 :

intégrité des données en hexa quand on les envoie sur le port série


Sujet :

C++

  1. #1
    Membre du Club
    Inscrit en
    Octobre 2006
    Messages
    117
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 117
    Points : 46
    Points
    46
    Par défaut intégrité des données en hexa quand on les envoie sur le port série
    Bonjour à tous,

    Voilà mon problème, quand j’affiche des données (en hexa) extraites d’un tableau de char, j’ai ce résultat : par exemple pour buffer[0] = 0xff, l’affichage donne fffffff…(problème d'endianness apparemment)!!!
    Je sais qu’il faut déclarer le buffer de cette façon : unsigned char buffer[10] pour éviter ce genre d’affichage et pour avoir à l’écran un ff tout propre !!
    Sauf que je veux m’assurer que lorsque je déclare le buffer sans le unsigned (contrainte imposé par le writeFile() pour écrire des données sur le port série), et que j'envoie les données sur le port série, elles restent intégres et il n’ ya pas pleins de f qui viennent s’ajouter !!

    Merci bp pour tout éclaircissement !!!

  2. #2
    Membre éclairé

    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    717
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 717
    Points : 858
    Points
    858
    Par défaut
    Le plus simple est d'utiliser un buffer d'unsigned char (plus facile pour manipuler des octets) et de le convertir en char* au moment du writeFile() (la conversion unsigned char* vers char* est safe).

  3. #3
    Membre du Club
    Inscrit en
    Octobre 2006
    Messages
    117
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 117
    Points : 46
    Points
    46
    Par défaut
    Merci
    mais peux-tu m'indiquer stp comment faire cette conversion, surtout qu'il faudrait que je convertisse tout le buffer d'un coup et non pas les char un à un

    Merci bp

  4. #4
    Membre éclairé

    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    717
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 717
    Points : 858
    Points
    858
    Par défaut
    Il s'agit juste de convertir le pointeur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    unsigned char buffer[10];
    writeFile((char*)buffer, ...);

  5. #5
    Membre du Club
    Inscrit en
    Octobre 2006
    Messages
    117
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 117
    Points : 46
    Points
    46
    Par défaut
    MERCI BEAUCOUP BEAUCOUP , ça marche!!!!

    très très bonne journée!!!

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

Discussions similaires

  1. Récupérer des données d'une page pour les récupérer sur une autre
    Par didpoy dans le forum Général JavaScript
    Réponses: 11
    Dernier message: 17/06/2014, 16h58
  2. [OLAP]verifier l'intégrité des données
    Par crazy dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 13/07/2006, 12h30
  3. Réponses: 3
    Dernier message: 23/04/2006, 12h14
  4. [MySQL] recuperation des données d'un BD et les affichées ds une page html
    Par moonia dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 21/04/2006, 12h51
  5. [MySQL] Modification des données d'une base par les membres
    Par pod1978 dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 22/03/2006, 17h25

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