[Electronica y programación] manejo del puerto paralelo...

Iniciado por BADBYTE-K, 27 Noviembre 2004, 11:11 AM

0 Miembros y 5 Visitantes están viendo este tema.

{_The_Alwar_}

Gracias Badbyte-k ya tengo todo aclarado... ya me explicaron lo del 0 y 1 logico...  para no joder la placa base del pc con estas cosas, que me hace falta? ¿Y si utilizo reles?

BADBYTE-K

depende, puedes usar reles con transistores de potencia o puedes usar unos dispositivos llamados "buffers" y otros llamados "drivers" que son los que se usa para trabajar con motores paso a paso


saludox

{_The_Alwar_}


BADBYTE-K

me parece que si, recuerda que de pais en pais varia el nombre de la s cosas este es un "driver"

el L293B:


{_The_Alwar_}

Gracias por la info, haber si aprendo a soldar y me pongo ha hacer cosas de estas

BADBYTE-K


CarWarlock

Buenas.

Por mi experiencia con el puerto paralelo me gustaría añadir que el impout32.dll corre muy bien con los Win9x/Me pero con los NT no hay manera, en canvio el IO.dll va de maravilla ya que su programación es más avanzada.
Para activar dispositivos en las salidas del puerto paralelo (relés,...) recomiendo el integrado I2004 que trabaja como driver y va perfecto.

Salu2.

{_The_Alwar_}

y como se usa en visual la IO? el I2004 donde me puedo hacer con el?

CarWarlock

Buenas.

Esta es la manera de llamar a la IO.dll, el código lo he sacado de un ejemplo que hice hace tiempo, si quieres el código fuente hazmelo saber y te lo enviaré.
Referente de como puedes encontrar el I2004 no tengo ni idea en mi trabajo lo pedimos a los grandes distribuidores y ellos nos lo proporcionan pero mi imagino que en cualquier tienda de electrónica lo puedes encontrar.


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 PortWordIn Lib "IO.DLL" (ByVal Port As Integer) As Integer
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



Dim sOrt As Byte       'valor de la salida puerto paralelo
Dim sIn As Byte         'valor de la entrada puerto paralelo

Dim pOut As Integer  'direccion del puerto paralelo
Dim pIn As Integer    'direccion del puerto paralelo


Private Sub Form_Load()

If IsDriverInstalled = True Then

    pOut = &H378           'puerto LPT1 (salida datos)
    pIn = &H379             'puerto LPT1 (Status )
   
    sOrt = 0                   'desactivo todas las salidas
    PortOut pOut, sOrt     lo saco por el puerto
   
    sIn = PortIn(pIn)       'obtengo el valor del puerto paralelo

Else
   MsgBox "El Driver no se encuentra cargado en memoria ", vbCritical + vbOKOnly, "Error"
   Unload Me
End If
End Sub


{_The_Alwar_}