Red de conocimiento informático - Problemas con los teléfonos móviles - Código fuente del software del puerto serie Vb

Código fuente del software del puerto serie Vb

El código es el siguiente. Los eventos ONCOMM 1 y 2 pasan la depuración, otros fallan.

Subcomando privado 1_Click()

MSComm1. Salida = "123456 "

Conector final

Subform_Load() privado

MSComm1. Puerto Abierto = Verdadero

MSComm1. RTreshold = 1

MSComm1. SHreshold = 1

MSComm1. InputMode = comInputModeText

Text1 = " "

Conector final

Private Sub MSComm 1 _ en com()

Seleccione el caso MSComm1 . CommEvent

Fin del caso

Text1 = "comEvSend "

Aceptación del caso

Text1 = "comEvReceive "

Comentarios del caso

Text1 = "comEvCTS "

El caso está aquí

Text1 = "comEvDSR "

El caso está aquí

Text1 = "comEvCD "

Revisión de caso

Text1 = "comEvRing "

Revisión de caso

Text1 = " comEvEOF "

Finalizar selección

Conector final

Consulte el siguiente MSDN:

Constantes OnComm

Constante descripción del valor

ComEvSend 1 envía un evento.

ComEvReceive 2 recibe eventos.

ComEvCTS 3 Borrar cambio de línea de envío.

Cambios en la línea de preparación del conjunto de datos ComEvDSR 4.

El operador ComEvCD 5 detecta cambios de línea.

Detección de timbre.

Fin de 7 archivos.

El control MSComm proporciona los dos métodos siguientes para manejar la comunicación:

La comunicación basada en eventos es un método muy eficaz para manejar la interacción del puerto serie. En muchos casos, es necesario que se le notifique cuando ocurre un evento, por ejemplo, cuando llega un personaje o cuando se detecta un operador (CD) o se solicita enviar (RTS) cambios de línea. En estos casos, puede utilizar el evento OnComm del control MSComm para capturar y controlar estos eventos de comunicación. El evento OnComm también puede verificar y manejar errores de comunicación. Para obtener una lista de todos los eventos de comunicación y errores de comunicación, consulte la propiedad CommEvent.

Los eventos y errores se pueden consultar comprobando el valor de la propiedad CommEvent después de cada función clave del programa. Este enfoque puede ser mejor si la aplicación es pequeña y autosostenible. Por ejemplo, si estuviera escribiendo un marcador telefónico simple, no habría necesidad de generar un evento para cada carácter recibido porque el único carácter esperando ser recibido es la respuesta "OK" del módem.

Propiedad de umbral

Establece y devuelve el número mínimo de caracteres permitidos en el búfer de transmisión antes de que el control MSComm establezca la propiedad CommEvent en comEvSend y genere un evento OnComm.

Explicación

Si la propiedad Sthreshold se establece en 0 (el valor predeterminado), el evento de transferencia de datos no generará un evento OnComm. Si la propiedad Sthreshold se establece en 1, el control MSComm generará un evento OnComm cuando el búfer de transferencia esté completamente vacío.

Si el número de caracteres en el búfer de transmisión es menor que el valor, la propiedad CommEvent se establece en comEvSend y se genera un evento OnComm. El evento comEvSend solo se activa una vez cuando el número de caracteres supera el umbral.

Por ejemplo, si Sthreshold es igual a 5, comEvSend solo se producirá cuando el número de caracteres en la cola de salida se reduzca de 5 a 4. Si la cantidad de caracteres en la cola de salida nunca excede el umbral, el evento comEvSend nunca ocurrirá.

La propiedad CommEvent contiene el error real o el número que generó el evento OnComm. Tenga en cuenta que establecer las propiedades Rthreshold o Sthreshold en 0 invalidará la captura de los eventos comEvReceive y comEvSend respectivamente.