Crc16

jeremy9871 Messages postés 30 Statut Membre -  
jeremy9871 Messages postés 30 Statut Membre -
Bonjour,

je dois faire un crc16,

exemple je tape "02062329000D"

mais je n'arrive pas à séparer le premier octet.

j'ai trouvé des algo sur internet mais je ne comprends pas tous.

Si quelqu'un pouvais m'aider, merci
Configuration: Windows 7
Firefox 3.5.5

1 réponse

  1. jeremy9871 Messages postés 30 Statut Membre 1
     
    j'ai fais ce programme mais il ne fonctionne pas, je me suis aidé de l'algo https://sitelec.org/cours/abati/flash/crc16.swf

    void main()
    {
    char chaine[7];

    chaine[0]='02';
    chaine[1]='06';
    chaine[2]='23';
    chaine[3]='29';
    chaine[4]='00';
    chaine[5]='0D';

    unsigned int crc = 0xFFFF;
    unsigned int poly=0xA001;
    int nbr_octets_traité=0;
    unsigned char parite=0;
    int cpt=0;

    for (int i=0;i<6;i++)
    {
    crc=crc^chaine[i];
    }

    while (nbr_octets_traité!=8)
    {
    parite=crc;

    if ( parite%2 == true ){ crc = (crc/2) ^ poly;}//si impaire
    else { crc = crc/2 ;}
    nbr_octets_traité++;

    }

    printf("%x\n",crc);//je dois trouver 92 70 et je trouve a3 3e

    system("pause");
    0