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++Builder Discussion :

calcul du CRC sur 2 octets [Non suivi]


Sujet :

C++Builder

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 115
    Points : 48
    Points
    48
    Par défaut calcul du CRC sur 2 octets
    Bonjour,
    Je dois calculer le CRC d'une trame de X octets, et je souhaite calculer le CRC sur 2 octets, comment feriez vous?
    Merci

  2. #2
    Membre expérimenté
    Avatar de bakaneko
    Profil pro
    Inscrit en
    Février 2004
    Messages
    1 268
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 1 268
    Points : 1 427
    Points
    1 427
    Par défaut
    L'article de DVSoft ne peut pas t'aider???

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 115
    Points : 48
    Points
    48
    Par défaut
    Bonjour,
    Merci pour ta reponse.
    Non ca ne m'aide pas car je dois calculer le CRC en faisant un XOR et pas une somme simple....
    Et en faisant un XOR pour moi 8 bits doivent suffirent car on ne déborde pas : 255 XOR 1 = 254 ....

  4. #4
    Rédacteur
    Avatar de dvsoft
    Homme Profil pro
    Architecte technique
    Inscrit en
    Août 2002
    Messages
    176
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2002
    Messages : 176
    Points : 622
    Points
    622
    Par défaut
    bonjour

    Citation Envoyé par jeannot27
    Bonjour,
    Merci pour ta reponse.
    Non ca ne m'aide pas car je dois calculer le CRC en faisant un XOR et pas une somme simple....
    Et en faisant un XOR pour moi 8 bits doivent suffirent car on ne déborde pas : 255 XOR 1 = 254 ....
    Le calcul de CRC par somme simple est donné en exemple, si tu lit l'article, tu verras les sources pour creer un CRC avec un registre de division sur 16bit

    Bon courage
    Alain

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2005
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 13
    Points : 8
    Points
    8
    Par défaut
    Salut,
    Voici ma version, elle fonctionne sur une trame avec le protocole XModem.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
     
    unsigned CALCUL_CRC(const unsigned char *Tab)
    {
            unsigned short int CRC=0;
            unsigned short int OLD_CRC;
            unsigned char OLD_MOT, Temp;
            int POLY=0x1021;
            int I,J;
            for (I=0;I<128;I++)
            {
                    Temp=*(Tab+I);
                    for (J=0;J<8;J++)
                    {
                    OLD_MOT=Temp;
                    Temp<<=1;
                    OLD_CRC=CRC;
                    CRC <<=1;
                    if (((OLD_CRC>>8)& 0x80)^(OLD_MOT& 0x80))
                            CRC ^= POLY;
                    }
            }
            return CRC;
    }
    Tchuss!

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 26
    Points : 29
    Points
    29
    Par défaut
    Bonjour,
    il faudrait que tu précises l'algorithme de calcul de ton CRC.
    Tu trouveras ceci dans la doc du protocole de communication que tu utilises.

  7. #7
    Membre actif Avatar de cfdev
    Homme Profil pro
    Passionné
    Inscrit en
    Octobre 2004
    Messages
    220
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Passionné

    Informations forums :
    Inscription : Octobre 2004
    Messages : 220
    Points : 210
    Points
    210
    Par défaut
    lut,
    Un petit soft que j'ai dev pour mes applications électroniques ca pourrais t'aider...

    http://perso.wanadoo.fr/virtua.area/info/CRC16.htm

    ++

Discussions similaires

  1. Réponses: 0
    Dernier message: 09/11/2010, 17h40
  2. [SRC] Calcul de CRC
    Par cfdev dans le forum C++Builder
    Réponses: 3
    Dernier message: 07/03/2005, 13h08
  3. [VB.NET] Conversion int-> bytes sur 4 octets
    Par SteelBox dans le forum Windows Forms
    Réponses: 11
    Dernier message: 09/01/2005, 22h08
  4. Existe-t'il un type tenant sur 2 octets ?
    Par benj63 dans le forum C++Builder
    Réponses: 13
    Dernier message: 20/06/2002, 17h03

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