Cómo escribir vb para Keil C51 para implementar el microcontrolador y el puerto serie de la PC (computadora host)
Para lograr la función que mencionaste, debes usar el control MSComm en VB.
Antes de comenzar a utilizar el control MSComm, el control MSComm tiene muchas propiedades importantes. Primero necesita conocer sus propiedades, eventos o errores.
Descripción de la propiedad
CommPort establece o devuelve el número del puerto de comunicación.
La configuración establece o devuelve la velocidad en baudios, la paridad, los bits de datos y los bits de parada como cadenas.
Establece o devuelve el estado del puerto de comunicación. También puedes abrir y cerrar puertos.
La entrada devuelve y elimina caracteres en el búfer de recepción.
La salida escribe una cadena en el búfer de envío.
La propiedad CommEvent devuelve uno de los siguientes valores para un evento o error de comunicación. Estas constantes también se pueden encontrar en la biblioteca de objetos del control.
Para una descripción detallada, busque los materiales didácticos correspondientes y léalos atentamente.
Control de comunicación MSComm de VB. Proporciona una serie de interfaces de comando de comunicación estándar, que permiten el establecimiento de conexiones en serie y conexiones con otros dispositivos de comunicación (como módems). ). También puede enviar comandos, intercambiar datos, monitorear y responder a diversos errores y eventos que pueden ocurrir durante el proceso de comunicación, por lo que puede usarse para crear programas de comunicación full-duplex, basados en eventos, eficientes y prácticos. Sin embargo, en el proceso de diseño del software de comunicación real, el control de MSComm no es tan completo y fácil de controlar como se imagina.
Por lo general, los ordenadores disponen de uno o más puertos serie, en orden com1, com2,…. Estos puertos serie también proporcionan canales para la transferencia de datos y la comunicación entre dispositivos externos y la PC. Estos puertos serie actúan como intérprete entre la CPU y los periféricos. Cuando se envían datos de caracteres desde la CPU al periférico, los datos de caracteres se convertirán en datos de flujo de bits en serie; cuando se reciban datos, los datos de flujo de bits se convertirán en datos de caracteres y se transmitirán a la CPU. Además, en términos del sistema operativo, Windows utiliza el controlador de comunicación (COMM.DRV) para llamar a funciones API para enviar y recibir datos. Cuando se llama a una función API con un control o declaración de comunicación, el DRV de comunicación la interpreta y la transmite al controlador del dispositivo. Como programador de vB, para escribir un programa de comunicación, solo necesita conocer la interfaz proporcionada por el control de comunicación para la función AP1 de comunicación de Windows. En otras palabras, sólo necesita configurar y monitorear las propiedades y eventos del control de comunicación.
El control MSComm proporciona dos métodos para manejar la comunicación:
1. La comunicación basada en eventos es un método poderoso para manejar las actividades del puerto serie. En la mayoría de los casos, el usuario necesita saber cuándo ocurre un evento, por ejemplo, llega o cambia un carácter en una línea CD (detección de operador) o una línea RTS (solicitud de envío). En este caso, utilice el evento OnComm del control MSComm para capturar y controlar estos eventos de comunicación. OnComm también puede detectar y gestionar errores en las comunicaciones. Consulte la propiedad CommEvent para obtener una lista completa de todos los eventos y errores de comunicación.
2. Los programadores también pueden verificar el valor de la propiedad CommEvent después de cada función importante del programa para detectar eventos y errores de comunicación. Esto puede ser más común para programas pequeños e independientes. Por ejemplo, si estuviera escribiendo un marcador telefónico simple, no tendría sentido generar un evento después de recibir cada carácter, ya que solo pretende recibir mensajes de respuesta OK del módem.
Cada control MSComm utilizado corresponde a un puerto serie. Si necesita acceder a varios puertos serie en su aplicación, debe utilizar varios controles MSComm. Puede modificar la dirección de interrupción de la dirección serie en el Panel de control de Windows.
Escribir programa de comunicación usando el control Mscomm
Crear un nuevo archivo de proyecto en VB.
Agregue el componente de control Microsoft Comm,
Agregue el botón de comando al formulario simplificado 1, llamado CmdTest, y el control MSComm llamado SComm1. Agregue el siguiente código de programa.
Private Sub cmdTestClick()'Abre el puerto serie.
MSComml. CommPort = 2 'Establecer Com2.
Si MSComml. Entonces PortOpen = False
MSComm1. Configuraciones = "9600, n, 8, 1"' Velocidad de 9600 baudios, sin paridad, 8 bits de datos, 1 bit de parada.
MSComm1. PortOpen = True 'Abre el puerto serie.
Terminará si...
MSComm1. 'OutBufferCount = 0 'Borra el búfer de envío.
MSComm1. InBufferCount = 0 'Borrar el búfer de recepción.
Al enviar datos de caracteres, asegúrese de finalizar con un retorno de carro (vbcr).
MSComm1.
Output= "¡Este es un buen libro!"& ampvbCr
Marca un número de teléfono o envía un comando AT.
MSComm1. salida = "ATDT 05778191898; vbCr
Tenga cuidado al enviar datos de matriz de caracteres. ByteArray debe definirse de antemano.
Dim ByteArray como byte()
Definir una matriz dinámica
ReDim ByteArray(1)
Redefinir el tamaño de la matriz
ByteArray ( 0 ) =0
ByteArray ( 1 ) . = 1
MSComm1. Salida = ByteArray
Conector final
Sub privado MScommEvent()
Seleccione MSCommEvent
Aceptación de caso
Atenuar buffer como variable
MSComm1 = 0
Recibir datos binarios
MSComm1 = ComInputModeBinary
p>Buffer=MSComm1.Input
Recibir datos de caracteres
MSComm1.InputMode=comInputModeText
Buffer = MSComml.
Entrada
Otros casos
Finalizar selección
Finalizar conector