itthon / Online szolgáltatás / Az lpt illesztőprogramja Windows 7-en. Portok (COM és LPT). Az illesztőprogram telepítése az LPT porthoz

Az lpt illesztőprogramja Windows 7-en. Portok (COM és LPT). Az illesztőprogram telepítése az LPT porthoz

Mindenki, aki megpróbál bármilyen eszközt csatlakoztatni az LPT-porthoz, szembesül ezzel a problémával. Amint azt mondja a programnak, hogy "használjon LPT-t", hibaüzenetet kap - ez a jobb oldali képernyőképen látható. Tehát próbáljuk meg kitalálni és megjavítani.

Ebbe egy 1-LPT és 2-COM portos vezérlőkártya hozzáadásakor futottam bele. Határozott igény volt erre - Band - RU -005A dekódoló csatlakoztatása. Erről a következő cikkben lesz szó. Addig is szeretnék beszerezni egy megfelelően működő LPT -portot a Win -Testben Windows -7 (64 bites) alatt.

A modern számítógépek már jó ideje nem rendelkeznek párhuzamos porttal. Alternatív megoldásként további vezérlőt is helyezhet bele. Ne félj ettől a szótól, nincs benne semmi szörnyű. A fenti hiba egyszerű oka: a DriverLINX illesztőprogram és könyvtár (DLPortIO.sys + DLPortIO.dll) nem létezik Windows verziók x86-64 architektúrához (AMD64, Intel64). A fejlesztő Scientific Software Tools Inc. leállította a meghajtó támogatását, átadta egy másik cégnek, és csak a 32 bites verziónál álltak le. A Microsoft vállat von, és elküldi a gyártónak. Ennek ellenére van egy jó csomag – ez az InpOut32 (hwinterface.sys+inpout32.dll), és még az InpOutx64 64 bites verziója is hwinterfacex64.sys illesztőprogrammal.

Térjünk át az elmélettől a gyakorlati megvalósítás felé. Raktáron:

  • A Win-Test 4.10-es verziója frissítve Revision: 524 kiadásra, 2013. július 13-án.
  • Windows 7 Ultimate (64 bites) minden frissítéssel.
  • Intel Core i7-3770 (3,4 GHz) + PC3-10700 (667 MHz) 8x2=16 Gb + Asus P8Z77-V LX
  • Vezérlő * PCI COM/LPT (2+1) port WCH353 tömeges

Vezérlő telepítés

Maga a vezérlő valójában semmi érdekes, és a neve is szinte teljes képet ad - két COM és egy LPT port, PCI-be van telepítve. Maga az eszköz olcsó, és 360 rubelbe (kb. 12 dollárba) kerül, Kínában gyártották.

A csomagolás OEM volt. Tartalmaz két kábelt COM portokkal egy konzolon és egy lemezt állítólagos meghajtókkal. Nem telepítettem őket, mert már előre tudtam, hogy nem illenek. Minden út a gyártó telephelyére vezetett. Minden esetre adok egy linket, és felteszem ugyanazt az illesztőprogramot az archívumba.


A vezérlő telepítési eljárása nem okozott problémát - minden meglehetősen egyszerű. Kikapcsoljuk a számítógépet, telepítjük egy szabad PCI foglalatba, bekapcsoljuk, telepítjük az illesztőprogramot. A csomag tartalmaz egy telepítőt. A felülete nem bonyolult és érthető. mindenen keresztülmentem automatikus észlelés kártya típusa és elég volt csak az Illesztőprogram telepítése gombra kattintani. A telepítési folyamatot egy mozgó csík kíséri a felületen, minden nagyon világos.

A program lehetővé teszi a portok újbóli hozzárendelését, ha szükséges. Például, ha vannak virtuális COM-portok. Ehhez a telepítés után kattintson a Névjegy és a Portnév módosítása gombra.

A megadott képernyőképek nem igényelnek külön megjegyzést, kattintson és a képek nagyobbak lesznek. Minden az Ön kezében van – saját belátása szerint és igényei szerint konfigurálja a megjelent új portokat.

A sikeres telepítés eredménye az, hogy ezek az eszközök jelen vannak a számítógép Eszközkezelőjében. Menj oda és ellenőrizd. Az én esetemben az alaplapon már volt integrált COM -port (hát .. kell). Ennek megfelelően a portok listája így alakult:

Lehetséges, hogy ismernie kell ennek a portnak a címét, és helyesen kell megadnia a program beállításaiban, ahol ezt a portot használni fogja. Az alapértelmezett portcímek a következők:

LPT -1 - 378

LPT-2 - 278

LPT -3 - 3BC

Esetünkben eltérnek a megszokott értékektől, mert ezek a portok nincsenek beépítve az alaplapba, és a velük való kommunikáció a PCI buszon keresztül történik. Az én verziómban működött D010(az első értéket használjuk). Ezért egy ilyen vezérlő telepítése (vásárlása) előtt ellenőrizze, hogy a programja képes-e más I / O tartományok beállítására.

Ennek ellenére az illesztőprogramok tartalmaznak egy kis segédprogramot, amely lehetővé teszi az ilyen címek újbóli hozzárendelését (nem értettem, nincs szükség).

Körülbelül 10-15 évvel ezelőtt a párhuzamos port meglehetősen népszerű interfész volt az eszközök közötti kommunikációhoz. Ma a gyártók különféle eszközök jobban szeret soros interfészek. Az LPT port azonban ma is megtalálható. Egyes fejlesztők pedig még mindig írnak rá programokat (vagy támogatják azokat, amelyeket a párhuzamos interfészek virágkorában írtak). De a számítógépekben az LPT port meglehetősen ritkaság. Természetesen léteznek olyan számítógépes bővítőkártyák, amelyek megvalósítják az LPT interfészt. Ezek alapvetően táblák PCI busz. Sajnos nem minden szoftver, ami integrálásra készült alaplap Az LPT portok működnek az LPT-PCI kártyákkal.

A probléma megoldását javasoljuk: egy .NET alatt írt programosztályt és egy LPT-vel együttműködő dinamikus könyvtárat. Ez a megvalósítás 32 bites és 64 bites Windows XP, Windows 7, 8 és 10 rendszereken tesztelve beépített LPT portokkal és bővítőkártyaként a PCI vagy PCI-Express buszon. Az LPT porthoz tartozó illesztőprogramot a cikk utáni alábbi linkről töltheti le.

1 Illesztőprogram telepítése LPT porttal dolgozni

