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
Version imprimable
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
L'article de DVSoft ne peut pas t'aider???
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 ....
bonjour
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 16bitCitation:
Envoyé par jeannot27
Bon courage
Alain
Salut,
Voici ma version, elle fonctionne sur une trame avec le protocole XModem.
Tchuss!Code:
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; }
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.
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
++