Si además quieres enviarnos un Artículo para el Blog y redes sociales, pulsa el siguiente botón:
hola que tal
alguien sabria de algun ejemplo que pueda ayudarme para estructurar un protocolo
digamos que el pc envia ;
el byte de start y de stop los pone el hardware
entonces habia pensado enviar direccion ,dato
pero segun me han comentado por la web es mejor hacer
mandar un paquete de 4 bytes cada vez
ejemplo sincronizar+direccion+dato+checksum
sincronizar seria un dato prefijado siempre como inicio entre el pc y el pic (dato prefijado previamente)
direccion del dato donde se va alamacenar
dato a procesar
y checksum (operacion XOR) que da como resultador de hacer un XOR entre los tres primeros bytes
para comprobar que la trama es correcta y no se pierdan datos
alguien sabria aportarme ejemplos en asm pic16f876 o alguna forma mejor de estructurar el protocolo
muchas gracias
un saludo
Si son muchos datos en cada trama yo lo haría así:
Sincro + Header + Len + Datos .... + CRC/Checksum
Sincro: de tamaño fijo y te recomendaría entre 2 y 4 bytes.
Header: de tamaño fijo y entre 1 y 4 bytes (dependiendo de las direcciones).
Len: de tamaño fijo con 1 byte direccionas hasta 255 bytes de datos, con 2 bytes hasta 65536.
Datos: pues eso...
CRC/Checksum: puede ser sólo de los datos o de todo el paquete (mejor 2 bytes que 1).
Si son pocos datos en cada trama directamente envía:
Dirección + Datos
Además activas el bit de paridad en el protocolo RS232 para corregir errores y el control de flujo hardware (o software) para que te envíe los datos cuando toca (sincronismo).
S2
Ranganok Schahzaman
muchas gracias por contestar
la verdad me apasiona esto de las comunicaciones y de estructurar protocolos
pero aun ando verde y de meterle caña
si sabeis de algun ejemplo que pueda ver
gracias
un saludo
Si te gusta esto, te recomiendo que eches una ojeada al protocolo ModBus. Sencillo, muy usado, fácil de entender, y muy adecuado a la mayoría de aplicaciones microcontroladas.
hola que tal
gracias por contestar
sabes de algun enlace donde haya algun buen manual sobre este protocolo modbus
asi le hecho un vistazo
muchas gracias