PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : welche dll soll ich verwenden ?



Frosty
16.05.2006, 10:09
moin moin...
ich möchte via visual basic 6 professional auf die parallele schnittstelle zugreifen...im internet hab ich viel seiten gefunden wo drinsteht, dass man eine dll braucht....
nur welche jetzt ???
ich hab die io.dll, inpout16.dll, inpout32.dll oder port.dll
nur welche soll ich da nehmen ? angeblich sollen alle dafür da sein, um auf die parallele schnittstelle zuzugreifen...

welche würdet ihr nehmen ?

gruß Frosty

Frosty
16.05.2006, 11:14
zudem hab ich das problem, dass ich zwar viele tolle beispiele gefunden hab, was man mit der parallelen schnittstelle programmieren kann, aber bisher noch nie, wie ich die einzelnen Pins ansteuern kann...

des kann doch net soooo schwer sein... :(

Netbird
16.05.2006, 11:39
Hallo,

die DLL inpout32.dll ist richtig, allerdings musst du die richtige Version (abhängig von Windows) nehmen.

Port.dll ist zur Benutzung der seriellen Schnittstelle gedacht.
Hinweise siehe auf der Seite von B.Kainka: www.b-kainka.de

Ansprechen der Bits ist dort m.E. auch an Beispielen erläutert.

Viel Erfolg, Harald

Frosty
16.05.2006, 12:08
ok, danke ich schau mal nach

Frosty
16.05.2006, 12:18
die seite ist zwar schön und gut, nur ich finde keine beispiele für die PARALLELE SCHNITTSTELLE....ich hab mir dort mal ein zip file runtergeladen, mit allen beispielen in VB...leider alles für COM 1 und COM 2....nix für parallel... :(

oder hab ich da was übersehen ?

Frosty
16.05.2006, 13:20
hallo allerseits, ich hab eine FAQ zu diesem diesen Thema gefunden:

Deklaration

'inpout32.bas
'Inp und Out Deklarationen

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)


Parallelport ansprechen

Die Adresse des Parallelports hat bei LTP1 den Hexadezimalwert h378. Der Wert gibt die Zustände der Datenleitungen an, so wird z.B. Datenleitung 0 mit dem Wert 1 angesteuert, Leitung 2 hat den Wert 4. Also immer 2^n (n=Datenleitung 0 - 7) . Um mehrere Datenleitungen anzusteuern kann man einfach die Werte addieren. Um alle auszuschalten ist es der Wert 0. Beim Einlesen funktioniert das ganze eigentlich ebenso, nur wird dazu der Befehl Wert = INP [Adr.] verwendet.
************************************************** ****

sehe ich das richtig, dass ich dann z.B mit

1 = OUT (4)

dem 2. pin einen high pegel geben kann ?
oder hab ich da was falsch verstanden ?

gruß Frosty

Frosty
16.05.2006, 17:10
sodele, ich hab das mal so gemacht:
************************************************** *****************
Modul.bas:
[vb]'inpout32.bas
'Inp und Out Deklarationen

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)
[\code]
************************************************** *****************
Form1:
[vb]Private Sub aus_Click()
Out (4), (0)
End Sub

Private Sub ein_Click()
Out (4), (1)
End Sub
[\code]

ich hab dann mal an Pin 2 ein kabel angelötet, danach das kabel mit einem kleinen lämpchen verbunden und vom lämpchen aus wieder auf Pin 18 des LPT anschlusses...

tut sich leider nix
das lämpchen funktioniert, das hab ich getestet an dem kanns net liegen...

hat jemand ne idee ?

gruß Frosty