Operaciones de puerto serie y paralelo para Visual Basic 6.0: Guía completa

Operaciones de puerto serie y paralelo para Visual Basic 6.0: Guía completa
VB6 Seri ve Paralel Port Programlama
Visual Basic 6.0 Ortamında RS-232 COM ve LPT Port Kontrol Mimarisi.

📌 De un vistazo: comunicación de hardware de Visual Basic 6.0

Entorno de desarrollo MicrosoftVisual Basic 6.0 (SP6)
Control de puerto serie Componente MSComm32.ocx o API COM de Win32
Control de puerto paralelo InpOut32.dll / Direccionamiento directo de puerto (0x378)
Área de uso Automatización Industrial, Comunicación con Microcontroladores (PIC, AVR), Tarjetas de Relé
Ventaja Desarrollo rápido de interfaz gráfica, lectura de datos basada en eventos
Sistema operativo Modos de compatibilidad con Windows 98, XP, 7 y 32 bits

Aunque Visual Basic 6.0 es una tecnología antigua, sigue siendo una de las plataformas más comprensibles para aprender a controlar el hardware a través del puerto serie (COM) y el puerto paralelo (LPT) en laboratorios de electrónica industrial y proyectos de hobby.

Introducción: la puerta de entrada al mundo enterrado

Aunque el acceso directo a los puertos de hardware está restringido por razones de seguridad en los sistemas operativos modernos, en el período de Visual Basic 6.0, las líneas serie RS-232 y los puertos de impresora paralelos de 25 pines eran la principal arteria de comunicación con microcontroladores y tarjetas de relé [1].

1. Comunicación del puerto serie con el componente MSComm

El objeto MSComm integrado de Microsoft se utiliza para el control del puerto serie en el entorno VB6:

Private Sub Form_Load()
    MSComm1.CommPort = 1             ' COM1 Portu
    MSComm1.Settings = "9600,N,8,1"   ' 9600 Baud, Parity Yok, 8 Data Biti, 1 Stop Biti
    MSComm1.InputLen = 0             ' Tüm tamponu oku
    MSComm1.PortOpen = True          ' Portu aç
End Sub

Private Sub MSComm1_OnComm()
    If MSComm1.CommEvent = comEvReceive Then
        txtGelenVeri.Text = txtGelenVeri.Text & MSComm1.Input
    End If
End Sub

2. Activación de LED y relé a través del puerto paralelo (LPT1)

Dado que la lectura/escritura directa del puerto (comandos IN / OUT) está bloqueada en los sistemas basados ​​en Windows NT (XP y posteriores), se utiliza InpOut32.dll, que proporciona un controlador a nivel de kernel [2]:

Private Declare Function Inp Lib "inpout32.dll" Alias "Inp32" (ByVal PortAddress As Integer) As Integer
Private Declare Sub Out Lib "inpout32.dll" Alias "Out32" (ByVal PortAddress As Integer, ByVal Value As Integer)

' LPT1 Data Port Adresi: &H378 (Hex)
Private Sub btnLediYak_Click()
    Out &H378, 255 ' Tüm pinleri (D0-D7) 5V Yüksek (HIGH) seviyeye çek
End Sub

Fuentes y referencias independientes

[1] Jan Axelson: Puerto serie completo: puertos COM y puertos COM virtuales USB
[2] Interfaz de puerto paralelo de alto rendimiento: Referencia de arquitectura InpOut32 y puerto paralelo completo

El equipo editorial de DigiLiner publica con verificación de dos fuentes, un registro público de correcciones y asistencia de IA supervisada por personas. Editorial Policy