bonjour à tous !
j'ai besoin de calculer le crc d'un paquet que j'envoie par rs232 et j'ai trouvé le tutoriel ICI de developpez.net sur le sujet.
Sur le fond le tuto est clair et bien documenté, bref j'étais ravi de tomber là dessus, mais après lecture et implémentation je reste dubitatif sur ce qui est inscrit sur le site et dans l'exécutable de test fourni avec, par exemple :

- la valeur initiale du remainder programmée dans les sources et dans la case valeur initiale est de 0xFFFF (0b1111111111111111)
mais dans l'exécutable quand on clique sur calculer la ligne initialisation:Remainder =0b0111111110000000 correspond à 0x7F8 ???
or, on met bien la ligne "_CCITTCrc16.Part.Remainder = CRC_INIT_VALUE;" je ne vois pas ce qui pourrait faire que le FFFF se transforme en 7F8

- idem dans les dernières lignes le crc d'un texte est indiqué =0b0100110010000000
et la ligne suivant 0xEBC9 ... ce qui ne correspond pas du tout au nombre binaire de la ligne précédente (0x4C80)
au début j'ai bien pensé à une histoire de big endian/little endian mais 804C et EBC9 ne se ressemblent toujours pas XD.

- Enfin je ne vois pas pourquoi il faut faire les deux "OneByteCrc16(0x00);" qui sont indiqués pour le 1 et le X^16 à la fin du traitement ? est-ce pour une histoire du fait que le crc doit être calculé AVEC les 2octets de crc à 0 ? mais dans ce cas là à la vérification il faut que je tronque mon message et que je refasse encore les deux 0 pour comparer avec ma valeur de crc ... ?

merci à ceux qui passent par là et connaissent le sujet de m'éclairer un peu ^^