Como el tema de MSComm es recurrente acá dejo algunas propiedades y los valores válidos para cada una de ellas. Espero que les sirva.
objeto = MSComm1 o el nombre que tenga su control MSComm.
********************************************************
valor = objeto.CommEvent
comEventBreak = 1001 = Se ha recibido una señal de interrupción.
comEventFrame = 1004 = Error de trama. El hardware ha detectado un error de trama.
comEventOverrun = 1006 = Pérdida de información en puerto. El hardware no ha terminado de leer un carácter antes de llegar el siguiente y lo ha perdido.
comEventRxOver = 1008 = Desbordamiento del búfer de recepción. No hay espacio para más datos en el búfer de recepción.
comEventRxParity = 1009 = Error de paridad. El hardware ha detectado un error de paridad.
comEventTxFull = 1010 = Búfer de transmisión lleno. El búfer de transmisión estaba lleno cuando se ha intentado agregar un carácter a la cola de transmisión.
comEventDCB = 1011 = Error inesperado al recuperar el Bloque de control de dispositivos (DCB) para el puerto.
*****************************************
objeto.CommPort[ = valor ]
valor = Un valor entero que especifica el número de puerto.
*****************************************
objeto.InBufferCount[ = valor ]
valor = Una expresión de tipo Integer que especifica el número de caracteres que hay en espera en el búfer de recepción.
*****************************************
objeto.InBufferSize[ = valor ]
valor = Una expresión de tipo Integer que especifica el tamaño del búfer de recepción, en bytes.
*****************************************
dim valor as string "variable para almacenar los datos
valor = objeto.Input
Devuelve y quita una cadena de datos del búfer de recepción.
La propiedad "InputLen" determina el número de caracteres leídos por la propiedad "Input". Asignar a "InputLen" el valor 0 hace que la propiedad "Input" lea todo el contenido del búfer de recepción.
*****************************************
objeto.OutBufferSize [ = valor ]
valor Una expresión de tipo Integer que especifica el tamaño del búfer de transmisión.
*****************************************
dim valor as string "variable para almacenar los datos
objeto.Output [ = valor ]
Una cadena de caracteres que se va a escribir en el búfer de transmisión.
*****************************************
objeto.Settings [ = valor ]
valor = Una expresión de cadena que representa el valor del puerto de comunicaciones, como se describe a continuación.
Valor está compuesto por cuatro valores y tiene el formato siguiente:
"BBBB,P,D,S"
Donde BBBB es la velocidad en baudios, P es la paridad, D es el número de bits de datos y S es el número de bits de parada.
La siguiente lista muestra las velocidades en baudios válidas.
110
300
600
1200
2400
9600 (predeterminado)
14400
19200
28800
38400
56000
128000
256000
La siguiente tabla describe los valores de paridad válidos.
Valor = Descripción
E = Par
M = Marca
N = (Predeterminado) Ninguno
O = Impar
S = Espacio
La siguiente lista muestra los valores válidos de bits de datos.
4
5
6
7
8 (Predeterminado)
La siguiente lista muestra los valores válidos de bits de parada.
1 (Predeterminado)
1.5
2
**********************************
objeto.PortOpen [ = valor ]
valor = Unaexpresión booleana que especifica el estado del puerto de comunicaciones.
Los valores admitidos para valor son:
True = El puerto está abierto
False = El puerto está cerrado
Cuando la propiedad PortOpen es True se abre el puerto. Si le asigna el valor False se cierra el puerto y se borra el contenido de los búferes de recepción y de transmisión. El control MSComm cierra automáticamente el puerto serie cuando finaliza la aplicación.
Asegúrese de que la propiedad CommPort contenga un número de puerto válido antes de abrir el puerto. Si la propiedad CommPort es un número de puerto no válido, cuando intente abrir el puerto el control MSComm generará el error 68 (El dispositivo no está disponible).
Además, el dispositivo del puerto serie tiene que aceptar los valores actuales de la propiedad Settings. Si la propiedad Settings contiene una configuración de comunicaciones que el hardware no admite, es posible que el hardware no funcione correctamente.
**********************************