FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Lectura de tramas en puerto serie
Hola a todos. Estoy implementando un protocolo en el que los datos me llegan por el puerto serie en el siguiente formato:
STX-ID-NN-DD1-...-DDN-CHK-ETX siendo STX el comienzo de trama, ID un identificador, NN la longitud del campo de datos DD1...DDN, CHK un checksum y ETX el final de trama. Uso para el puerto serie un objeto de la clase TVaComm de Async32. Mi pregunta es: ¿hay algún método estándar para la lectura de tramas? Yo he implementado un método, pero he observado que hay veces que pierdo algunas tramas y pierdo el sincronismo. El problema creo que reside en que busco STX y ETX, pero dentro de la trama puede coincidir algún valor con estos. Gracias.
__________________
"Patientia et constantia taelecum" |
#2
|
||||
|
||||
Hola amigo, la respuesta es no. Tienes que hacerlo tu a mano.
Si sabes que la trama comienza en STX (normalmente #2) y acaba en ETX (normalmente #3) tienes que esperar a este ultimo, si en medio te viene un ETX estas jod.ido, ese protocolo esta mal implementado. Puedes usar el valor NN para esperar hasta el ETX final e ignorar aquellos que esten en una posicion inferior a NN. Ya se que es poco, pero espero haberte ayudado. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Error de lectura de puerto serie "Memoria Insuficiente". | clavijo83 | ASM y Microcontroladores | 7 | 08-04-2009 00:17:28 |
Lectura de tramas: <SYN><DLE><STX> ... <DLE><ETX> | vejerf | Varios | 17 | 30-06-2008 16:20:26 |
Lectura Hexadecimal desde el puerto serie | djemix | Varios | 20 | 09-12-2007 16:22:55 |
Usb en puerto serie :p | D-MO | Humor | 10 | 30-06-2006 07:16:45 |
Puerto serie y tcp | mercurio | Varios | 3 | 28-10-2003 02:21:59 |
|