C/Visual C - Problemas en comunicacion serie en DLL y ATL-COM

 
Vista:

Problemas en comunicacion serie en DLL y ATL-COM

Publicado por EdgarBM (4 intervenciones) el 09/01/2002 10:08:26

Hola,
estoy creando una aplicación de control de comunicación de los puertos serie para instanciarla como un objeto COM, pero la API de Windows no funciona correctamente ni cuando la ejecuto dentro del COM ni cuando la ejecuto desde una DLL (a pesar de que el mismo código funciona como debe en cualquier ejecutable simple).
Utilizo el mismo código de escritura (asíncrona) sobre el puerto que el que se explica en el artículo del MSDN "Serial Communications in Win32", o el código ejemplo "MTTTY"; pero el problema sigue apareciendo y sin ninguna lógica:

cuando envío información por el puerto SIEMPRE me retorna que el envío ha sido correcto. Lo malo es que ésto lo hace automáticamente cuando se envía, haya o no alguien escuchando la información...si hay alguien, la información no se pierde y la recibe correctamente, pero si no, ésta se pierde (se vacía el buffer) y me da el mismo resultado de envío correcto... ¡¡ESTO ES FATAL!!

¿Alguien sabe por qué?, ¿alguien sabe cómo solucionarlo?, ¿alguien sabe hacia donde enfocarlo?, ¿ALGUIEN SABE ALGO AL RESPECTO?,...lo que sea!!

Gracias por adelantado
Edgar
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Problemas en comunicacion serie en DLL y ATL-CO

Publicado por Julián (24 intervenciones) el 09/01/2002 10:59:34
Veamos si tu problema es detectar que hay alguien esperando la información tienes que implementar un protocolo para verificarlo. Este protocolo puede ser algo tan sencillo como enviar un dato y esperar a recibirlo (logicamente el receptor tiene que estar porgramado para ello)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Problemas en comunicacion serie en DLL y ATL-CO

Publicado por Criatura (11 intervenciones) el 06/03/2002 06:01:32
Yo he tenido el mismo problema al enviar datos a un impresora por el puerto serie, se mando demasiado rapido el buffer de la impresora se llena y no puede tragar mas datos. La solución que le di yo es activar el protocolo XON XOFF, que controla el flujo de datos por software. Eso si, abre el puerto en modo solapado (FILE_FLAG_OVERLAPPED).
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar