Algoritmo De Calculo Del Crc - Ardetem DIP 605C Manual Del Usuario

Tabla de contenido

Publicidad

Medida = octeto 3 x 256 3 + octeto 4 x 256 2 + octeto 1 x 256 + octeto 2
= 0 x 256 3
+ 0 x 256 2
= 5000
Lectura de la adresa 215 => punto décimal = 3 => medida indicada 50.00
• • Respuesta con medida negativa :
254
3
4
236
octeto 1
octeto 3
octeto 4
octeto 1
11111111
111 0 11 0 0
0 1111 0 0 0
11111111
Signo : 1 negativo : inversión de los bitios, más 1.
octeto 4
octeto 3
0 0 0 0 0 0 0 0
0 0 0 1 0 0 11
Inversión
0 0 0 0 0 0 0 0
octeto 3
octeto 4
0 0 0 0 0 0 0 0
0 0 0 1 0 0 11
Más 1
0 0 0 0 0 0 0 0
0
0
Medida = -(octeto3 x 256 3 + octeto4 x 256 2 + octeto1 x 256 + octeto 2)
= -(0 x 256 3
+ 0 x 256 2
= - 5000
Lectura de la adresa 215 =>punto décimal = 3 =>medida indicada -50.00
+ 19 x 256
+ 136
medida
120
255
255
CRC 16
octeto 2 octeto 3 octeto 4 2 octetos
octeto 2
octeto 1
octeto 2
1 0 0 0 0 111
octeto 1
octeto 2
1 0 0 0 1 0 0 0
19
136
+ 19 x 256
+ 136)
8.4 Algorítmo de calculo del CRC 16 :
FFFF → CRC
CRC ⊕ OCTETO → CRC
n = 0
desfase de 1 bit hacia
la derecha de CRC
llevada
no
n = n + 1
no
n > 7
no
Nota 1 : ⊕ = o exclusivo.
Nota 2 : POLY = A001 (hex).
Nota 3 :
El calculo del CRC 16 se aplica a todos los octetos de la secuencia (salvo
CRC16 ).
Nota 4 :
Cuidado ! En el CRC 16, el 1er octeto enviado es el LSB.
Ejemplo : Secuencia 1-3-0-75-0-2 CRC16 = 180-29 (los valores son
décimales).
si
CRC ⊕ poly → CRC
si
octeto siguiente
fin de secuencia
si
FIN

Hide quick links:

Publicidad

Tabla de contenido
loading

Tabla de contenido