A mellékelt archívum két mappát tartalmaz – a Windows 32 bites és 64 bites verzióihoz. Az egyik mappa egy fájlt tartalmaz InstallDriver.exe. Először futtassa ezt a fájlt, amely telepíti a dinamikus könyvtárakat a rendszeren. Ezt követően a számítógépet újra kell indítani.

A javasolt illesztőprogram használatához a fájlok inpout32.dllés inpoutx64.dll ugyanabban a könyvtárban kell lennie, mint a program futtatható fájljának.

2 Programosztály könyvtárak használatával LPT porttal működik

Írtam egy osztályt a .NET-hez, amely dinamikus könyvtárakat használ inpout32.dllés inpoutx64.dllés lehetővé teszi az adatok olvasását a párhuzamos portról és adatok írását a regisztereibe.

Az említett könyvtárakat nem én írtam. Egy kényelmes csomagoló osztályt javaslok, amely leegyszerűsíti az ezekkel a könyvtárakkal végzett munkát. Ezenkívül a fájlban található könyvtárak szerzője readme.txt arról számol be, hogy az illesztőprogramja nem támogatja a PCI-eszközöket. Sikerült elindítanom, hogy az integrált párhuzamos porttal és a PCI-Express buszon bővítőkártyaként megvalósított LPT porttal is működjön. Ezenkívül a port jól működik mind a modern Windows10 x64-en, mind a régebbi rendszereken.

Íme az LPT osztálykód a VB.NET-ben:

LPT osztálykód a VB.NET-ben(kibővül) System.Runtime.InteropServices """ importálása """ Az LPT porttal működik. Létrehozáskor észleli az illesztőprogram jelenlétét, és kiválasztja a megfelelő könyvtárat. """ Nyilvános nem örökölhető osztály LPT #Régió "CONST" Public Const DLL32 As String = "c:\temp\inpout32.dll" Public Const DLL64 As String = "c:\temp\inpoutx64.dll" Nyilvános Const DLL32DRV As String = "c: \temp\inpoutx32drv.dll" """ """ Párhuzamos port-regiszterek. """ Nyilvános névjegyzék """ egész számként """ SPP/EPP adatregiszter. """ ADATOK = 0 """ """ SPP/EPP állapotregiszter. """ÁLLAPOT = ADAT + 1 """ """ SPP/EPP vezérlőregiszter. """ CONTROL = ADAT + 2 """ """ EPP-címregiszter. Az olvasás vagy írás az EPP-címhez kapcsolódó olvasási vagy írási ciklust generál. """ EPP_ADDRESS = ADAT + 3 """ """ EPP adatregiszter. Az olvasás (írás) egy kapcsolódó olvasási (írási) EPP adatciklust generál. """ EPP_DATA = DATA + 4 """ """ EPP mód engedélyezési regiszter. """ """ """ Ha csak kevert "ECP + EPP" vagy "Extended" - valószínűleg a 0x80 """ bájtot is be kell írnia az ECR portra (az ECR az ECP mód regisztere, az ECR=BASE_ADDR+0x402, a BASE_ADDR a a """ LPT port alapcíme ECR = DATA + &H402 "TESZT End Enum #End Region "/CONST #Region "DllImport" Privát megosztott függvény IsInpOutDriverOpen() Byte End függvényként Privát megosztott függvény IsInpOutDriverOpen_x64() mint UInt64 végfüggvény Privát megosztott függvény Inp32 (PortAddress mint UInt32) mint bájtvégi függvény Privát Megosztott Sub Out32 (portAddress mint UInt32, adatok mint UInt32) End Sub Privát megosztott függvény Inp64 (PortAddress As UInt64) As Byte End Function Privát megosztott Sub Out64(PortAddress mint UInt64, Adatok mint UInt64) Vége Sub #End Régió "/DllImport #Régió "CTOR" """ """ Ellenőrzi, hogy az x86 vagy x64 illesztőprogram használható-e. Ha nem, akkor "az illesztőprogram nincs telepítve" kivételt dob. """ Shared Sub New() Dim x86 As Boolean = CheckIsDriverX86() Dim x64 As Boolean = CheckIsDriverX64() If x64 then _IsX64DriverUsed = True ElseIf x86 then _IsX64DriverUsed = False Else port, LPT ("Meghajtó nem dob új rendszerhez)" Befejezés """ """ Port inicializálása - XXXX0100"b beállítás a vezérlőregiszterben. """ Privát Megosztott Sub InitLpt(port As ULlong) Write(port, Register.ECR, &H80) Write(port, Register.CONTROL, &H4) End Sub #End Régió "/CTOR #Régió "PROPS" """ """ Az illesztőprogram 64 bites-e. """ NULL értéket ad vissza, ha az illesztőprogram nincs telepítve. """ Nyilvános megosztott, csak olvasható tulajdonság: IsX64Driver As Boolean? Get Return _IsX64DriverUsed End Get End Property Private Shared Only Reading _IsX64DriverUsed As Boolean? = Semmi #End Régió "/PROPS #Régió "METHODS" """ """ Megadja, hogy az illesztőprogram 32 bites-e. """ Privát megosztott függvény CheckIsDriverX86() As Boolean Try Dim res As Byte = IsInpOutDriverOpen() Return True Catch ex As Exception Return False End Try End Function """ """ Megadja, hogy az illesztőprogram 64 bites-e. """ Privát megosztott függvény CheckIsDriverX64() mint logikai Próbálja Dim nResult As ULong = IsInpOutDriverOpen_x64() Return (nResult<>0) Fogás ex kivételként Return Hamis Vége Próbálja vége Funkció #End Régió "/METHODS #Régió "LPT-port olvasása/írása" """ """ 1 bájtnyi adatot olvas be a megadott port LPT-regiszteréből. """ """ Port száma. """ kikötői nyilvántartás. Nyilvános megosztott függvény olvasása(port As ULlong, Opcionális reg As Register = Register.DATA) As Byte Dim data As Byte = 0 If IsX64DriverUsed Then data = Inp64(CULng(port + reg)) Else data = Inp32(CUInt(port + reg) )) End If Return data End Function """ """ Számot ír a megadott port LPT regiszterébe. """ """ Port címe. """ kikötői nyilvántartás. """ Public Shared Sub Write(port As ULlong, reg As Register, data As ULlong) If IsX64DriverUsed Then Out64(port + CULng(reg), adat) Else If (adat<= UInteger.MaxValue) Then Out32(CUInt(port + reg), CUInt(data)) Else Throw New ArgumentException("В 32-разрядных системах аргумент должен быть 32-разрядным (тип UInt32).", "data") End If End If End Sub #End Region "/Read / Write LPT Port """ """ LPT port jelenlétét teszteli a megadott címen. """ """ Párhuzamos port címe. Nyilvános megosztott függvény CheckPortPresent(lptAddress As ULlong) As Boolean Dim portPresent As Boolean = False Próbáld ki InitLpt(lptAddress) Dim data As ULong = Read(lptAddress, Register.DATA) ? Write(lptAddress, Register.DATA, &H0) portPresent = portPresent And (&H0 = Read(lptAddress, Register.DATA)) Write(lptAddress, Register.DATA, &H55) portPresent = portPresent And (&H55 = Read(lptAddress, Register.DATA) ) )) Write(lptAddress, Register.DATA, &HAA) portPresent = portPresent And (&HAA = Read(lptAddress, Register.DATA)) Írja (lptCím, Regiszter.ADATOK, adatok) adatokat, ha a port nem található (a egyirányú port<>0) AndAlso(adat<>&HFF)) "Not null? => Port jelen. If (Not portPresent) Akkor data = Read(lptAddress, Register.STATUS) portPresent = ((adat<>0) AndAlso(adat<>&HFF)) End If End If Catch ex Kivételként Return False End Try Return portPresent End Function End Class "/LPT

LPT osztálykód C#-ban:

LPT osztálykód C#-ban(kibővül) a Rendszer használatával; a System.Diagnostics használatával; a System.Runtime.InteropServices használatával; névtér LPTIO ( /// Osztály LPT porttal való munkavégzéshez. Létrehozásakor meghatározza az illesztőprogram jelenlétét és annak bitmélységét. nyilvános zárt osztályú LPT( private const string DLL32 = "inpout32.dll"; private const string DLL64 = "inpoutx64.dll"; private static bool _IsX64DriverUsed; /// Az illesztőprogram 64 bites-e. public static bool IsX64DriverUsed ( get ( return LPT._rUsedX64Drive ;) ) statikus LPT()( if (LPT.getIsDriverX86()) ( LPT._IsX64DriverUsed = false; ) else ( if (!LPT.getIsDriverX64()) dobja új SystemException("Az LPT-port illesztőprogramja nincs telepítve."); LPT._IsX64DriverUsed = true; ) ) public LPT() ( ) privát statikus külső bájt IsInpOutDriverOpen(); privát statikus külső ulong IsInpOutDriverOpen_x64(); privát statikus külső bájt Inp32(uint PortAddress); privát statikus külső void Out32(uint portcím, uint adatok); privát statikus külső bájt Inp64(ulong PortAddress); privát statikus külső void Out64 (hosszú portcím, hosszú adatok); /// Meghatározza, hogy az illesztőprogram 32 bites Windowshoz való-e. privát statikus bool getIsDriverX86()( bool flag; try ( LPT.IsInpOutDriverOpen(); flag = true; ) catch (Exception ex) ( ProjectData.SetProjectError(ex); flag = false; ProjectData.ClearProjectError(); ) return flag; ) /// Meghatározza, hogy az illesztőprogram 64 bites Windowshoz készült. privát statikus bool getIsDriverX64()( bool flag; try ( flag = Decimal.Compare(new Decimal(LPT.IsInpOutDriverOpen_x64()), Decimal.Zero) != 0; ) catch (Exception ex) ( ProjectData.SetProjectError(ex); flag = false; ProjectData. ClearProjectError(); ) return flag; ) /// 1 bájtnyi adatot olvas be az LPT portról. /// Port száma. /// kikötői nyilvántartás. nyilvános statikus bájt Olvasás (hosszú port, LPT.Regiszter reg = LPT.Regisztr.ADATOK)( return !LPT.IsX64DriverUsed ? LPT.Inp32(Convert.ToUInt32(Decimal.Add(new Decimal(port), new Decimal((int) reg)))) : LPT.Inp64(Convert.ToUInt64(Decimal.Add(new) Decimal(port), new Decimal((int) reg)))); ) /// Számot ír az LPT portra. /// Port címe. /// kikötői nyilvántartás. /// A beírandó szám. 32 bites rendszereken az argumentum nem lehet nagyobb, mint az UInt32 típus maximális értéke. public static void Írás(hosszú port, LPT.Register reg, ulong data)( if (LPT.IsX64DriverUsed) ( LPT.Out64(checked (port + (ulong) (uint) reg), data); ) else ( if (data > (ulong) uint.MaxValue) dobja új ArgumentException("In 32- bitrendszereken az argumentumnak 32 bitesnek kell lennie (UInt32 típus).", "data"); LPT.Out32(Convert.ToUInt32(Decimal.Add(new Decimal(port), new Decimal((int) reg)) ), ellenőrizve ((uint) adatok)); ) ) /// LPT port regiszterek. nyilvános enum Nyilvántartás( ADATOK, ÁLLAPOT, VEZÉRLÉS, ) )

3 .NET osztály alkalmazása LPT porttal dolgozni

Ha megnézzük az exportált könyvtári függvények listáját inpout32.dll csodálatos eszközzel DLL Export Viewer a NirSofttól a következő képet fogjuk látni:

Ez a használható funkciók listája. Valójában mindegyiket használják az osztályban LPT, de a megvalósítás rejtett, és a nyilvános metódusok közül csak két metódus és egy tulajdonság érhető el a felhasználó számára (ezekről egy kicsit bővebben lesz szó).

Példányosításkor az osztály maga határozza meg, hogy melyik bitkönyvtárat használja - inpout32.dll vagy inpoutx64.dll. Ezért a felhasználónak nem kell semmilyen lépést tennie a használt bitmélység inicializálása vagy a bitmélység meghatározása érdekében dll. Azonnal írhat vagy olvashat az LPT-portról. Egy „de”: ha az illesztőprogram nincs telepítve, a dinamikus könyvtári metódusok elérése kivételt jelent, ezért javaslom a blokkok használatát Próbáld... Fogd a kivételek felfogására és kezelésére.

Néhány példa az osztály használatára LPT.

Annak meghatározásához, hogy az illesztőprogram 64 bites verzióját (inpoutx64.dll, ha igaz) vagy 32 bites verzióját (inpout32.dll, ha hamis) használja (valójában nem kell tudnia, az osztály pontosan a könyvtárat használja amire szüksége van, de hirtelen valamiért, amit meg kell találnia a programból):

bool is64bitDriver = LPT.IsX64DriverUsed;

