Je dévellope un prog. sous VB. Est j'aimerai avoir des renseignement sur le calcul de CRC16 avec le polynome X16+X15+X12+1. Je trouve kelke prog. mais il utilise un polynome de 4 octs. Pour mois le polynome vaut bien 0x19001?
Je dévellope un prog. sous VB. Est j'aimerai avoir des renseignement sur le calcul de CRC16 avec le polynome X16+X15+X12+1. Je trouve kelke prog. mais il utilise un polynome de 4 octs. Pour mois le polynome vaut bien 0x19001?
Tjrs personne pour m'aider. merci tout de même ...
Bonne journée à ts
Bonjour,
Quelqu'un pourrait m'aider pour développer un soft pour calculer un CRC16 avec le polynome X16+X15+X12+1. Je vous remerci d'avance.
salut
je suis tombé par hasard sur ton sujet
je fais un peu ce truc en C en TP
te garantit pas le résultat, je te donne cela tel que j'ai tel quel, à toi de voir .
j'espère que ça te sera utile :
(y a un xor ou un décallage à faire 8 fois si je me souviens bien du tp, tu dois pouvoir trouver sur google l'algo)
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
24
25
26
27
28
29
30
31
32
33
34
35
36
37 short crc16(char * message, int taille_message){ /*Initialisation de crc à FFFF*/ short crc = 0xFFFF; char octet = 0; short int bit_sortie = 0; /*i permet de faire défiler les octets du message*/ int i=0; int j=0; do{ /*On prend un octet du message*/ octet = message[i]; /*On effectue le ou exclusif entre l'octet et le crc*/ crc = crc ^ octet; for(j=0;j<8;j++){ /*On récupère le bit de sortie*/ bit_sortie = crc & 0x0001; /*Décalage à droite d'un bit du crc*/ crc = crc >> 1; /*On place un 0 sur le bit de poids fort*/ crc = crc & 0x7FFF; if(bit_sortie == 1){ crc = crc ^ 0xA001; } } i++; }while(i<taille_message); return(crc); }
bye
Merci de ton aide. J'ai un peu laisser tomber pour l'instant le calcul du CRC mais bon, je vais quand même devoir le faire.
Bye
Partager