[VB} LPT poort wil niet open

Pagina: 1
Acties:

  • Sensei_D
  • Registratie: Maart 2002
  • Laatst online: 02-09 09:53
Zoals in de topictitel al staat lukt het me niet de paralelle poort te openen in VB (geintegreerd in excell) :(

Dit is een deel van wat ik heb:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Declare Function OPENCOM Lib "Port.dll" (ByVal A$) As Integer
Declare Sub CLOSECOM Lib "Port.dll" ()
Declare Sub SENDBYTE Lib "Port.dll" (ByVal b%)
Declare Function READBYTE Lib "Port.dll" () As Integer
Declare Sub DELAY Lib "Port.dll" (ByVal ms%)
Declare Sub OUTPORT Lib "Port.dll" (ByVal A%, ByVal b%)
Declare Function INPORT Lib "Port.dll" (ByVal p%) As Integer

...

Sub Get10schoon()
    If ComOpen > 0 Then
      MsgBox ("Openen parallelle poort gelukt")
      eoc = False
      teller = 0
    Else
      MsgBox ("Openen parallelle poort niet gelukt")
    End If
End Sub

...

En ja hoor, wat krijg ik als ik run: "Openen parallelle poort niet gelukt"
PLZ help me out! ;)

sensei_d.fpv channel


  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 20:26

Creepy

Tactical Espionage Splatterer

Waar komt ComOpen vandaan?? Ik zie die namelijk nergens in je declarates terug komen...

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


Verwijderd

Psies , zet ff option explicit boven aan je source, dan had die typo je al eerder opgevallen :Y)

  • Sensei_D
  • Registratie: Maart 2002
  • Laatst online: 02-09 09:53
Sorry, sorry, sorry, newbie foutje, kan gebeuren. Dit moet de begrijpbare code zijn :)
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
Declare Function OPENCOM Lib "Port.dll" (ByVal A$) As Integer
Declare Sub CLOSECOM Lib "Port.dll" ()
Declare Sub SENDBYTE Lib "Port.dll" (ByVal b%)
Declare Function READBYTE Lib "Port.dll" () As Integer
Declare Sub DELAY Lib "Port.dll" (ByVal ms%)
Declare Sub OUTPORT Lib "Port.dll" (ByVal A%, ByVal b%)
Declare Function INPORT Lib "Port.dll" (ByVal p%) As Integer

...

Function ComOpen() As Integer
  ComOpen = OPENCOM("lpt1:")
End Function

Sub Get10schoon()
    If ComOpen > 0 Then
      MsgBox ("Openen parallelle poort gelukt")
      eoc = False
      teller = 0
    Else
      MsgBox ("Openen parallelle poort niet gelukt")
    End If
End Sub

...

sensei_d.fpv channel


Verwijderd

welk os is het???

Verwijderd

Waar heb je die dll vandaan geplukt?

  • Sensei_D
  • Registratie: Maart 2002
  • Laatst online: 02-09 09:53
Dit is voor school en ik moest volgens de leraar port.dll hebben en die heb ik dus gedownload. De directe link weet ik echt niet meer :(
Ik draai XP en schrijf dit in de VB editor in excell. Uiteindelijk moet ik gegevens uit een ADC weten te krijgen

sensei_d.fpv channel


Verwijderd

Ehh die functie die je aanroept is om een seriele port te openen, niet zo gek dat 't weigert als je 'm verteld van ga m'n lpt maar openen...

  • Sensei_D
  • Registratie: Maart 2002
  • Laatst online: 02-09 09:53
dat vond ik ook raar, maar de leraar zei dat het zo ging. Voor de zekerheid zal ik het nog ff navragen

sensei_d.fpv channel


Verwijderd

voor de parralelle port moet je OUTPORT en INPORT gebruiken.

  • Sensei_D
  • Registratie: Maart 2002
  • Laatst online: 02-09 09:53
Zoiets las ik ook, maar hoe gebruik ik die, want als ik in plaats van OPENCOM, INPORT neerzet doet hij het niet :? Dan staat er namelijk: "typen komen niet overeen" als ik hem run :(

sensei_d.fpv channel


Verwijderd

Ben ik nu zo verkeerd ?

LPT aansturen/openen op een WinXP systeem ?
Enige software die ik maak is software in VB, via LPT en voor Win2k en WinXP

en dan gebruik je DlPortIO...

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 20:26

Creepy

Tactical Espionage Splatterer

Op woensdag 15 mei 2002 21:04 schreef Mr.ChronoM het volgende:
en dan gebruik je DlPortIO...
Dan KAN je DLPortIO gebruiken.. dat HOEFT niet.. er zijn meerdere drivers (dll's) die dit kunnen.

De reden dat bijv. ik DLPortIO gebruik is omdat het gratis te gebruiken is.

Een LPT poort aansturing is rechtstreeks de IO port's van de LPT aansturen. Je hoeft hem niet te "openen" of te "sluiten" zoals een COM poort.. (de IO poort van de data aansluitingen (d0-d7) van de LPT poort zit meestal op hex. 378 of hex. 278). Je kan wel je LPT poort openen als een bestand voor schrijven. Alle karakters die je dan schrijft worden rechtstreeks geprint, maar dat is waarschijnlijk niet wat jij wilt.

Gebruik de search eens.. er zijn hier al meerdere topic geweest over het aansturen van een LPT poort..

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


  • Sensei_D
  • Registratie: Maart 2002
  • Laatst online: 02-09 09:53
Ik heb ook de search gebruikt, maar de meeste gaan over het schrijven naar een LPT poort :( Ik moet dit niet, ik moet van die LPT poort lezen, kan dat ook met jullie DLL?

sensei_d.fpv channel


  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 20:26

Creepy

Tactical Espionage Splatterer

Die DLL weet niks van de LPT poort af. de DLL die jij gebruikt lijkt er ook voor geschikt!!! Zoals al gezegd boeit het geen ene ruk welke dll je gebruikt, zolang je maar rechtreeks I/O poorten kan benaderen, en om hiervan te lezen (de INPORT functie in jou geval).

Data lezen van de LPT poort is niet zo moeilijk hoor. Maar in SPP mod kan je bijv. niet van de data pinnen lezen. Pak er ff een LPT schema bij om te kijken welke pinnen standaard al input zijn. In ECP mode kan je de data pinnen wisselen tussen input en output. Hoe het precies in EPP mode zit weet ik niet, maar ik lees zelf ook nog data van de LPT af.

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


  • pkouwer
  • Registratie: November 2001
  • Laatst online: 07-10-2025
Er moet een document zijn van port.dll, ik heb hem ook wel eens gehad...

suc6

  • Sensei_D
  • Registratie: Maart 2002
  • Laatst online: 02-09 09:53
Hmm, net nu ik dacht hem voor elkaar te hebben krijg ik steeds een fout in XP. :( Volgens mij is dit ook het probleem. INPORT werkt niet in XP als ik port.dll gebruik :( Toch bedankt jongens

sensei_d.fpv channel


Verwijderd

Stap anders dan toch over op dlportio die werkt gegarandeerd op XP

  • Sensei_D
  • Registratie: Maart 2002
  • Laatst online: 02-09 09:53
Ik heb het nu ff getest in '98 en dan doet hij het ook niet. Ik krijg hier een fout: runtime error '48'
code:
1
x= INPORT(&H379) And 8

En kan iemand mij vertellen waarvoor die "And 8" is want dit komt van mijn leraar :)

sensei_d.fpv channel


  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 20:26

Creepy

Tactical Espionage Splatterer

Op woensdag 22 mei 2002 14:31 schreef MariahCareyLover het volgende:
Ik heb het nu ff getest in '98 en dan doet hij het ook niet. Ik krijg hier een fout: runtime error '48'
code:
1
x= INPORT(&H379) And 8

En kan iemand mij vertellen waarvoor die "And 8" is want dit komt van mijn leraar :)
Bitsgewijze AND van wat er terug komt van de LPT poort met 8 (is het 4de bit) (10101010 AND 0001000 = 000000....... 10111010 AND 0001000 = 000100)

Als x nu 8 (=0001000) is (of <>0) dan is het 4de bit gezet. Als je bijv. knoppen aan de LPT poort hebt hangen, kan je zo bijv. nagaan of een knop ingedrukt is of niet.

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


Verwijderd

Die runtime error met DlPortIO had ik ook. Bleek aan de types te liggen: probeer eens alles van bytes tot superlongints uit, tot het een beetje werkt. En als het gelukt is, is het runtime spook voorgoed verdwenen :)

  • Sensei_D
  • Registratie: Maart 2002
  • Laatst online: 02-09 09:53
Ik heb nu geprobeerd om met dlportio.dll te werken. Deze heb ik in de map bij mijn programma gezet samen met een dlportio.sys :? Dit is nu het programma in excel:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
Option Explicit
Declare Function OPENCOM Lib "C:\mijn documenten\tekst\nieuwe zooi\dlportio.dll" (ByVal A$) As Integer
Declare Sub CLOSECOM Lib "C:\mijn documenten\tekst\nieuwe zooi\dlportio.dll" ()
Declare Sub SENDBYTE Lib "C:\mijn documenten\tekst\nieuwe zooi\dlportio.dll" (ByVal b%)
Declare Function READBYTE Lib "C:\mijn documenten\tekst\nieuwe zooi\dlportio.dll" () As Integer
Declare Sub DELAY Lib "C:\mijn documenten\tekst\nieuwe zooi\dlportio.dll" (ByVal ms%)
Declare Sub OUTPORT Lib "C:\mijn documenten\tekst\nieuwe zooi\dlportio.dll" (ByVal A%, ByVal b%)
Declare Function INPORT Lib "C:\mijn documenten\tekst\nieuwe zooi\dlportio.dll" (ByVal p%) As Integer

Sub BlokSchoon()
  Worksheets("Sheet1").Range("A1:C10").ClearContents
End Sub

Sub Get10schoon()
  Const interval = 1000
  BlokSchoon
  Dim lees$
  Dim teller As Integer
  Dim eoc As Boolean
  Dim ad As Integer
  Dim i As Integer
  Dim x As Byte
  Dim y As Byte
  Dim channel As Byte
  channel = 0
    eoc = False
    teller = 0
    Do
    teller = teller + 1
    x = INPORT(&H378) And 8
    If x > 0 Then
      eoc = True
    End If
    Loop Until ((eoc = True) Or (teller >= 1000))
    If (teller >= 1000) Then
    MsgBox ("Timeout; geen EOC gedetecteerd")
    Else
    ad = 0
    For i = 1 To 12
      If i <= 4 Then x = 2 ^ (4 - i) Else x = 0
      x = channel And x
      If x > 0 Then y = 4 Else y = 0
      OUTPORT (&H378), y
      ad = ad * 2
      x = INPORT(&H378) And &H10
      If x > 0 Then ad = ad + 1
      OUTPORT (&H378), y + 2
      OUTPORT (&H378), y
    Next i
    Cells(3, 3) = "Waarde:"
    Cells(3, 4) = ad
    End If
  
End Sub

Nu krijg ik weer een nieuwe fout :( namelijk: kan ingangspunt van DLL INPORT in C:\mijn documenten\tekst\nieuwe zooi\dlportio.dll niet vinden. :? Weet iemand hoe ik dit kan oplossen?? (dit is weer in XP)

sensei_d.fpv channel


  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 20:26

Creepy

Tactical Espionage Splatterer

De functie prototypen van DLPortIO zijn anders dan die van die port.dll die jij had. Bij de voorbeelden van DLPortIO staat ook een voorbeeld voor VB code, daar staan de goede functie declaraties.

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


  • Sensei_D
  • Registratie: Maart 2002
  • Laatst online: 02-09 09:53
Is er eigenlijk wel iemand hier die weet hoe port.dll moet worden gebruikt om de printerpoort aan te spreken en dan gegevens binnen kan halen van een ADC :( Er moet rekening gehouden worden met de conversietijd en dat zit erin met een loop,maar dan krijg ik een timeout :'(

sensei_d.fpv channel


  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 20:26

Creepy

Tactical Espionage Splatterer

Ik gebruik zelf DLPortIO.dll (en ik gok de meesten hier die onder 2k of xp directe I/O willen doen).

Die port.dll ken ik niet, maar zal op dezelfde manier werken als de DLPortIO gok ik.

Je krijgt een time-out.. op het lezen van de LPT poort??? Of in iets anders?? Weet je 100% zeker dat je correcte waarden gelezen krijgt van de LPT poort?

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


  • Sensei_D
  • Registratie: Maart 2002
  • Laatst online: 02-09 09:53
WOOHOO!!! gelukt! :P Eindelijk, ik had wat poortadresjes verkeerd staan |:(

sensei_d.fpv channel

Pagina: 1