Public Const LPT1x = &H378
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
'********************************************************
'********* Function Descriptions *******************
'********************************************************
'PortOut - Outputs a byte to the specified port.
'PortWordOut - Outputs a word (16-bits) to the specified port.
'PortDWordOut - Outputs a double word (32-bits) to the specified port.
'PortIn - Reads a byte from the specified port.
'PortWordIn - Reads a word (16-bits) from the specified port.
'PortDWordIn - Reads a double word (32-bits) from the specified port.
'SetPortBit - Sets the bit of the specified port.
'ClrPortBit - Clears the bit of the specified port.
'NotPortBit - Nots (inverts) the bit of the specified port.
'GetPortBit - Returns the state of the specified bit.
'RightPortShift - Shifts the specified port to the right. The LSB is
' returned, and the value passed becomes the MSB.
'LeftPortShift - Shifts the specified port to the left. The MSB is
' returned, and the value passed becomes the LSB.
'IsDriverInstalled - Returns non-zero if io.dll is installed and
' functioning. The primary purpose of this function
' is to ensure that the kernel mode driver for
' NT/2000/XP has been installed and is accessible.
'Funciones personalizadas (ejemplo).
Public Function OutPort1(ByVal Num As Byte) As Byte
PortOut LPT1x, Num
OutPort1 = Num
End Function
Public Function InPort2() As Byte
Dim XB As Byte
XB = PortIn(LPT1x + 1)
InPort2 = XB
End Function
Public Function OutPort3(ByVal Num As Byte) As Byte
PortOut LPT1x + 2, Num
OutPort3 = Num
End Function
Public Function InPort3() As Byte
Dim XB As Byte
XB = PortIn(LPT1x + 2)
InPort3 = XB
End Function