parallellport
parallellport
denan fråga ligger på forumet "projekt" också, men det va nog fel forum så jag provar här...
ska använda parallellporten för att ta emot data i ca 100kB/s, har hört att den ska klara upp till 1.5 MB/s i Epp mode. men när jag provar att läsa in data från en adomvandlare kommer jag bara upp i 6.25KB/s. kan det kianske bero på den den kerner-drive och dll-fil som man måste använda för att kommunicera genom parallellporten i windows xp??
ska använda parallellporten för att ta emot data i ca 100kB/s, har hört att den ska klara upp till 1.5 MB/s i Epp mode. men när jag provar att läsa in data från en adomvandlare kommer jag bara upp i 6.25KB/s. kan det kianske bero på den den kerner-drive och dll-fil som man måste använda för att kommunicera genom parallellporten i windows xp??
Du kommer nog upp 100kB/s i dos. Program för att komma åt parallellporten i windows brukar vara slö,
dock kan du skriva en drivrutin samt ha ett korrekt interface mot parallellporten så kan du komma upp 1.5MB/s
Men det är svårt att komma up i någon högre hastighet genom att bit banga, för jag antar att det är det du tänker göra?
dock kan du skriva en drivrutin samt ha ett korrekt interface mot parallellporten så kan du komma upp 1.5MB/s
Men det är svårt att komma up i någon högre hastighet genom att bit banga, för jag antar att det är det du tänker göra?
-
- Inlägg: 2360
- Blev medlem: 16 september 2003, 17:18:13
- Ort: Dubai, United Arab Emirates
- Kontakt:
Om du inte använder dig av all handskakning och liknande som finns i dom mer avancerade moderna för paralellporten så kanske det räcker att helt enkelt sätta porten i in-läge och sedan bara läsa datat från port 0x378.
Med io.dll från http://www.geekhideout.com/iodll.shtml kan jag läsa av porten ungefär 1 000 000 gånger per sekund från VB6 på min laptop.
Med io.dll från http://www.geekhideout.com/iodll.shtml kan jag läsa av porten ungefär 1 000 000 gånger per sekund från VB6 på min laptop.
DlPortIO.dll
Handskakning är inte relevant på parallellport,gäller com 1 mfl.
Du skall hämta och installera DlPortIO.dll när du kör på parallellporten
Då kommer du upp i dom hastigheter som du vill ha.
http://www.driverlinx.com/DownLoad/DlPortIO.htm
Återkom om du vill ha mer hjälp
Kolla gärna mitt program om du vill testa och experimentera
http://www.pellesoft.se/communicate/use ... spx?tid=53
Du skall hämta och installera DlPortIO.dll när du kör på parallellporten
Då kommer du upp i dom hastigheter som du vill ha.
http://www.driverlinx.com/DownLoad/DlPortIO.htm
Återkom om du vill ha mer hjälp
Kolla gärna mitt program om du vill testa och experimentera
http://www.pellesoft.se/communicate/use ... spx?tid=53
använder en dll som heter inpout32.dll (http://www.logix4u.net/inpout32.htm) och den innehåller en kerner drive som ger mig tillgång till IO på parallellporten. Så det funkar fint att skriva och läsa på parallellportens register, men inte i dom hastigheter som jag vill. Menar du att om jag använder en annan dll, tex DlPortIO.dll så går det fortare?
-
- Inlägg: 2360
- Blev medlem: 16 september 2003, 17:18:13
- Ort: Dubai, United Arab Emirates
- Kontakt:
Re: DlPortIO.dll
Huh? Är inte handskakning relevant på en paralellport? Nu tror jag nog att du får lov att läsa på lite.SvenPon skrev:Handskakning är inte relevant på parallellport,gäller com 1 mfl.
Redan den gamla stenålders-paralellporten handskakar med skrivaren med ack/strobe/busy/pe-linjerna. Dom nya enchanched bidirectionella portarna har ju ännu mer avancerad handskakning.
Handskakning är mycket mer än den XON/XOFF som du förmodligen refererar till.
inte bråka pojkar!!
ni ska ju hjälpa mig...
hansdkakningen är väl relevant om du väljer att använda den, har du inget behov av att verifiera att du läser av rätt data så kan du ju hoppa över den. Den handskakningen som moderna parallellportar använder för att öka hastigheten sker väl över databussen när du tex ska läsa av värdet på portens register?! tex så gör hårdvara att det i epp mode bara går en klockcykel av bussens klocka när du läser av registret mot fyra cykler i spp mode. och denna handskakning är ju inget man kan påverka...
eller har jag helt fel?
Åter till mitt problem!
jag vill inte använda handskakning i kommunicationen med min applikation, utan vill bara läsa av värden på parallellportens dataregister i en hastighet av 100 000 gånger/s.
kan denna hastighet påverkas av vilken dll man använder? eller kan det vara mitt program jag skrivit i vb.net som av någon anledning inte kan hämta data så snabbt?

hansdkakningen är väl relevant om du väljer att använda den, har du inget behov av att verifiera att du läser av rätt data så kan du ju hoppa över den. Den handskakningen som moderna parallellportar använder för att öka hastigheten sker väl över databussen när du tex ska läsa av värdet på portens register?! tex så gör hårdvara att det i epp mode bara går en klockcykel av bussens klocka när du läser av registret mot fyra cykler i spp mode. och denna handskakning är ju inget man kan påverka...
eller har jag helt fel?
Åter till mitt problem!

jag vill inte använda handskakning i kommunicationen med min applikation, utan vill bara läsa av värden på parallellportens dataregister i en hastighet av 100 000 gånger/s.
kan denna hastighet påverkas av vilken dll man använder? eller kan det vara mitt program jag skrivit i vb.net som av någon anledning inte kan hämta data så snabbt?
Parallellport
Oki om du kallar tex Ack mfl handskakning så ok.
Med min DlPortIO.dll läser jag porten så det bara "visslar" i en Loop
Tycker du skall ta hem den och testa och kolla på deras bifogade program.
I NT och XP måster du ha en extra driver i System32/Driver.
Den drivern som slutar på .sys kan vara skriven på ett felaktigt sätt.
finns olika lösningar. Min DlPortIO.sys är helt Ok.
Hur reglerar du loopen så att du märker att det bara blir 6.... ?
Med min DlPortIO.dll läser jag porten så det bara "visslar" i en Loop
Tycker du skall ta hem den och testa och kolla på deras bifogade program.
I NT och XP måster du ha en extra driver i System32/Driver.
Den drivern som slutar på .sys kan vara skriven på ett felaktigt sätt.
finns olika lösningar. Min DlPortIO.sys är helt Ok.
Hur reglerar du loopen så att du märker att det bara blir 6.... ?
Senast redigerad av SvenPon 7 september 2004, 13:27:02, redigerad totalt 1 gång.
Parallellport Driver
Har nu läst om den . dll du använder.Tydligen är kernel / drivern
inbyggd i dll :en. Ganska säker på att den är boven.
Porta om till och Installera DlPortIO.dll den mest korrekta lösningen jag känner till
http://www.driverlinx.com/DownLoad/DlPortIO.htm
Du måste installera som Administratör på din XP
PS
Jag är väldigt intresserad av att se din AD omvandlarlösning,sugen på ett
eget sampler projekt mot PC .Oscilliscope mm.
inbyggd i dll :en. Ganska säker på att den är boven.
Porta om till och Installera DlPortIO.dll den mest korrekta lösningen jag känner till
http://www.driverlinx.com/DownLoad/DlPortIO.htm
Du måste installera som Administratör på din XP
PS
Jag är väldigt intresserad av att se din AD omvandlarlösning,sugen på ett
eget sampler projekt mot PC .Oscilliscope mm.
bara för att kolla om det är loopen i VB-programmet som är slött och inte själva hämtningen från registret, menar du så?Vad händer med hastigheten om du kommenterar bort dll-anropet i ditt program och ersätter det med ett typ 'value=47'? Kan programet "sampla" 10 ggr fortare då?
SvenPo:
jag låter en ad-omvandlare sampla en given ramp-signal, och kan på så vis se hur lång tid som förflutit mellan avläsningarna av registret. ad-omvandlaren är 8-bitars med parallell utgång som jag kopplar direkt på datorns parallellport.
hur funkar "din" dll? måste det inte ingå en kernel-drive för att "lura" os att det handlar om kommunikation i kernel-mode och inte i user-mode som inte går i xp?
>hur funkar "din" dll? måste det inte ingå en kernel-drive för att "lura" os
Men för helvete läs vad jag skriver och testa vad jag föreslår
Du installerar en äkta Drivrutin som lägger sig i System32/Driver/DlportIo.sys
Installera den och kör så funkar det,jag har kört samplers med 48 000 byte stereo utan problem.Drivern klarar mer än din loop.
Men för helvete läs vad jag skriver och testa vad jag föreslår
Du installerar en äkta Drivrutin som lägger sig i System32/Driver/DlportIo.sys
Installera den och kör så funkar det,jag har kört samplers med 48 000 byte stereo utan problem.Drivern klarar mer än din loop.