Pregunta: | 60400 - PROBLEMA DE LECTURA CON EL MSCOMM |
Autor: | matias |
Hola a todos. Estoy haciendo un programa en visual basic 6, el cual envia y recibe datos del puerto serial. Para eso estoy usando la aplicacion "Mscomm" del visual basic, que justamente es para esto. Inicialize cuandoi se abre el formulario (al abrir el formulario de la aplicacion) todo los datos del Mscomm para que pueda funcionar, pongo debajo los detalles: setie el puerto, el com, baudios, bit de paridad, bit de stop abril el puerto ' todo ok MSComm1.InputMode = comInputModeText MSComm1.Handshaking = comNone MSComm1.InBufferSize = 1024 'tamano en byte del buffer de recepcion MSComm1.OutBufferSize = 512 'tamano en byte del buffer de trasmision MSComm1.NullDiscard = False 'Toma en cuenta el caracter nulo (0x00) MSComm1.DTREnable = True MSComm1.InputLen = 0 MSComm1.RThreshold = 1 MSComm1.SThreshold = 1 luego, cuando ocurre algun evento activa la funcion "OnComm" del Mscomm. En el agrege todo los casos. Entre los cuales esta el siguiente: Case comEvReceive ' si entra aca es porque se recibio un dato del puerto serial buffer = "" buffer = MSComm1.Input 'lee todo el buffer de entrada Texto_Recibido.Text = Texto_Recibido.Text + buffer El tema es que cuando corro el programa con F5 imprime solo los primeros 8 caracteres buffer de entrada. Es decir, imprime de a 8 caracteres insertando en forma automatica el renglon aparte. Ahora bien, si lo corro paso a paso con F8 no hay ningun problema y anda todo joya, y me imprime todo bien. Con lo cual, no se si sera un problema de tiempos, y que para eso deba usar un timer. Desde ya , agradeceria mucho aquel que me pueda ayudar. Saludos!! |