para tu proyecto es mejor utilizar unos checkbox, un modulo y un dll que permite la comunicacion de entrada y salida de los perifericos te explico:
*** crea un formulario y le colocas 8 checkbox
Private Sub Chkttl1_Click() 'invierto estado de TTL1
If chkTTL1.Value = 1 Then
SetPortBit Out_Port, 1
chkTTL1.Caption = "Salida TTL1 = 1 - ALTO"
Else
ClrPortBit Out_Port, 1
chkTTL1.Caption = "Salida TTL1 = 0 - BAJO"
End If
End Sub
ese es tu checkbox 1 y tiene el nombre de Chkttl1 para el siguiente cambia el valor de SetPortBit Out_Port, 2 y ClrPortBit Out_Port, 2 y asi sucesivamente
**** agrega un modulo .BAS y dentro de el le colocas esta codificacion:
Public Declare Sub PortOut Lib "IO.DLL" (ByVal Port As Integer, ByVal Data As Byte)
Public Declare Sub PortWordOut Lib "IO.DLL" (ByVal Port As Integer, ByVal Data As Integer)
Public Declare Sub PortDWordOut Lib "IO.DLL" (ByVal Port As Integer, ByVal Data As Long)
Public Declare Function PortIn Lib "IO.DLL" (ByVal Port As Integer) As Byte
Public Declare Function PortDWordIn Lib "IO.DLL" (ByVal Port As Integer) As Long
Public Declare Sub SetPortBit Lib "IO.DLL" (ByVal Port As Integer, ByVal Bit As Byte)
Public Declare Sub ClrPortBit Lib "IO.DLL" (ByVal Port As Integer, ByVal Bit As Byte)
Public Declare Sub NotPortBit Lib "IO.DLL" (ByVal Port As Integer, ByVal Bit As Byte)
Public Declare Function GetPortBit Lib "IO.DLL" (ByVal Port As Integer, ByVal Bit As Byte) As Boolean
Public Declare Function RightPortShift Lib "IO.DLL" (ByVal Port As Integer, ByVal Val As Boolean) As Boolean
Public Declare Function LeftPortShift Lib "IO.DLL" (ByVal Port As Integer, ByVal Val As Boolean) As Boolean
Public Declare Function IsDriverInstalled Lib "IO.DLL" () As Boolean
**** crea estas variables
Option Explicit
Public Out_TTL As Byte 'contiene el BYTE a sacar por el puerto
Public In_Port As Integer 'continen la direccion de lectura del LPT
Public Out_Port As Integer 'contiene la direcc.para escribir al LPT
**** coloca un combobox para para que al cargar el formulario puedas seleccionar el registro de memoria este es el nombre "cmbLptSelect"
**** coloca en el formulario con el procedimiento load
'Configura la COMBOLIST cmbLptSelect
cmbLptSelect.AddItem "0x378"
cmbLptSelect.AddItem "0x278"
cmbLptSelect.AddItem "0x3BC"
'Establece LPT1 como default
cmbLptSelect.ListIndex = 0
SetLPTAddress 'estable direccion base del LTP
Port_Reset 'reseteo salidas TTL
**** coloca un boton salir con esto
Private Sub cmdSalir_Click() 'si presiono SALIR, reseteo
Port_Reset 'las salidas TTL y salgo del programa
End
End Sub
esto es para resetear el puerto al salir del programa.
Ubica en internet o enviame tu correo para enviarte un dll de 32bits para manejasr las I/O del puerto
[email protected]