SoloCodigo
Programación General => Visual Basic 6.0 e inferiores => Mensaje iniciado 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:
-
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: