obligada > microsoft.* > microsoft.vb

Dario (17-10-2003, 01:10)
Alguien sabe donde puedo leer para poder armar un cable serial y luego el
prg para poder prender y apagar cosas que esten en el puente con el PC?
Alberto Torres (17-10-2003, 07:40)
Por lo regular es algo complicado en lo personal me costo
algo de trabajo echarlo a funcinar en VB pero ahi te va
el tip.

ADVERTENCIA: Checate bien tu circuito o lo que vallas a
conectar al puerto pues puedes dañarlo. recuerda son 5v.
los que maneja el paralelo y 12v para el serial checate
bien las especificaciones.

En primera: no funciona con Windows XP no se porque
diablos pero marca un error y si lo corres con
compatibilidad con win95 etc no marca el error pero no
funciona si alguien sabe porque que me lo haga saber.

En segunda:

Create una dll en Delphi o en C++ que controle el puerto
paralelo (por el serial nunca lo he probado)despues la
jalas desde visual y ya.(Ahi te va el codigo...

de la dll en delphi...

{Codigo para inpout32.dll.
controla directamente los puertos mediante las
intrucciones en ensamblador(Inp y Out)solo bajo windows
95,98,me.
Compilado con Borland's Delphi 5.0.}
library inpout32;
uses SysUtils;
procedure Out32
(PortAddress:smallint;Value:smallint);stdcall;expo rt;
var
ByteValue:Byte;
begin
ByteValue:=Byte(Value);
asm
push dx
mov dx,PortAddress
mov al, ByteValue
out dx,al
pop dx
end;
end;

function Inp32
(PortAddress:smallint):smallint;stdcall;export;
var
ByteValue:byte;
begin
asm
push dx
mov dx, PortAddress
in al,dx
mov ByteValue,al
pop dx
end;
Inp32:=smallint(ByteValue) and $00FF;
end;
Exports
Inp32,
Out32;
begin
end.

Fin de la dll
Ahi te va el codigo en VB.6 para que la ocupes

Create un modulo que se llame inpout (yo asi le puse
ponle como quieras) agregas estas instrucciones.

'Declare Inp and Out for port I/O
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)

en tu form1 agrega un boton y un cuadro de texto y agrega
el siguiente codigo:

Option Explicit
Dim Value As Integer
Dim PortAddress As Integer
Private Sub cmdWriteToPort_Click()
'Escribe un byte en el puerto, y lo manda de regreso,

Out PortAddress, Value
Text1.Text = Inp(PortAddress)
Value = Value + 1
If Value = 255 Then Value = 0
End Sub
Private Sub Form_Load()
'Test de programa para inpout32.dll
Value = 255
'cambia este valor para tu puerto
'(Usualmente las direcciones de los puertos paralelos son
&h378, &h278, &h3BC)
PortAddress = &H378
End Sub

Modificalo a tu antojo y ahi me dices si te sirvio ok?

Atte.
Fco. Alberto Torres Vergara
Tomás (17-10-2003, 10:30)
Solución fácil:

Compra una placa de relees en cualquier tienda de electrónica. Suelen venir
ejemplos en varios lenguajes VB incluido. Y si no enviar un mail a Tomás que
te envía algún ejemplo :). Hay placas de relees a muchos precios. Con una
sencillita te basta. Te aconsejo placas de fabricantes alemanes. Son
bastante buenas y baratas.

Desde el ordenador controlas los relees (lo dicho muy fácil), y puedes
manejar cualquier cosa enchufada a esa placa. Sirenas, Luces etc.
Lo único difícil en esto es desarrollar la placa, pero como se puede comprar
ya hecha no tendrás ningún problema en hacer funcionar tus luces.

Saludos,
Tomás

"Dario" <dario> escribió en el mensaje
news:2676
Temas Similares