Crc16
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
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
-
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");