begin process at 2012 05 28 10:22:59
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Windows

 > 

Réseau & Internet

 > 

Calculer une checksum sur 8 bits


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Calculer une checksum sur 8 bits

lundi 12 décembre 2011 à 23:01:25 | Calculer une checksum sur 8 bits

JOE56570

Bonjour,
Je cherche la méthode (en C) pour calculer la checksum d'une trame de 6 octets, dont j'ai saisi le modèle à l'analyseur logique.
1er trame :0x01,0x06,0x7D,0x67,0x64,0x5B le dernier octet (5B) étant la checksum.
2iem trame :0x01,0x01,0x00,0xA6,0x00,0xB4.
2iem trame :0x01,0x06,0x00,0x26,0x1A,0x53.
Il s'agit d'un système de thermostat de radiateur avec commande par radio (868Mhz) de marque ELV (Allemand). En cherchant des renseignements sur le produit, j'ai trouvé sur le Web, une phrase qui explique que la checksum est la somme des 5 premiers octets + Ch. Impossible de savoir à quoi correspont ce Ch (en Allemand)
J'ai essayé avec une somme octet par octet, un XOR octet par octet puis un modulo 256,... mais rien à faire !!! je sèche.
le petit bout de C : (qui ne donne pas le résultat attendu)

iuResult = 0; // Resultat sur 8 bits
/* Calcul de la somme, le premier caractère est en position 1 */
for ( i = 0; i <= 4; i++)
if(Message[i]
iuResult += Message[i];
/* Modulo Valeur Maxi sur 8 Bits */
iuResult %= 0xFF;

Si quelqu'un peut m'aider.
Merci d'avance
mardi 13 décembre 2011 à 09:57:02 | Re : Calculer une checksum sur 8 bits

Renfield

Administrateur CodeS-SourceS
Réponse acceptée !

Xh est une notation indiquant le coté hexadécimal de la chose...

equivalent à 0xC dans ton cas :



Code C/C++ :
int sum = 0xC; // Resultat sur 8 bits 
	unsigned char chkSum;
	// Calcul de la somme
	for (i = 0; i < 5; i++) 
		sum += Message[i]; 
	chkSum = sum & 0xFF;



Renfield - Admin CodeS-SourceS - MVP Visual Basic & Spécialiste des RegExp
mardi 13 décembre 2011 à 15:42:07 | Re : Calculer une checksum sur 8 bits

JOE56570

Bonjour,
Merci pour la réponse, c'est bien ça, mais je m'était planté dans ma routine de calcul (au niveau de la visu du résultat).
A force de chercher, je ne voyait plus clair, il me falait un autre avis.
Merci encore.


Cette discussion est classée dans : octet, checksum, trame, bits, 0x01


Répondre à ce message

Sujets en rapport avec ce message

comment decaler de 4 octet a gauche [ par pirate75000 ] je doit convertir une image 8 bit vers une 12 bitsla dib est stocker dans un tableau Byte de 8 bitscomment convertir la valeur lue en la décalant de 4 Calcul de parité et de checksum [ par julienbj ] Pour un programme embarqué, je dois calculer la parité des 7 bits de poids faibles d'un octet. Je viens ici demander des conseils. Je ne vois qu'une s CRC trame UDP ( Prise de tête ... :( ) [ par Booster ] Bonjour à tous,Alors voilà je fais de la redirection de trame. Le problème est que lorsque je change l'ip de destination du cou le CRC doit aussi chan Octet et bits [ par iloveprog ] Salut,je cherche a savoir, sur un octet, si un bit donné est a zero ou un (car je veux appliquer par la suite des operations particulieres, ou :  1100 POINTEUR (C) sur plusieurs structures (0 Lectures) [ par skouby ] Bonjourje voulais essayer de réussir tout seul , ..mais mes yeux clignotent :SAlors je me met a vos pieds lolje programme un tachymetre en C avec SDCC trame [ par code32 ] Bonjour, j'ai un petit exercice : une trame transmise après un time-out, ne sera pas acquittée de nouveau par le récepteur : VRAI OU FAUX ? justifier. [µcontrolleur Microchip] - Stoquage de données series dans une variable [ par ClacMer2 ] Bonjour,Voila mon problème, je suis actuellement en train de me pencher sur la liaison rs232, liaison série, et les données y sont envoyées à l'envers Plateformes d'assistance Windows Linux/Unix MacOS Matériel/Hardware Logiciels/Pilotes Bureautique Jeux vidéos Audio numérique Infographie/Photo Vidéo numérique Gravure Téléphonie/PDA/GPS Programmation Webmastering Réseaux Internet Messagerie/Chat [ par csauvane ] Bonjour, Pour un projet, j'ai dans une grande chaine de caractère des données brutes d'un son Wave. L'avantage de le mettre dans une chaine de caract Créer 1 variable avec plus de 32 bits [ par Balou001 ] Bonjour à tous,Supposons que j'ai une variable V de type unsigned long int dont tous les bits sont à 1 (bits forts à gauche).quand je fais un V>=1, le


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,468 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales