Puertas seriales

Hola Pepito,
Mi pregunta es la siguiente : Tengo un programa visual basic que trabaja con puertas seriales y necesito limpiar su buffers cada vez que se procese la información que entre por la puerta. El icono de modem en las propiedades sale InBuffersSize:1024 y OutBufferSize:512 (no se si ira por allí la cosa)
Gracias

1 Respuesta

Respuesta
1
El control MSComm limpia automáticamente los buffers cada vez que lees la propiedad Input del control... de hecho tienes que asignarle el valor de esa propiedad a una variable tuya si no quieres perderlo entre una lectura y otra. El InBufferSize lo que indica es la cantidad de bytes que almacena como máximo el buffer antes de dar un error de desbordamiento... de hecho tu deberías leer la propiedad Input antes de que InBufferCount llegara el valor que tiene InBufferSize...
El mecanismo puede ser por encuesta (leer periódicamente la propiedad Input hasta que tengas lo que te interesa) o mediante eventos (el control dispara un evento cada vez que llega o sale algo)
Es decir, la limpieza no tienes que hacerla tu, y si quieres forzar una limpieza del buffer de entrada basta conque leas la propiedad Input y el control hará una limpieza del buffer y lo dejara vacío...

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas