TODOPIC

Lenguajes de programación para PC => Visual Basic => Mensaje iniciado por: edwardo2 en 09 de Febrero de 2009, 15:58:13

Título: problema MSComm con Hyperterminal
Publicado por: edwardo2 en 09 de Febrero de 2009, 15:58:13
Buenos dias, tengo un problema con el control MSComm, es lo siguiente:

Tengo un programa en visual basic 6 que interactua con un pic 16f887, trabaja perfectamente, el problema es cuando se abre el hyperterminal sucedde que ya no se genera el evento comEvReceive, los caracteres llegan al puerto en la propiedad InBufferCount se va acumulando, y solo ingresa a onComm cuando ocurre algun error como por ejemplo comEventFrame (error de trama) o comEventRxOver (buffer de recepcion desbordado), un detalle esto ocurre cuando hay bastante comunicacion, por que si hay poca trabaja normal, si se abre el hyperterminal.

Hay alguna forma de volver activar el correcto funcionamiento del evento comEvReceive cada vez q ingresa un caracter al buffer???.

Espero me puedan ayudar ya que escuchado que esto siempre pasa con visual basic y el control MSComm que tiene esa falla y que solo se arregla reiniciando la maquina; mi codigo para iniciar el control es el siguiente :

    MSComm1.InputLen = 0 ' El valor 0 hace que se lea todo
    MSComm1.RThreshold = 1 ' al recibir uno o mas caracteres se genera el evento OnComm
    MSComm1.SThreshold = 4 ' al enviar uno o mas caracteres se genera el evento OnComm
    MSComm1.NullDiscard = True
    MSComm1.RTSEnable = False
    MSComm1.DTREnable = False
    MSComm1.InBufferSize = 1024
    MSComm1.OutBufferSize = 512
    MSComm1.CommPort = 1
    MSComm1.Settings = "9600,N,8,1"
    MSComm1.PortOpen = True

De ante mano gracias por su ayuda.
Título: Re: problema MSComm con Hyperterminal
Publicado por: jopes en 10 de Marzo de 2009, 08:07:01
Hola edwardo2!!
Yo estoy utilizando también el objeto MsComm. Yo lo uso para comunicarme vía serie con un pic. La configuración del MsComm la tengo de la misma forma que tú y a mi no me da ningun problema. Creo que la unica diferencia es que yo tengo DTR = True. Si tengo hoy un poco de tiempo intento ver si puedo ayudarte.
Saludos!!!
Título: Re: problema MSComm con Hyperterminal
Publicado por: IAO en 10 de Marzo de 2009, 22:24:41
Holaaa:

Pienso que el sr. Jopes tiene razón. Juega colocando DTR o RTS enable uno de ellos te permitirá
establecer la comunicación con HiperTerm.

Recuerda que DTR es Data Terminal Ready y el otro es Recuest To Send si mal no recuerdo.
Uno funciona para los Terminales y otro para los Dispositivos como modem, impresora etc...

Una recomendación de Slalen:
Citar
¿Has probado a unir el RTS y el CTS en el conector?
Normalmente, si lo haces, engañas al puerto y no tienes que implementar el RTS.

Espero te sirva ....

Bye('_')....