¡Hola!
Estoy intentando comunicarme con un dispositivo mediante TCP.
El dispositivo necesita recibir y envía cadenas que al final tienen un CRC. El problema que tengo es que todos los ejemplos de cálculo que encontré dan un valor diferente al que recibe y envía el dispositivo (esto lo pude ver en una aplicación demo adquirida junto con el dispositivo).
Por ejemplo, la cadena que se envía es: ID=1;CPROD=MCPIC
Y el valor del CRC que envía al final es 102 (la cadena completa es "<[HELLO]ID=1;CPROD=MCPIC;CRC=102;>", pero deben omitirse los signos de mayor y de menor, la clave "[HELLO]" y el mismo CRC). En un sitio donde se puede hacer este cálculo online (
http://www.lammertbies.nl/comm/info/crc-calculation.html) da otros valores en hexadecimal que, incluso convertidos a decimal, son diferentes.
La explicación que figura en la documentación del dispositivo es la siguiente: El valor de esta clave es calculado efectuando XOR con todos los caracteres que constituyen al pkt excluyendo al inicio y fin del Pkt ( <> ) y a la propia clave y valor del CRC.
¿Alquien me puede dar una mano, por favor?
Muchas gracias.
Jerónimo