Sida 1 av 1

Styra LPT porten via VB6?

Postat: 29 januari 2004, 11:12:04
av Fagge
Nu har jag börjat att komma i gång med VB6, men vad krävs för att kunna läsa & skriva till LPT & Com porten?.
Nån DLL fil eller subbrutin eller hur gör man ?.

Postat: 29 januari 2004, 12:11:02
av Illuwatar
Vilket OS kör du på? Är det något NT-baserat (Win2000/XP)? NT-baserade OS tillåter inte direkt-access till hårdvaran. Man behöver någon form av driver för detta.

Detta kanske kan vara något:I/O Driver för 95/NT

Denna används bland annat av LCD Smartie för att kunna styra LCD'er via parallellporten.

Postat: 29 januari 2004, 13:02:10
av Fagge
Jag kör xp.
Ok, men hur får jag kontakt med portarna via VB nu då med
"I/O Driver för 95/NT"

Tex. Om jag vill sätta en 1 på Data0 på LPT porten, när jag trycker på en knapp, Hur gör jag då?.

Postat: 29 januari 2004, 13:42:07
av Illuwatar
Har inte använt denna driver själv. Följde det inte med någon dokumentation?

Postat: 29 januari 2004, 15:34:08
av mrmike
Annars kan du testa inpout32.dll. Jag har inte använt den själv.

tjaaa...

Postat: 29 januari 2004, 17:48:23
av anlamotte
Hejsan..

Jag har gjort ett liknande program i VB6, det styr en 4*20 VFD display på
parallellporten...

Jag använder mig av en DLL fil som heter inpout32.dll , i den finns 2
funktioner 'Inp' och 'Out' som man kan använda för att läsa resp. skriva till parallellporten...

deklaration:

Kod: Markera allt

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)
(i en modul)

Du måste veta vilken adress parallellporten du har tänkt använda har...
Min LPT1 har t.ex &H278

Kod: Markera allt

Const LPTadr As Long = &H278
Detta är LPT portens 'basadress' som används för att komma åt själva dataporten (D0-D7), sedan finns ett status register som har adressen 'basadress + 1' samt ett kontroll register som har 'basadress + 2'

Kod: Markera allt

Out LPTadr, Asc("A")
skulle t.ex skicka ett 'A' (65) till dataporten (D0-D7)

Kod: Markera allt

 Out LPTadr + 2, 1
 Out LPTadr + 2, 0
kan t.ex användas för att ge en puls på strobe-signalen (och de andra i kontroll registret)

Postat: 29 januari 2004, 23:50:42
av RDX*
Du kan titta in hos http://www.geekhideout.com/iodll.shtml Där finns info och *.dll filer som hjälper dig att komma åt parallellporten från VB.

Där finns även programmet "Parmon". Som simulerar porten så du kan se vilket tillstånd porten är i.