![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
|||
|
|||
|
El primer char es el STX (0x02) y el ultimo es el ETX(0x03). Esto esta muy bien pero el problema lo tengo dentro...
Luego viene el numero de argumentos y luego los argumentos... tantos como decia el numero de antes. Despues viene un CRC que es la suma de los argumentos... y final el ETX. Con esto te kiero hacer ver que el tamaño de la cadena es variable segun lo que me kieran mandar y claro... cuando me mandan 2 o 3 argumentos... el campo del numero de argumentos ya me coincide o con el ETX o STX. ¿Cual es el problemaaaaa? Pues que cuando recibo una cadena, por ejemplo, de 10 caracteres... Primero recibo los 8 primeros y luego los 2 siguientes... Cuando digo que recibo me refiero al evento OnTriggerAvail del componente que me salta 2 veces. Siempre me saca los ocho primeros y luego el resto... Nunca he comprobado en recibir por ejemplo 20 caracteres... para ver si me los divide en paquete de 8... Eso es algo de la configuración del puerto?? Ufff... vaya tocho que te soltado... a ver si te puedes aclarar un poco en todo eso.. Gracias por tu ayuda.... ![]() |
|
#2
|
|||
|
|||
|
Cita:
Cita:
El CRC como dices, es un digito verificador, comúnmente es un XOR de los caracteres dentro de la cadena, no uses el trigger avail, como te digo, usa el componente adpDataPacket, configuralo de esta forma Cita:
Salud OS
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney Última edición por egostar fecha: 25-10-2007 a las 20:26:10. |
|
#3
|
|||
|
|||
|
Esto lo he entendido perfectamente, pero es que el problema lo tengo cuando en el campo del numero de argumentos me viene el #3, que me cortaria el paquete ahi... ese es el problema que tengo al usar el datapaket...
|
|
#4
|
|||
|
|||
|
Cita:
Cita:
Salud OS
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney |
|
#5
|
|||
|
|||
|
Claro, ese es el problema... Nunca se de primeras cual es el tamaño de la trama (para poder configurar el datapaket..) y tampoco puedo asegurar que dentro del campo de `[DATOS] no esté el #2 o el #3...
Por eso es lo que uso el Evento OnTriggerAvail para ir recogiendo los datos recibidos e irlos procesando uno a uno... Por eso es en este caso cuando me sale el problema de que no me llega el paquete completo... sino que creo que me vienen los 8 primeros... y luego los siguientes............ |
|
#6
|
|||
|
|||
|
Cita:
Incluso puedes decirle al componente que no te ponga dichos caracteres en la cadena con la propiedad IncludeStrings, cambiala a False y ya no los verás. Salud OS
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney |
|
#7
|
|||
|
|||
|
Si eso lo he entendido muy bien.... pero el problema es cuando el caracter ETX esta dentro de la cadena DATOS... no se si me explico...
La cosa es que no puedo asegurar que el STX y el ETX sean unicos en la trama ya que se pueden repetir en su interior... |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Usb en puerto serie :p | D-MO | Humor | 10 | 30-06-2006 07:16:45 |
| Puerto Serie Virtual. | bquinterno | API de Windows | 3 | 12-06-2006 20:30:24 |
| Imprimir a puerto serie | anduj | Impresión | 4 | 25-02-2005 13:18:39 |
| Puerto serie | esquerda21 | Varios | 2 | 13-05-2004 00:58:52 |
| Puerto serie y tcp | mercurio | Varios | 3 | 28-10-2003 02:21:59 |
|