A „123” szám beírásához a port LPT vezérlőregiszterébe hívja az osztályát:

LPT.Write(currentPort, LPT.Register.CONTROL, 123);

Egy bájt beolvasása a port LPT adatregiszteréből és az állapotregiszter beolvasása:

bájt = LPT.Read(aktuális port, LPT.Regisztr.ADATOK); bájt s = LPT.Read(aktuális port, LPT.Regisztr.ÁLLAPOT);

Itt currentPort - LPT port címe. Sőt, ha van integrált LPT-portja, akkor valószínűleg a címe lesz 378 óra. És ha van egy LPT port a bővítőkártyán, akkor a cím más lesz, például D100h vagy C100h.

Az LPT-port címének megtudásához lépjen a menedzserhez Windows eszközök, keresse meg a részt COM és LPT portok, válassza ki a használni kívánt párhuzamos portot, és a tulajdonságok ablakban (jobb gombbal rákattintva) nézze meg, hogy a kiválasztott port milyen erőforrásokat használ (a tartomány első értékét kell venni).


Például ebben az esetben a portszámot kell használnia C100.

Mellékletek letöltése:

  • Illesztőprogram letöltése LPT porthoz (3281 letöltés)

A vezérlő csatlakoztatása USB-LPT adapterrel

1 Állítsa be a Mach3-at, hogy USB-LPT adapterrel működjön

1.1 USB-LPT adapter használatakor a mach3usb.dll fájlt a c:\mach3\plugins mappába kell másolnia.

1.2 Az eszköz működéséhez illesztőprogramot is telepítenie kell.

Ehhez csatlakoztassa az adaptert az USB-hez számítógép port.

Várjuk, hogy az operációs rendszer észlelje a csatlakoztatott eszközt.

A „Vezérlőpult” → megnyitásaAz "Eszközkezelő" az "Egyéb eszközök" részben található - CNC vezérlő, 1. ábra.

1. kép

Jobb gombbal kattintson rá, és válassza ki a " Val vel tulajdonságok", kattintson az "Illesztőprogram frissítése" gombra s".

A megnyíló ablakban válassza ki az "Illesztőprogramok keresése ezen a számítógépen (Illesztőprogramok keresése és telepítése manuálisan)" elemet.

Adja meg a mappa elérési útját az illesztőprogramokkal, 2. ábra.


2. ábra.

1.3 A MACH3 gépvezérlő program indításakor ki kell választania az eszközök listájából, 3. ábra

3. ábra

1.4 A mach3usb beépülő modul konfigurálása USB-LPT adapterhez.

Nyomja meg a „Reset” gombot, Mach3 -hoz kapcsolódik adapter. P Állítsuk be a plugint. Ehhez válassza ki a „Config” menü „Config pl u gins” menüpontját, 4. ábra.


4. ábra

Nyomja meg a „Config” gombot a „mach3usb” mellett, megnyílik a beépülő modul konfigurációs ablaka, 5. ábra.

5. ábra

1.5 A „Software microstep” panel beállítása (szoftverlépéses interpoláció).

Szoftver a motorlépés interpolációja pontosabb időzítést tesz lehetővé, különösen amikor alacsony sebességgel dolgozzon. D a mozgás simább leszés alacsonyabb zajszinttel. Szoftver rajzfilm használatakorés motoros léptetőplikátor a „Motion plugin”-ban, M az ach3 úgy fog működni, mintha paraméter " StepPer"léptetőmotor beállításaibannagyobb, mint fizikailag, a maximális sebesség csökkentése nélkül. N = 1 esetén a gép léptetőmotorjainak működési paraméterei val vel tvuyut telepítve p a „Motor Tuning” menüben.

Belép szorzótényező N > 1 és szorozzuk meg a tényezővel N paraméter " StepPer"a motor beállításaiban Motor Tuning) Mach3, 6. ábra.

6. ábra

Miután befejezte a paraméterek beállítását,zárja be a beépülő modul beállításait. További nyomja meg az "EStop" (Visszaállítás) gombot, és lépjen tovább "Stop" módban, és lépjen be újra a "Start" módba az adapter paramétereinek újratöltéséhez.

2 További bővítménybeállítások USB-LPT adapter

2.1 Az "Engedélyezés" jel automatikus deaktiválása

Az "Engedélyezés" jel automatikus leállítása egy meghatározott idő után, amely alatt semmilyen mozgás nem történt. Ha a mező értéke 0, akkor a rendszer az alapértelmezett paramétert használja - 500 ms. Ha ez a funkció ki van kapcsolva, az "Engedélyezés" jelet az "E-Stop" (Reset) gomb megnyomásával kikapcsolja.

2.2 Visszatérés az alap végálláskapcsolóról (Home ).

7. ábra

Beállítja a portál visszatérését attól a pillanattól kezdve, amikor a végálláskapcsoló aktiválódik automatikus keresés minden tengelyen alapul. (A hamis kizárásához

alapkeresés leold, ha egy bemeneti jelet több végálláskapcsolóhoz használnak).

2.3 A "Cycle Start", "Feed Hold", "Stop" gombok használata .

8. ábra

Amikor a plugin fut:

A "Stop" gomb megnyomása a program gyors leállításához vezet, minden G- az adatpufferben található kódot

A "Feed Hold" gomb megnyomásával a program végrehajtása addig folytatódik, amíg a programpuffer tartalma el nem fogy.

Miután megnyomta a „Feed Hold ", a munka megfelelő folytatásához nyomja meg a " Regen szerszámpálya" akkor " Fuss ", uh Ez biztosítja a program megfelelő folytatását.

9. ábra

2.4 Időzítő.

10. ábra.

Tevékenység: előpufferidő induláskor

Tétlenség : állapotfelismerési időleállítás/szünet,valamint az indeximpulzusok újraszinkronizálása

Válasz : állapotparancsok továbbításának ideje.A megfelelő végrehajtáshoz használjákállapotok stop, mozgás, szinkronizálás.

Alapértelmezett értékek használata esetén az értékmezőkbe beírt adatok nem kerülnek felhasználásra. A használt értékek 100/300/300.

Az időzítő nem vonatkozik mozgatási parancsokra. Az áthelyezési parancsok mindig azonnal végrehajtásra kerülnek.

2.5 Index beviteli beállítások panel, 23. ábra.

11. ábra.

Az adapter konfigurálható indexbemenettel-kimenettel rendelkezik 12.
Az indexbemenet a következő funkciókat támogatja:
- Orsó fordulatszám-mérés és kijelzés Mach3-ban - „RPM mérés”.

