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 :

2 Carac dans 1 entier


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre chevronné Avatar de nemo69500
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    639
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 639
    Par défaut 2 Carac dans 1 entier
    Salut a tous

    J aimerais savoir comment mettre deux caracteres dans un entier? Le premier char serais les 8 MSB de l'entier et le deuxieme char serai les 8 LSB

    Pouvez m aidez


    Merci d'avance pour vos reponses

    PS: je sais qu il y a qu un seul MSB et LSB mais c est pour tre compris

  2. #2
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut Re: 2 Carac dans 1 entier
    Citation Envoyé par nemo69500
    J aimerais savoir comment mettre deux caracteres dans un entier? Le premier char serais les 8 MSB de l'entier et le deuxieme char serai les 8 LSB
    Tu as mis le doigt sur le problème. Cette pratique n'est pas portable. Certains compilateurs autorisent ceci :
    voire
    mais je le déconseille formellement.
    • Non portable
    • Confusion avec les chaines...

  3. #3
    Membre chevronné Avatar de nemo69500
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    639
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 639
    Par défaut
    Alors conseille moi stp

    Je recois une trame sur mon pc sur le port com
    Cette trame est de 7 caractere + 2 caracteres de crc en fin de trame , comment je fais pour tester le crc?

  4. #4
    Expert confirmé

    Avatar de fearyourself
    Homme Profil pro
    Ingénieur Informaticien Senior
    Inscrit en
    Décembre 2005
    Messages
    5 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur Informaticien Senior
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2005
    Messages : 5 121
    Par défaut
    Citation Envoyé par nemo69500
    Alors conseille moi stp

    Je recois une trame sur mon pc sur le port com
    Cette trame est de 7 caractere + 2 caracteres de crc en fin de trame , comment je fais pour tester le crc?
    Tu testes caractère par caractère:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    if((trame[7]=='A')&&(trame[8]=='B'))
       /*Alors c'est bon*/
    Jc

  5. #5
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par nemo69500
    Je recois une trame sur mon pc sur le port com
    Cette trame est de 7 caractere + 2 caracteres de crc en fin de trame , comment je fais pour tester le crc?
    Tu fais le calcul à la volée (avec chaque caratère reçu) et tu le compares avec la valeur contenue dans les 2 derniers caractères. Attention, si c'est un CRC16 cette valeur est sur 16 bits.

    En principe, sur une liaison série (assimilable à un 'réseau'), le codage est MSB en tête. Il faut donc stocker les caractères dans un unsigned int comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
       unsigned int crc16 = 0;
     
       /* ... */
     
       crc16 |= msb << 8;
       crc16 |= lsb << 0;

  6. #6
    Membre chevronné Avatar de nemo69500
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    639
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 639
    Par défaut
    Merci

Discussions similaires

  1. Réponses: 17
    Dernier message: 26/06/2008, 13h05
  2. Réponses: 10
    Dernier message: 20/07/2007, 14h09
  3. Calcul des unités dans un entier 32bits
    Par hack-77 dans le forum Algorithmes et structures de données
    Réponses: 5
    Dernier message: 04/08/2006, 14h18
  4. [VB]Mettre un variable.size dans un entier...
    Par Empty_body dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 06/02/2006, 10h13
  5. [JSP] carac & dans URL et XML
    Par c.tranquille dans le forum Servlets/JSP
    Réponses: 4
    Dernier message: 24/07/2003, 15h00

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