Bonjour ou bonsoir.
Je suis actuellement des cours par correspondance d'électronique, et j'ai un problème avec un exercice. Celui ci me demande de calculer deux checksum pour vérifier des trames d'un logiciel d'application. Le système est un RS232 déterminant la hauteur de la neige dans certaines régions.
Les deux chaines que j'ai sont:
02-15-2006;13:34:17;<stx>Di=06BC15<e tx>
Et
08-15-2006;16:34:17;<stx>rf=06BC;rv= 28D7;kk=0B9228<etx>
Donc prenant la première ligne, je vois que le checksum doit être égal à quinze. Dans le livret, on me dit que le calcul se fait via un "xor" de chaque caractère en ASCII.
Je prend donc tout ceci, et j'obtiens:
0x02 xor 0x44 xor 0x69 xor 0x3D xor 0x30 xor 0x36 xor 0x42 xor 0x43
Je fais mon calcul via les sommes directes (on m'a dit que cela fonctionnait ainsi) et j'obitens 0xFF + 0xD8
Je ne comprend donc pas comment obtenir le nombre "15" attendu théoriquement. Je regarde mon auto-correction espérant trouver un semblant de réponse, mais je n'ai eu droit qu'a un
0x02 xor 0x44 xor 0x69 xor 0x3D xor 0x30 xor 0x36 xor 0x42 xor 0x43
checksum= 0x15
Par conséquent, je ne sais pas si cela est du à une erreur dans mon calcul, dans la méthode ou autre, mais je sais avoir faux.
Donc si quelqu'un pouvait m'aguiller, ce serait fort gentil de sa part.
Merci d'avance,
Cordialement, Shadoow59
-----