Szinkronizálás szüneteltetése/indítása a G-kódban, amikor megjelenik egy szinkronizálási impulzus – „Szinkronizálási szünet/indítás bekapcsolva
impulzus” (beleértve a Pause / Start gombok megnyomását a Mach3 főképernyőjén.)
- A szerszám előtolási sebességének szinkronizálása az orsó fordulatszámával - „Szinkron adapter
sebesség fordulatszámmal".
Az előtolási sebesség és az orsó fordulatszámának szinkronizálása eszközökkel történik
adapter és a következő képletnek felel meg:
A=(A1*B)/B1.
Hol: A - feed to Ebben a pillanatban idő;
A1 - a G-kódban megadott normál takarmány;
B - az orsó percenkénti fordulatszámának mért értéke;
B1 - az orsó fordulatszáma normál előtolásnál;
Az RPM mező a fordulatok száma normál előtolásnál, a % mező a többlet szám mennyisége
A nyomon követhető alapjel feletti fordulatszám. Ha a % mező nulla, akkor a takarmány
mindig kisebb vagy egyenlő, mint a G-kódban megadott normál előtolás.

2.6 Puffer.

12. ábra.

Néha átmeneti eltérés lehet a Mach3-ban végrehajtottként megjelenített G-kód sor és a ténylegesen végrehajtott sor között, valamint késhet a Stop, Feed Hold parancsok végrehajtása. Ez az adapter saját parancspufferének köszönhető.
A puffer stabilizálja a működést az adapter és a számítógép közötti rövid távú kommunikációs hibák esetén, valamint ha a Mach3 számítás lelassul. Egyrészt minél nagyobb a puffer stabilabb munkavégzés, de amiatt, hogy a puffer mérete elérheti a több tíz kilobájtot, előfordulhat, hogy a FeedHold, Stop parancsok végrehajtása több másodpercig késleltet. Növelheti a válaszsebességet, ha a puffer értékét 0-ra csökkenti, de megnő az összeomlás esélye.

Nagyon ajánljuk, hogy ismerkedjen meg vele. Sok új barátot találsz ott. Ez a leggyorsabb és leghatékonyabb módja a projektadminisztrátorokkal való kapcsolatfelvételnek. A víruskereső frissítések szakasz továbbra is működik – mindig naprakész ingyenes frissítések a Dr Web és a NOD számára. Nem volt időd elolvasni valamit? A ticker teljes tartalma ezen a linken érhető el.

LPT porttal működik Win NT/2000/XP alatt

LPT port (L ine P rin T er) egy párhuzamos interfész port, amelyet eredetileg nyomtató csatlakoztatására hoztak létre. A BIOS biztosítja a Centronics kimenethez szükséges LPT port támogatást. A port címtere a &H378-&H37F tartományt foglalja el

Az LPT portnak 12 kimenete és 5 bemeneti vonala van. Olyan csinos nagyszámú vonalak lehetővé teszik egyszerű berendezések csatlakoztatását a porthoz, esetleg saját mikrokontroller nélkül is. Ezért ezt a portot az LPT interfésszel rendelkező nyomtatók eltűnése ellenére aktívan használják egyszerű memóriachip-programozók, JTAG interfészek csatlakoztatására a villogáshoz (csere szoftver) műholdvevők, DVD-lejátszók és egyéb elektronikus berendezések. Az LPT port a modderek körében is népszerű, mert lehetővé teszi az LCD kijelzők csatlakoztatását a számítógéphez anélkül, hogy bonyolult interfész kártyákat készítene.

A Windows 2000/XP nem teszi lehetővé, hogy az alkalmazások közvetlenül hozzáférjenek az I/O portokhoz. Ehhez olyan illesztőprogramot kell használni, amely KERNEL módban működik (az operációs rendszer kernel üzemmódjában).

Az I/O portokhoz való hozzáférés korlátozása a normál alkalmazási programok számára (felhasználói módban fut) stabilabbá teszi az operációs rendszert. Bár másrészt senki sem akadályozza meg a programozót abban, hogy olyan illesztőprogramot írjon, amely hozzáfér a portokhoz.

Érdekes módon azért Intel processzor x86, írhat olyan illesztőprogramot, amely két alapvetően eltérő megközelítés egyikét használja. Az első lehetőség az, hogy az illesztőprogram maga éri el a portokat, és az alkalmazásprogram csak azt mondja meg az illesztőprogramnak, hogy mit tegyen. Ez a lehetőség általában szabványos és előnyben részesített.

A probléma megoldásához négy népszerű illesztőprogram-beállítás létezik, amelyek lehetővé teszik az alkalmazási programok számára, hogy hozzáférjenek az I/O portokhoz: DLPortIO, sofőr Felhasználói port, sofőr GiveIO.sis, sofőr Port95nt.

Mind a négy lehetőség szinte egyenértékű.

DLPortIO illesztőprogram

