Envío al puerto serie mediante Mscomm32.ocx

En este artículo se presenta cómo enviar información al puerto serie mediante el control Mscomm32.ocx.

Versión original del producto: Visual FoxPro
Número de KB original: 139526

Resumen

En este artículo se describen los valores necesarios para enviar datos al puerto serie mediante Mscomm32.ocx. Mscomm32.ocx se suministra con Microsoft Visual FoxPro Professional Edition. Se puede usar en equipos que ejecutan Microsoft Windows 95 y versiones posteriores de Windows.

Más información

Las propiedades más usadas para enviar datos al puerto serie mediante el control mscomm son las siguientes:

CommPort

La CommPort propiedad especifica el número de puerto de comunicaciones. Propiedad numérica que corresponde al puerto Comm. De forma predeterminada, esta propiedad se establece en 1 correspondiente a com1. Los valores válidos son 1, 2, 3 o 4, según los puertos serie instalados en el equipo y su configuración.

Configuraciones

La Settings propiedad configura la velocidad en baudios, la paridad, los bits de datos y los bits de detención para el puerto serie. La propiedad Settings es una cadena de caracteres que contiene valores separados por comas individuales. De forma predeterminada, la propiedad Settings es la siguiente: 9600,N,8,1 Esta propiedad corresponde a 9600 baudios, sin paridad, 8 bits de datos y 1 bit de detención.

Los siguientes valores de velocidad en baudios son válidos: 110, 300, 600, 1200, 2400, 4800, 9600 (valor predeterminado), 14400, 19200, 28800, 38400, 56000, 57600, 115200, 128000, 256000.

PortOpen

La PortOpen propiedad especifica un valor lógico que controla si el puerto serie está abierto y activo. Una vez establecidas las propiedades anteriores para empezar a usar el puerto serie, puede establecer esta propiedad en true.

Salida

A la propiedad Output se le asigna la cadena de caracteres que se van a enviar al puerto serie. Para generar la cadena "Hola mundo" en el puerto serie después de establecer las propiedades anteriores, use el siguiente comando:

 myform.mycomm.output = "Hello World"

Otras propiedades que también pueden ser necesarias en función de la aplicación son las siguientes:

CommEvent

La CommEvent propiedad contiene un valor que representa el evento o los errores de comunicaciones más recientes.

Sthreshold

La Sthreshold propiedad especifica el número mínimo de caracteres en el búfer de salida que se envían.

OutBufferCount

El control OutBufferCount devuelve el número de caracteres que esperan en el búfer de transmisión. Esto siempre debe ser cero si la Sthreshold propiedad es cero. Al establecer la OutBufferCount propiedad en cero, se borrará el búfer de transmisión.

OutBufferSize

La OutBufferSize propiedad especifica el tamaño del búfer de transmisión. De forma predeterminada, este búfer es de 512 bytes. Cuanto mayor sea el búfer de transmisión, menor será la memoria disponible para otras aplicaciones. Las velocidades en baudios lentas y las cadenas de texto grandes escritas en el puerto serie pueden significar que necesita hacer que este valor sea mayor.

A continuación se muestra un ejemplo que muestra cómo configurar el control de comm y marcar el número de teléfono 555-1234 mediante los comandos estándar del módem Hayes.

 PUBLIC ComForm
 ComForm = CREATEOBJECT('Form')
 ComForm.AddObject("Testcom","Olecontrol","MSCOMMLib.MSComm")
 ComForm.Testcom.CommPort = 2 && Use Comm2, The second Serial Port.
 ComForm.Testcom.Settings = "14400,N,8,1" && 14.4 Kbaud, No Parity,
 && 8 data Bits, 1 Stop Bit
 ComForm.Testcom.PortOpen = .T.
 ComForm.Testcom.Output = "ATDT555-1234" + chr(13) && Dialing the number
 * The chr(13) is needed to complete the modem command sequence
 ComForm.Testcom.PortOpen = .F.
 ***** End Code *****

Nota:

Si usa esto en una aplicación y, a continuación, distribuye la aplicación mediante el Asistente para la instalación de Visual FoxPro, es posible que vea el siguiente error al ejecutar la aplicación:

Error del programa: código de error OLE 0x80040112: no se encontró la licencia adecuada para esta clase.