Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Problemas con el puerto serial

Iniciado por Diferencial, 13 de Junio de 2006, 07:44:19 AM

« anterior - próximo »

Diferencial

Hola a todos,
Tengo un problema con el puerto serial, estoy trabajando con un lector de tarjetas que va conectado al puerto, el problema que tengo es que cuando yo le paso una tarjeta al lector guarda en un buffer el codigo de esta tarjeta, cuando desde la aplicación le pido el codigo no funciona. Sin embargo lo hago paso por paso depurando el proyecto y si me funciona. ¿Alguna sugerencia?
PARA TENER COSAS QUE NUNCA HAS TENIDO, TENDRÁS QUE HACER COSAS QUE NUNCA HAS HECHO.

Warchief

¿Variables sin inicializar que toman valor por defecto en el depurador y eso hace que funcione?

marcode

quizás necesita un tiempo de espera durante la comunicación, que sí lo tiene cuando lo haces paso a paso. Prueba a meter varios Sleep(1000) después de cada instrucción, con ese u otro valor que creas oportuno, y a ver que pasa. Si funciona busca a ver cual de ellos es el que está surtiendo efecto.

Si funciona así, seguramente lo ideal sea usar un while que lo mantenga en espera hasta recibir o detectar algún bit de estado que le permita continuar recibiendo/transmitiendo datos, aunque tampoco tengo mucha idea de esto.
size=9]afortunadamente siempre ha habido alguien dispuesto a reinventar la rueda, de lo contrario seguiríamos usando un disco de piedra con un agujero.[/size]

vincent

Mirate la documentación de Microsoft. Depende de para que windows programes la comunicación por puerto serie se trata de manera diferente. En XP es overlapped y en 95 no.
Desarrollo en .Net y metodologías http://devnettips.blogspot.com

Diferencial

Gracias por las respuestas, al final lo consegui haciendo un while mientras no
recogiese una cadena pues volvia a pedir otra vez la cadena y tambien le añadi un evento que viene con el serial port del .net que recoge errores de lectura donde añadi tambien el codigo que vuelve a pedir la cadena del buffer.
PARA TENER COSAS QUE NUNCA HAS TENIDO, TENDRÁS QUE HACER COSAS QUE NUNCA HAS HECHO.






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.