DLportIO - port hozzáférési illesztőprogram a csomagból DriverLINX készítette: Scientific Software Tools, Inc. (http://www.sstnet.com) rövidített formában (leírás és szükségtelen dokumentáció nélkül). Az LCD-karbantartó programok normál működéséhez ajánlott az illesztőprogram ezen verziója.

Maga az illesztőprogram két részből áll:
. DLPortIO.dll – Win32 DLL, amely hardveres I/O-t és
. DLPortIO.sys - illesztőprogram az operációs rendszer kernel módban működő WinNT-hez (Win95/98 esetén nem szükséges)

Az illesztőprogram-telepítő csomagban ezen a két komponensen kívül egy Install.exe fájl is található, amely a fenti kettőt áthelyezi a mappába Windows illesztőprogramokés regisztrálja őket a rendszerben.

Erről a driverről nem lehet többet írni. Nincs szükség beállításra. Töltse le, telepítse, használja. Ne felejtse el megnézni a cikk végét, és olvassa el az LPT port teljesítményét.

A telepítés alapvető - futtassa az Install.exe fájlt, telepítse. A telepítés végén keresse meg a C:\Windows\System32\drivers mappát, és ellenőrizze, hogy van-e két illesztőprogram-fájl (DLPortIO.sys és DLPortIO.dll). Ha azt látjuk, hogy ezeket a fájlokat nem másoltuk át, kivesszük a telepítőcsomagból, és manuálisan másoljuk. Ne aggódjon, semmi rossz nem fog történni a számítógépével. Újraindítjuk a számítógépet, és az LPT porttal dolgozunk.

Ha a berendezéssel végzett manipulációk következtében hirtelen ilyen üzenetet kap az illesztőprogramtól: "A dlportio.sys eszközillesztő nincs betöltve. Az I / O portnak nincs hatása", ne essen pánikba. Ezt a problémát a következőképpen javítják:
. Elindítjuk a regedit-et.
. Bemegyünk az anyakönyvi kirendeltségbe HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\.
. A dlportio mappában módosítsa a paraméter értékét Rajt tovább 1 .
. Újraindítjuk a számítógépet.

Felhasználói port illesztőprogram

Sofőr Felhasználói port megnyitja a hozzáférést a Win NT/2000/XP portjaihoz a programok számára. Az LPT port illesztőprogramjának ezt a verzióját leggyakrabban a programozókkal és JTAG-okkal dolgozó "technikusok" használják, mivel az illesztőprogramnak van legalább néhány konfigurációs beállítása, valamint LCD szervizprogramok futtatására is használható.

Három fájl van az illesztőprogram archívumában:
. UserPort.sys - WinNT illesztőprogram, operációs rendszer kernel módban működik,
. UserPort.exe - program az illesztőprogram beállításához és
. UserPort.pdf - leíró fájl.

UserPort beállítása:
. 1. Csomagolja ki az archívumot egy külön mappába.
. 2. Másolja a UserPort.sys fájlt a C:\Windows\System32\drivers mappába

Felhasználói port beállítása:
. Futtassa a UserPort.exe fájlt.
. Egy 2 ablakos panel jelenik meg előttünk.

A bal oldali ablak a program munkájára utal a DOS ablakban, a jobb oldali a Teljes képernyő. Alapértelmezés szerint LPT portszámokat tartalmaznak - mindegyik eltávolítható az "Eltávolítás" gombbal. Mindkét ablakban meg kell adnia a használni kívánt portszámokat.

Ha az illesztőprogramból szeretné használni a legtöbb programozóval, JTAG-kal és kijelző szervizprogrammal, adja hozzá a következő opciókat a bal oszlophoz:
378 , 379 és 37A számára LPT1
278 , 279 és 27A számára LPT2(Ha az LPT port címe újra van rendelve a BIOS-ban).

Hadd magyarázzam el, mit jelentenek a számok. 0x378 a port címe.
. A cím 0x378 hívott alapvetőés írásra és olvasásra használják adat a portra és onnan az adatbuszon keresztül D0-D7.
. A cím 0x379 (alap+1) számára készült kicsit olvasniállapotát az LPT porthoz csatlakoztatott eszközről.
. A cím 0x37A (alap+2) számára szolgál bit rekordok az LPT portra csatlakoztatott eszköz vezérlése.

Add hozzá így:
0x378-0x378
0x37A-0x37A



Portcímeket kell hozzáadnia a listához a beviteli ablakon keresztül és a "Hozzáadás" gombbal. A cím 0x379 leggyakrabban nincs rá szükség, és elhagyható, mivel arra való kicsit olvasniállapotokat az LPT portra csatlakoztatott eszközről, és a legtöbb eszköz (programozók, JTAG "és még inkább LCD kijelzők) nem generál állapotjelzést. Ha szeretné, ellenkezőleg, megadhatja a teljes címtartományt, amelyet az LPT port rendszerét 0x378-0x37F.

Megyünk Kezelőpanel, Rendszer, válassza a Hardver lapot, Eszközkezelő, lépjen a Portok (COM és LPT) elemre, és nézze meg annak az LPT portnak a tulajdonságait, amelyen kapcsolatot szeretne létesíteni. A Tulajdonságokban nyissa meg az Erőforrások lapot, és nézze meg a paraméter értékét Bemeneti/kimeneti tartomány (I/O). (Általában Windows XP alatt van 378-37F)

A címlista létrehozása után meg kell nyomnia a "Start" gombot, az illesztőprogram elindul, és megjelenik egy üzenet:



Ezután kattintson a "Frissítés" gombra, az illesztőprogram regisztrálva lesz a rendszerben, majd "Kilépés". Természetesen a "Stop" gombot nem kell megnyomni, amíg az illesztőprogramot használjuk.

Ha a rendszer újraindul, amikor a "Frissítés" gombra kattint, akkor próbálja meg elindítani az illesztőprogram regisztrálását a rendszeren rendszergazdai jogosultságokkal, vagy próbálja meg ideiglenesen letiltani a tűzfalat vagy a víruskeresőt, amely megakadályozhatja a rendszerfolyamatokkal való interferenciát. Ha valami nem működik, olvassa el a UserPort.pdf-et

A program futtatásával ellenőrizheti, hogy megjelent-e a portokhoz való hozzáférés "lpt test.exe".

A program elindítása után egy ablak jelenik meg a következő tartalommal:



Az "LPT port tesztelés alatt (XXXh cím)" üzenet és az azt követő sorok hiánya azt jelzi, hogy az illesztőprogram nem működik.

Ez a program egyszerűen különböző számokat küld az LPT port Dx adatregiszterébe és Ux vezérlőregiszterébe, majd kiolvassa azokat. Az LPT port Sx állapotregisztere csak olvasható. A képernyőn megjelenik a tesztelt LPT port száma és címe. Ha a port rendben van, akkor a Dx és Ux regiszterek számára nem szabad üzenetet kiadni.



LPT-TEST v1.03 1995-2003 Copyright (C) S. B. Alemanov. Moszkva "BINAR".
A tesztelés során nem szabad perifériás eszközöket csatlakoztatni a portokhoz.
Dx - reg. adatok (out), Ux - reg. vezérlés (out), Sx - reg. állapot (inp).

Az LPT1 port tesztelése folyamatban van (378h cím)
2. érintkező (D0) - nincs "1"
3. érintkező (D1) - nincs "1"
4. tű (D2) - nem "1"
5. tű (D3) - nem "1"
6. tű (D4) - nem "1"
7. tű (D5) - nem "1"
8. tű (D6) - nem "1"
9. tű (D7) - nem "1"
1. kapcsolat (U0) - nincs "1"
14. tű (U1) - nem "1"
17. tű (U3) - nem "1"
1. kapcsolat (U0) - nincs "0"
14. érintkező (U1) - nincs "0"
17. érintkező (U3) - nincs "0"
15. érintkező (S3) - nincs "0"


Ha a Dx vagy Ux regiszter hibás, akkor a "no 0" vagy "no 1" üzenet jelenik meg, és megjelenik az LPT csatlakozó pin száma (az ezen a tűn lévő jelek oszcilloszkóppal megtekinthetők). Az Sx állapotregiszter bemenete lehet "0" vagy "1", de általában, ha semmi sem csatlakozik az LPT porthoz, minden állapotregiszter bemeneten "1" van. A "0" állapotregiszter megjelenése a bemeneten a bemenet megszakadásának jele lehet, ha korábban mindig "1" volt ott.
Egyes gépeken, ha az adatregiszter vagy a vezérlőregiszter hibás, akkor az LPT porthoz való hozzáférés egyáltalán nem jelenik meg. Úgy tűnik, a számítógép bekapcsolásakor a BIOS teszteli az LPT portot, és ha hibás, akkor letiltja.

Ha problémák merülnek fel, előfordulhat, hogy egyes illesztőprogramok zavarják a munkát, és időszakonként impulzusokat küldenek az LPT portra (ez oszcilloszkóppal látható). Például leválaszthatja az LPT-portot a nyomtató beállításainál:
tiltsa le az LPT1-et: Nyomtatóport
Fájl engedélyezése: Nyomtatás fájlba

Az összes probléma kijavítása és a teszt sikeressége után meg kell jelennie a portokhoz való hozzáférésnek, és futtathat egy programot az LPT-porton keresztül. Ellenkező esetben az ilyen gépen lévő porthoz csatlakoztatott eszköz nem fog működni.

GiveIO.sys illesztőprogram

Még 1996-ban az amerikai programozó, Dale Roberts kísérletsorozatot végzett, amelynek eredményeként egy sofőr GiveIO.sys. Eddig ez az illesztőprogram maradt az egyik népszerű eszköz, amely lehetővé teszi az alkalmazások számára, hogy hozzáférjenek az I/O portokhoz.

Maga az illesztőprogram szerzője nyomatékosan javasolja, hogy ezt az illesztőprogramot csak hibakeresési célokra használják. Az alkalmazási program végleges verziójának ahelyett, hogy önállóan hozzáférne az I/O portokhoz, ezt az üzletet egy kifejezetten erre a célra írt illesztőprogramra kell bíznia. Az illesztőprogramnak "helyesen" kell viselkednie, ha ellenőrzi, hogy az eszközt már használja-e valamilyen más alkalmazás.

Ha azonban teljesen biztos abban, hogy senki más nem használja a szükséges I/O portokat (például nincs nyomtatója csatlakoztatva az LPT-hez), nyugodtan használhatja a GiveIO.sys illesztőprogramot.

Illesztőprogram telepítése:

1. Töltse le az archívumot, csomagolja ki és másolja a GiveIO.sys fájlt a C:\Windows\System32\Drivers könyvtárba (feltételezzük, hogy a Windows a C:\Windows könyvtárba van telepítve).
. 2. Futtassa az install.reg fájlt. A következő üzenet jelenik meg a képernyőn:


. 3. Igennel válaszolunk. Megjelenik egy üzenet, amely jelzi, hogy az adatok sikeresen bekerültek a rendszerleíró adatbázisba. Ha szeretné, ezt ellenőrizheti. Elindítjuk a regedit.exe rendszerleíró adatbázis-szerkesztőt és az ágban HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\giveio ellenőrizze a következő bejegyzéseket:


. 4. Újraindítjuk a számítógépet, és ellenőrizzük az illesztőprogramot használó programok működését.

sofőr GiveIO.sys az emberek aktívan használják, és idővel megjelentek és egyéb telepítési lehetőségek.

Például egy sofőr GiveIO.sys ha van egy "hardverinformációt" tartalmazó fájl GiveIO.inf telepíthető a "Hardver telepítése" kisalkalmazáson keresztül.




Megmutatjuk a GiveIO.sys illesztőprogramot az operációs rendszernek, hogy az higgyen a "GiveIO" hardver létezésében.

Töltse le az illesztőprogram-telepítési opcióhoz tartozó fájlkészletet GiveIO.sys(giveio_sys_v2.rar - 78 kb). Az archívum tartalmazza a GiveIO.sys és GiveIO.inf fájlokat, valamint részletes utasításokat beszereléshez illusztrációkkal.

A "kézi" illesztőprogram-telepítés lehetőségei mellett több olyan telepítői opció is meg lett írva, amelyek automatikus módban végzik a telepítést.

Töltse le a következőhöz tartozó fájlkészletet automatikus telepítés járművezetők GiveIO.sys(giveio_sys_install.rar - 28 kb). Az archívum tartalmazza a GiveIO.sys és instdrv.exe fájlokat, valamint a remove-giveio.cmd fájlt, amellyel az illesztőprogram GiveIO.sys eltávolítható a rendszerből.

Port95nt illesztőprogram

A " kifejezés sofőr A Port95nt" itt nem lesz teljesen helyes. Valójában ez ugyanaz az illesztőprogram DLPortIO a csomagból DriverLINX tól től Scientific Software Tools, Inc., csak a teljes verziójában, pár portkezelő segédprogrammal, leírással és sok példával programozóknak. Egy hétköznapi felhasználó számára nincs haszna a további komponensekből, a DLPortIO.sys és a DLPortIO.dll illesztőprogram összetevői pedig pontosan ugyanazok, mint a csökkentett verzióban.

Két okból is említette a Port95nt illesztőprogramként. Az első az interneten található LPT-port-illesztőprogramokra vonatkozó hivatkozások listájának teljessége érdekében.

A második ok az, hogy bizonyos esetekben problémák adódhatnak a DLPortIO csökkentett verziójának WinXP alatti telepítése során. Általában, de ritkán, ez történik a WinXP lecsupaszított "szerzői" buildjeiben. Ebben az esetben elviheti teljes verzió telepítő (1,5 MB). Bár véleményem szerint gyorsabb lesz manuálisan a megfelelő mappába tenni a DLPortIO.sys-t és a DLPortIO.dll-t, mint a megfelelő telepítő kiválasztásával bajlódni.

További intézkedések

A fenti illesztőprogramok valamelyikének telepítése mellett az LPT-port normál működéséhez WinXP alatt szerkesztenie kell a rendszerleíró adatbázist egy REG fájl segítségével. xp_stop_polling.reg(xp_stop_polling.rar - 0,48 kb)

WinXP alatt az LPT portot használó eszközök néha instabilan működnek. Az ilyen hibák oka a Windows Plug-and-Play (PnP) alrendszerének működése lehet, amely időszakonként lekérdezi az LPT-t a csatlakoztatott eszközök észlelése érdekében. Ilyen lekérdezés a rendszer indításakor történik, de előfordulhat működés közben is. Sajnos a DLportIO.sys illesztőprogram és más illesztőprogram-beállítások nem blokkolják az LPT hozzáférését más programoktól, amikor az illesztőprogram kliensportjával dolgozik, és a PnP alrendszer biztos abban, hogy a port nem foglalt, hozzáfér és megzavarja a működést. külső eszközök. A probléma megoldásához és a .reg fájl használatához xp_stop_polling.reg. Ez a fájl regisztrálva van a rendszerleíró adatbázisban windows kulcs, amely a rendszer működése közben tiltja az ilyen lekérdezést (poll).

Az illesztőprogram telepítése és a programok portjához való egyidejű hozzáférés korlátozása mellett a hardver kompatibilitás és az LPT porttal rendelkező berendezések normál működésének biztosítása érdekében a BIOS-t be kell állítani helyes címetés port működési mód("Normál", SPP vagy EPP, de nem ECP).

Konfiguráció keresztül BIOS beállítások a következő paraméterek függvényében:

Alapcím, amely lehet 378h, 278h és 3BCh. Az inicializálás során a BIOS ebben a sorrendben ellenőrzi a portok jelenlétét a címeken, és ennek megfelelően LPT1, LPT2, LPT3 logikai neveket rendel az észlelt portokhoz. A 3BCh cím egy portadapterrel rendelkezik az MDA vagy HGC kártyán (a modern grafikus kártyák előfutára). A legtöbb port alapértelmezés szerint 378h címre van beállítva, és átkapcsolható 278h-ra.

A használt megszakítási kérelmet, az IRQ7-et általában az LPT1-hez, az IRQ5-öt az LPT2-hez használják. Sok „asztali” alkalmazás nem használ nyomtatómegszakítást, és ez a szűkös PC-erőforrás megkímélhető. Az ECP (Fast Centronics) sebességi módok használatakor azonban a megszakítási művelet jelentősen növelheti a teljesítményt és csökkentheti a processzor terhelését.

Ugyanakkor az ECP mód nem használható olyan eszközökkel, amelyek szűk időzítést igényelnek (programozók és JTAG interfészek).

Befejezésül egy kicsit a terminológiáról:

. SPP(Standard Parallel Port - szabványos párhuzamos port). A megértés megkönnyítése érdekében a BIOS-ban gyakran az "e" kifejezést a " Normál".
. EPP(Enhanced Parallel Port - kiterjesztett párhuzamos port) - nagy sebességű kétirányú interfész opció. Egyes jelek rendeltetése módosult, több logikai eszköz címzésének és 8 bites adatbevitelének lehetősége, 16 bájtos hardveres FIFO puffer került bevezetésre. A maximális átváltási sebesség legfeljebb 2 Mb/s.
. ECP(Enhanced Capability Port) az EPP intelligens változata. Bevezették a továbbított információ parancsokra és adatokra való felosztásának lehetőségét, a DMA támogatását és a továbbított adatok tömörítését az RLE módszerrel (Run-Length Encoding - ismételt sorozatok kódolása).


Tehát nézzük meg a következő lehetőséget a Windows NT I/O-portjaival való munkavégzéshez. Ez az "opció" egy speciális illesztőprogram lesz GiveIO.sys, amely lehetővé teszi az azt elindító alkalmazás számára, hogy szabadon működjön bármely porttal. Ez a sofőr írta Dale Roberts Isten tudja, mikor, de a mai napig nem veszítette el jelentőségét.



Röviden elmondom, hogyan működik: a programunk elején a portokkal való kommunikációhoz kapcsolatba kell lépnie a meghajtóval GiveIO.sys. Ennek során olyan értékre állítja be az alkalmazásunk I/O engedélyleképezési rendszer bittérképét, hogy az bármely porthoz közvetlen hozzáférést kapjon. I/O engedélytérkép a Windows NT I/O védelmi rendszer szerves része. Ez egy bittérkép, amelynek minden bitje egy I/O portnak felel meg. Ha bit = 1, akkor a porthoz való hozzáférés zárva van, ha 0, akkor a hozzáférés nyitva van. Bármely felhasználói alkalmazásnál minden bit 1-re van állítva, ezért nem tudunk közvetlenül beavatkozni a port működésébe. A GiveIO.sys szemtelenül "betör" ebbe a tömbbe, és mindenhol 0-t állít be - pl. lehetőséget kapunk bármely port elérésére az alkalmazásból.



Először töltse le az archívumot az illesztőprogrammal és a telepítőfájllal:


Most regisztrálnunk kell és telepítenünk kell az illesztőprogramot a rendszerben. Ehhez számos műveletet kell végrehajtania. Először másolja át az illesztőprogram fájlt GIVEIO.sys a C:\Windows\system32\drivers\ mappába, ha természetesen a rendszered lemezre van telepítve VAL VEL:\és nem változtattad meg a windows telepítési útvonalát.

Kattintson Igen. Ebben az esetben üzenetet fog kapni az adatok sikeres beviteléről a rendszerleíró adatbázisba. Ezt ellenőrizheti. A regisztrációs szerkesztő programban regedit.exe az ágban HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\giveio a következőket láthatja:

Ahhoz, hogy az általunk végrehajtott változtatások életbe léphessenek, feltétlenül ÚJRAINDÍTJA A SZÁMÍTÓGÉPET.


Ideje elkezdeni a programozást. Programkódunkban port.exe(lásd ) végrehajtunk néhány változtatást, amelyek lehetővé teszik, hogy ne csak a Windows 9x-ben, mint korábban, hanem a Windows NT-ben is hozzáférjen a portokhoz. A végső kód így fog kinézni:

#include "iostream.h" #include "conio.h" #include "stdlib.h" #include "windows.h" int main() ( int Cím = 888; cout<<"Test LPT port with GiveIO.sys"<

Mindenki. Fordítás, futtatás. 1-0-ra kattintunk: mindennek működnie kell. Ha felbukkant egy üzenet hiba! Nem lehet megnyitni az illesztőprogramot! Nyomja meg bármelyik gombot a kilépéshez..., akkor az illesztőprogram telepítése sikertelen volt, és újra kell telepítenie.

Köszönet giveio.sys a következő assembler szkriptek is sikeresen működnek:

Asm ( mov dx, 378h mov al, 1 out dx, al )

© Dmitrij Ivanov
2005-2006