SerialPort

01/06/2008 - 20:36 por LunNna | Informe spam
Hola a todos! Estoy haciendo una aplicación que recibe datos por el puerto
serie, en donde está conectado un lector de códigos. Estos códigos están
guardados en la BD asociados con un usuario, con lo que al recibir un código,
busco el usuario asociado en la BD. Estos códigos no son de longitud fija,
con lo que puedo recibir un código de 3 caracteres y luego uno de 5.

Me he encontrado con el problema de que si se reciben muchos códigos juntos,
se acumulan en el buffer, y cuando los leo, como lee varios a la vez, al
buscar el usuario no me los encuentra ya que está buscando dos códigos
anidados.

La verdad es que no se me ocurre cómo puedo solucionar esto. Si alguien me
puede echar una mano se lo agradeceré muchísimo.

Un saludo a todos.
 

Leer las respuestas

#1 RFOG
01/06/2008 - 21:53 | Informe spam
Pues es el eterno problema de las comunicaciones, sobre todo si son muy
rápidas y/o el sistema está muy sobrecargado. Es tarea tuya hacer la
separación de los códigos; en los protocolos lo que se usan son cabeceras,
cadenas de sincronización, y un largo etcétera.

¿Realmente el lector te está enviando códigos de tamaño variable? Míralo
bien porque no creo que sea así, un lector (de lo que sea, de huella
digital, de código de barras, de banda magnética...) tendrá un tamaño
predefinido y lo que sobre lo debe llenar de ceros o de blancos... ¿No
tendrás la propiedad "DiscardNull" a true?


"LunNna" wrote in message
news:
Hola a todos! Estoy haciendo una aplicación que recibe datos por el puerto
serie, en donde está conectado un lector de códigos. Estos códigos están
guardados en la BD asociados con un usuario, con lo que al recibir un
código,
busco el usuario asociado en la BD. Estos códigos no son de longitud fija,
con lo que puedo recibir un código de 3 caracteres y luego uno de 5.

Me he encontrado con el problema de que si se reciben muchos códigos
juntos,
se acumulan en el buffer, y cuando los leo, como lee varios a la vez, al
buscar el usuario no me los encuentra ya que está buscando dos códigos
anidados.

La verdad es que no se me ocurre cómo puedo solucionar esto. Si alguien me
puede echar una mano se lo agradeceré muchísimo.

Un saludo a todos.



Microsoft Visual C++ MVP
==Mi blog sobre programación: http://geeks.ms/blogs/rfog
Momentos Leves: http://momentosleves.blogspot.com/
Cosas mías: http://rfog.blogsome.com/
Libros, ciencia ficción y programación
Sé amable con tus palabras y útil con tus obras.
Pitágoras.

Preguntas similares