JE traduit cette routine de C vers Windev j'ai un doute sur
l'op=E9rateur >>=3D. J'ai besoin de calcul=E9 le CRC pour de petite trame et=
ce sur un unit=E9 mobile (Windev mobile). Ou si quelqu'un =E0 d=E9j=E0 une
fonction Windev pour le CRC 8 elle est le bienvenue ! :)
Quelqu'un peut m'aider
/* CalcCRC8(): Computes the CCITT-CRC-8 of the indicated character,
the starting value will be the indicated CRC value. The function
must be called up, for every byte of the string, using the value of
the preceding call as a starting value. The starting value of the
first call is always 0x00.
JE traduit cette routine de C vers Windev j'ai un doute sur l'opérateur >>
Décalage de bit à droite (division par 2 à chaque décalage) et affectation du résultat dans la variable. (comme c+=2 par exemple)
CRC >> = 1 correspond en W-Langage à CRC = CRC/2
A+
-- Romain PETIT http://cerbermail.com/?O16kfXOFcq (cliquez sur le lien ci-dessus pour me contacter en privé)
patrice
attention que les crc se calcule sur des champs de bit et non des nombres donc le "char" (usuellement 7bit+signe) de la routine doit être en fait un "BYTE" (entier non signé sur 1 octets)
a écrit dans le message de news: Bonjour,
JE traduit cette routine de C vers Windev j'ai un doute sur l'opérateur >>=. J'ai besoin de calculé le CRC pour de petite trame et ce sur un unité mobile (Windev mobile). Ou si quelqu'un à déjà une fonction Windev pour le CRC 8 elle est le bienvenue ! :)
Quelqu'un peut m'aider /* CalcCRC8(): Computes the CCITT-CRC-8 of the indicated character, the starting value will be the indicated CRC value. The function must be called up, for every byte of the string, using the value of the preceding call as a starting value. The starting value of the first call is always 0x00.
attention que les crc se calcule sur des champs de bit et non des nombres
donc le "char" (usuellement 7bit+signe) de la routine doit être en fait un
"BYTE" (entier non signé sur 1 octets)
<sylvain.robert@datadis.com> a écrit dans le message de
news:067a2aff-66dc-4a21-b500-24cae86fd07d@k39g2000hsf.googlegroups.com...
Bonjour,
JE traduit cette routine de C vers Windev j'ai un doute sur
l'opérateur >>=. J'ai besoin de calculé le CRC pour de petite trame et
ce sur un unité mobile (Windev mobile). Ou si quelqu'un à déjà une
fonction Windev pour le CRC 8 elle est le bienvenue ! :)
Quelqu'un peut m'aider
/* CalcCRC8(): Computes the CCITT-CRC-8 of the indicated character,
the starting value will be the indicated CRC value. The function
must be called up, for every byte of the string, using the value of
the preceding call as a starting value. The starting value of the
first call is always 0x00.
attention que les crc se calcule sur des champs de bit et non des nombres donc le "char" (usuellement 7bit+signe) de la routine doit être en fait un "BYTE" (entier non signé sur 1 octets)
a écrit dans le message de news: Bonjour,
JE traduit cette routine de C vers Windev j'ai un doute sur l'opérateur >>=. J'ai besoin de calculé le CRC pour de petite trame et ce sur un unité mobile (Windev mobile). Ou si quelqu'un à déjà une fonction Windev pour le CRC 8 elle est le bienvenue ! :)
Quelqu'un peut m'aider /* CalcCRC8(): Computes the CCITT-CRC-8 of the indicated character, the starting value will be the indicated CRC value. The function must be called up, for every byte of the string, using the value of the preceding call as a starting value. The starting value of the first call is always 0x00.