![]() |
![]() |
| 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
|
|||
|
|||
|
Cita:
Muchas gracias otra vez a los dos!!! |
|
#2
|
|||
|
|||
|
Cita:
Salud OS
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney |
|
#3
|
|||
|
|||
|
Gracias por tomarte la molestia de realizar un código para la lectura del puerto serie. Una pequeña pega que le veo es que la variable linea debería ser global y no local, ya que puede que no lleguen todos los caracteres de la trama en el momento en que se produzca el evento. Quizás llegue en dos veces por lo que la variable se habrá vuelto a inicializar y supongo que no funcionará, no?
Salu2... |
|
#4
|
|||
|
|||
|
Cita:
Si y no, ya que al ser una comunicación serial, los caracteres te llegan como su nombre lo indica, de forma serial, uno tras otro, por lo que el conflicto que mencionas no creo que se presente ya que cuando te llega el primer caracter de la siguiente trama, inicializas la variable Linea. La puse como local para que se viera, pero puedes hacerla global. Salud OS
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney |
|
#5
|
|||
|
|||
|
Hola de nuevo,
Cita:
<STX>Esto es un ejemplo de una cadena por el puerto serie<ETX> puede que la primera vez que se genera el evento llegue tan sólo: <STX>Esto es un ejemplo de una cadena esto tu lo almacenas en lína y a continuación te llega el resto de trama: por el puerto serie<ETX> Esto te llega la segunda vez que se genera el evento por lo que la variable línea se habrá vuelto a inicializar y no tendrá la trama completa por lo que se perdería. Si no me equivoco este es el comportamiento del puerto serie, aunque para decir la verdad es ahora cuando lo estoy manejando por primera vez. Para evitar que se pierdan tramas lo que usaba yo es un buffer circular. Un saludo egostar & cia... |
|
#6
|
|||
|
|||
|
Cita:
Tu vas a recibir solo un SYN o si quieres un STX identificando que es una cadena nueva (yo prefiero usar STX, porque en un protocolo de este tipo la cadena valida esta siempre entre STX y ETX), es por eso que solo la incializamos cuando recibimos ese caracter, cuando sea cualquier otro estamos agregando los caracteres a Linea, y solo hasta que nos llegue ETX hacemos el proceso correspondiente de una cadena completa. Edito: No importa cuantas veces nos mande caracteres para completar una sola trama completa Salud OS
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney Última edición por egostar fecha: 08-05-2008 a las 20:36:29. |
|
#7
|
|||
|
|||
|
Cita:
|
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Lectura del USB por Interrupción | cisco | Varios | 0 | 25-10-2007 18:13:29 |
| Documentacion para Generar Tramas TCP | bastardo10 | Varios | 0 | 07-06-2007 17:31:38 |
| Lectura de un FTP con idHTTP | gluglu | Internet | 2 | 05-05-2007 00:35:50 |
| Problema de lectura de un cd | dragondetierra | Varios | 0 | 18-02-2007 18:58:52 |
|