Crc16
jeremy9871
Messages postés
30
Statut
Membre
-
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
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
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");
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");