He estado ojeando lo que me habeis dicho. Como estoy algo liado, a partir de mañana me pondré más a fondo con esto...
En el manual de español que dejaron para Modbus....
De lo que he visto, creo que me quedo con el método LRC del Modbus, que parece el más simple y ocupará en memoria menos.
El CRC, con esas tablas, creo que se me va en memoria y mi aplicación no se lo puede permitir.
Corríjanme si lo he entendido mal...
El LRC lo que hace es una suma de todos los bytes que se envían y al final hace un complemento a dos del resultado. Ese sería el LRC que devuelve. Se haría los mismo en el receptor, sin incluir el LRC claro, y se comprobaría que coincide con el LRC recibido.
La suma la hace sobre un registro de tamaño 8bits, sin acarreo. Si éste se desborda empieza desde cero, osea si tengo 0xFF y le sumo 0x01 sería 0x00. Esta en verdad sería una suma erronea (debería ser 0x100), pero como el que recibe va a hacer lo mismo da igual (buena idea esta...). Osea, se hace esa criba.
Si a esto le añado la paridad, creo que sería más que suficiente no??
En cuanto a cambiar a Modbus... no soy yo el que decide eso
![]()
. Entre otras cosa porque no soy el que modificará la aplicación del PC (que ya está hecha). Además sólo se conectará al PC una maquinita a la vez, y por lo que he ojeado, la ventaja de ese protocolo es poder conectar muchos a la vez, no??
Lo dicho, mañana me pongo con esto...
Saludos y muchas gracias a los dos!!