SoloCodigo

Programación General => Visual Basic 6.0 e inferiores => Mensaje iniciado por: Ce5aR en Lunes 24 de Noviembre de 2003, 14:49

Título: Ayuda urgente con transmisión serial
Publicado por: Ce5aR en Lunes 24 de Noviembre de 2003, 14:49
Hola a todos, tengo un problema manejo transmisión serial para enviar y recibir datos el problema es que los datos que recibo del microcontrolador son muy variables, puedo recibir hasta 32768. Y la configuración que estoy manejando es:
MSComm1.InputLen = 1
MSComm1.SThreshold = 1
MSComm1.RThreshold = 1

Esto para que cada que llego un byte lo almacen sin embargo cuando son muchos datos no recibe todos los datos, no sé a que se deba alguien me podría ayudar con esto?

Saludos.:ayuda:
Título: Re: Ayuda urgente con transmisión serial
Publicado por: JDaniel en Lunes 29 de Diciembre de 2003, 10:18
Hola Ce5aR!

  En mi opinión deberias aumentar el tamaño de la cola de recepción de datos por ejemplo:


      Const COLARX As Integer = 4096                    'Tamaño de cola de recepción
      Const COLATX As Integer = 4096                    'Tamaño de cola de transmisión

    ' Establecer el tamaño de las colas de recepción y transmisión
     PuertoCom.InBufferSize = COLARX                         ' cola de recepción
     PuertoCom.OutBufferSize = COLATX                        ' cola de transmisión

Y en tu porcedimiento Puerto_OnComm() establecer un pequeño mecanismo de espera para coger los datos en bloques mas grandes, con lo que te daria tiempo a recoger todos los datos, algo asi:


     ' Esperar hasta que haya 100 bytes en el búfer de entrada
     Do Until PuertoCom.InBufferCount >= 100
            DoEvents
     Loop

Espero que te sirva de ayuda. Suerte :hola: