Ik heb in visual basic 6 dit progje geschreven:
Function control() As Byte
control = DlPortReadPortUchar(888)
End Function
Private Sub Form_Load()
Dim x As Integer
If Value < 0 Then Value = Value + 256
DlPortWritePortUchar Val(888), 255
FormMain.TextAddr = control
End Submet dlportio.dll maar als ik er een waarde 255 opzet dan krijg ik bij readen ook de waarden 255 ipv. de waarde die door mijn schakeling word doorgegeven. (in dos werkte het wel)
Eerst ga je de poort met 255 beschrijven en direct daarna ga je ze inlezen. Ik denk dat dat vrij normaal is, vind je niet:-)
(in dos werkte het wel)
Naast dos gebruik je ook windows neem ik aan dan maar welke windows?
En hoezo werkt het in dos wel. in VB6 kan je toch geen dos based progjes maken 
Ik gebruik windows 98 en in dos bedoel ik dan met quick basic. Dus het ligt niet aan de schakeling wil ik zeggen
Moet je die DLl wel gebruiken als je Win9x als os gebruikt? dus ik bedoel volgens mij moet je gewoon quick basic comando's gebruiken want de commando's die je nu gebruikt zijn voor die module/dll hoewel deze module/dll voor WindowsNT zijn, of niet? want je software ziet er toch goed uit en als je zegt dat de hw werkt...
Maar ik wil een windows progje schrijven. En geen dos progje. En in visual basic werken de commando's inp en out niet. In quick basic wel. Maar die is dos. (in de toekomst gaat ie misschien ook naar een 2003 machine. Maar ik wil het eerst dan op 98 werkend hebben) En deze dll werkt op 98 en op NT. Maar weten jullie dan een dll die ook werkt op 98 maar dan wel werkend? (stuur effe mail met bestand)
[Bericht gewijzigd door Leon Leijssen op ]
Windows NT (2000/XP/2003) schermt zijn hardware poorten af. Deze poorten zijn alleen toegankelijk met speciaal voor hardware gemaakte system drivers. Die dll hanteert een truukje om dit te omzeilen via een zo'n driver. Waarom deze dll niet werkt in 98 weet ik niet. Maar ben je zeker dat als je ALLEEN (zonder ze eerst uit te sturen) de poort inleest, dat er dan de juiste waarde niet opstaat?? vb. maak een pen van je LPT poort hoog en lees dan deze poort in?
Het datatype van Val(888) levert een Double op en van (888) is het een Integer.
Je hebt in beide gevallen een Long nodig. Probeer eens CLng(888) ofwel 888&
Check al je datatypen. Dat is belangrijk als je naar een Declare statement verwijst.
Hier stond vermoedelijk onzin i.v.m. ByVal. Ik weet het niet zeker
[Bericht gewijzigd door oorpijn op ]
Dit is nu zo jammer he, heb ik dus een compleet artikel over geschreven inc software en voorbeeld scripts. maar hier de webmaster is wat traag omdat hij geewoon tijd nood heeft dus mijn artikel staat er nog niet op,
Marcel
AVR C tutorial http://expand.xs4all.nl/avr
Poort adres 888 (378h) is standaard output. Heb je een bi-directionele poort (bij een moderne pc vrijwel altijd) dan kan je deze ook als input gebruiken. Om deze als input te gebruiken moet je hem wel eerst in input modus zetten. De 5 inputs van de poort die altijd aanwezig zijn (ook als de poort geen bi-directionele is) zitten op adres 889 (379h).
Zie http://www.beyondlogic.org/spp/parallel.htm voor uitgebreide info.
Jeroen Boere
IF you can't convince them, then confuse them!
Op 22 augustus 2004 23:19:42 schreef Professor-Botje:
Dit is nu zo jammer he, heb ik dus een compleet artikel over geschreven inc software en voorbeeld scripts. maar hier de webmaster is wat traag omdat hij geewoon tijd nood heeft dus mijn artikel staat er nog niet op,
send it to me