Yo tengo un desarrollo en Visual Basic que utilizo en mi empresa y controla un proyector LCD a través del puerto paralelo.
Utilizo la librería "inpout32.dll" en Windows XP.
Así la declaro:
Codigo:
Public Declare Function Inp Lib "inpout32.dll" _
Alias "Inp32" (ByVal PortAddress As Integer) As Integer
Public Declare Sub Out Lib "inpout32.dll" _
Alias "Out32" (ByVal PortAddress As Integer, ByVal Value As Integer)
Y así invoco al puerto:
Codigo:
Sub Envía()
Select Case salida
Case 0: Text4.Text = "000"
Case 1: Text4.Text = "100"
Case 2: Text4.Text = "010"
Case 3: Text4.Text = "110"
Case 4: Text4.Text = "001"
Case 5: Text4.Text = "101"
Case 6: Text4.Text = "011"
Case 7: Text4.Text = "111"
End Select
Call Out(&H378, salida)
End Sub
Nunca me ha fallado. De todas formas, te advierto que lo que no he podido evitar es el montón de 1 y 0 que envía el ordenador al puerto paralelo en el BOOT. Para que eso no afecte al circuito, el hardware tendrá que estar diseñado para no ponerse en marcha hasta que reciba determinada secuencia de inicio, porque si no hará locuras en el arranque.
Un saludo