Styra LPT porten via VB6?

Elektronik- och mekanikrelaterad mjukvara/litteratur. (T.ex schema-CAD, simulering, böcker, manualer mm. OS-problem hör inte hit!)
Användarvisningsbild
Fagge
Inlägg: 3930
Blev medlem: 27 maj 2003, 13:59:51
Ort: Blekinge

Styra LPT porten via VB6?

Inlägg 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 ?.
Användarvisningsbild
Illuwatar
Inlägg: 2256
Blev medlem: 10 november 2003, 14:44:27
Skype: illuwatar70
Ort: Haninge
Kontakt:

Inlägg 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.
Användarvisningsbild
Fagge
Inlägg: 3930
Blev medlem: 27 maj 2003, 13:59:51
Ort: Blekinge

Inlägg 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å?.
Användarvisningsbild
Illuwatar
Inlägg: 2256
Blev medlem: 10 november 2003, 14:44:27
Skype: illuwatar70
Ort: Haninge
Kontakt:

Inlägg av Illuwatar »

Har inte använt denna driver själv. Följde det inte med någon dokumentation?
Användarvisningsbild
mrmike
Inlägg: 301
Blev medlem: 29 oktober 2003, 20:40:12

Inlägg av mrmike »

Annars kan du testa inpout32.dll. Jag har inte använt den själv.
Användarvisningsbild
anlamotte
Inlägg: 859
Blev medlem: 5 augusti 2003, 15:54:34
Ort: Stockholm
Kontakt:

tjaaa...

Inlägg 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)
Användarvisningsbild
RDX*
EF Sponsor
Inlägg: 1645
Blev medlem: 28 maj 2003, 22:52:04
Ort: Skåne - Lund

Inlägg 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.
Skriv svar