Cooltek представи още една новост на пазара - калъф в средата на кулата, наречен GT-04. Моделът съчетава изключителни характеристики като функционалност, ергономичност, стилен дизайн и атрактивна цена (59,99 евро). Шасито е завършено в изцяло черно с ярки оранжеви/зелени акценти отпред. Тук са представени и чифт кошници за 5,25 "оптични устройства и 3,5" гнездо за устройства.
Кутията Cooltek GT-04 (оранжево/зелено) е оборудвана със страничен прозорец, който отваря изглед към компонентите на системата. ...
Kingston Technology, водещ производител на памет за компютри с дълга история на пазарен успех, обяви нови модули памет в чест на десетата годишнина на продуктовата линия HyperX. Забележителна характеристика на новите продукти е черната печатна платка, използвана в семействата HyperX и HyperX Beast, както и наличието на уникален топлоразпределител, който значително подобрява разсейването на топлината.
Част от гамата на Predator, серията HyperX Beast с черна печатна платка се отличава с огромен капацитет за съхранение и максимални работни честоти. В търговията на дребно модулите ...
Изключително за любителите на монтирането на система от чисто бели компоненти, CORSAIR добави механизми в тази цветова схема към добре познатата серия захранвания CORSAIR RMx. В допълнение към корпуса на самия източник, изцяло модулните кабели са получили бял цвят, а наличието на малък брой черни компоненти придава модерен вид на новите механизми, подчертавайки контраста.
Всички варианти на линията CORSAIR RMx White имат висококачествена елементна база (включително чисто японски високотемпературни кондензатори ...
С този проблем се сблъскват всеки, който се опитва да свърже всякакви устройства към LPT порта. Веднага щом кажете на програмата "използвайте LPT", ще получите грешка - тя е отразена на екранната снимка вдясно. Така че нека се опитаме да го разберем и да го поправим.
Попаднах на него, когато добавях контролна платка с 1-LPT и 2-COM порта. Имаше определена нужда от това - свързване на Band-декодер RU -005A. Това ще бъде обсъдено в следващата статия. Междувременно бих искал да получа правилно работещ LPT -порт в Win -Test под Windows-7 (64 bit).
Съвременните компютри отдавна не включват паралелен порт. Като алтернатива можете да поставите допълнителен контролер в него. Не се плашете от тази дума, в нея няма нищо ужасно. Причината за възникването на горната грешка е проста - драйверите и библиотеките на DriverLINX (DLPortIO.sys + DLPortIO.dll) не съществуват за версии на Windows за x86-64 архитектура (AMD64, Intel64). Разработчикът Scientific Software Tools Inc спря да поддържа драйвера, като го прехвърли на друга компания и те спряха само на 32-битовата версия. Macrosoft вдига рамене и го изпраща на производителя. Въпреки това има добър комплект - това е InpOut32 (hwinterface.sys + inpout32.dll) и дори 64-битова версия на InpOutx64 с драйвер hwinterfacex64.sys.
Нека да преминем от теория към практическа реализация. В наличност:
- Win-Test версия 4.10, актуализирана до Ревизия: 524 от 13 юли 2013 г.
- Windows 7 Ultimate (64 бита) с всички актуализации.
- Intel Core i7-3770 (3,4 GHz) + PC3-10700 (667 MHz) 8x2 = 16 Gb + Asus P8Z77-V LX
- Контролер * PCI COM / LPT (2 + 1) порт WCH353 насипно
Инсталиране на контролера
Самият контролер не е нищо интересно по същество и името му дава почти пълна представа - два COM и един LPT порт, инсталиран е в PCI. Самото устройство е евтино и струва 360 рубли (около $12), произведено в Китай.
Опаковката беше OEM. Комплектът включва два контура с COM портове на скобата и диск с уж драйвери. Не съм ги инсталирал, както вече знаех предварително - не стават. Всички пътища водеха до уебсайта на производителя. За всеки случай давам линк и пускам същия драйвер в архива.
Процедурата за инсталиране на контролера не предизвика проблеми - всичко е доста просто. Изключете компютъра, инсталирайте го в свободен PCI слот, включете го, инсталирайте драйвера. Комплектът включва инсталатор. Неговият интерфейс не е сложен и ясен. Всичко мина при автоматичното откриване на типа карта и беше достатъчно да щракна само Install driver. Процесът на инсталиране е придружен от движеща се лента на интерфейса, всичко е много ясно.
Програмата ви позволява да преназначавате портове, ако е необходимо. Например, ако има виртуални COM портове. За да направите това, след инсталирането щракнете върху About и бутона Modify Port Name.
Горните скрийншоти не се нуждаят от специални коментари, щракнете и снимките ще станат по-големи. Всичко е във ваши ръце - конфигурирайте новите портове по ваша преценка и според вашите нужди.
Краят на факта, че инсталацията е била успешна, трябва да бъде наличието на тези устройства в диспечера на устройства на компютъра. Отидете там и проверете. В моя случай вече имаше интегриран COM-порт на дънната платка (е, имам нужда от него). Съответно списъкът с пристанища е както следва:
Възможно е да трябва да знаете адреса на този порт и да го посочите правилно в настройките на програмата, където ще се използва този порт. По подразбиране адресите на портовете трябва да са както следва:
LPT -1 - 378
LPT -2 - 278
LPT -3 - 3BC
В нашия случай те ще се различават от обичайните стойности, т.к тези портове не са интегрирани на дънната платка и начинът за комуникация с тях е чрез PCI шината. В моя вариант се оказа D 010(използваме първата стойност). Ето защо, преди да инсталирате (купите) такъв контролер, вижте дали вашата програма има възможност да задава други I/O диапазони.
Независимо от това, драйверите включват малка помощна програма, която ви позволява да преназначавате такива адреси (не го разбрах, няма нужда).
Преди около 10-15 години паралелният порт беше доста популярен интерфейс за комуникация между устройства. Днес производителите на различни устройства дават предпочитание на серийните интерфейси. Въпреки това, дори днес LPT портът все още може да бъде намерен. И някои разработчици все още пишат програми за него (или поддържат тези, написани по време на разцвета на паралелните интерфейси). Но в компютрите сега LPT портът е доста рядкост. Има, разбира се, карти за разширение за компютър, който реализира LPT интерфейса. Те са основно PCI карти. За съжаление, не целият софтуер, който е написан за LPT портовете, интегрирани в дънната платка, ще работи с LPT-PCI карти.
Предлага се решение на този проблем: клас за програмиране, написан за .NET и динамична библиотека, която работи с LPT. Тази реализация е тествана на 32- и 64-битов Windows XP, Windows 7, 8 и 10, както с вградени LPT портове, така и внедрена като карти за разширение на PCI или PCI-Express шина. Можете да изтеглите драйвера за LPT порта на връзката по-долу след статията.
1 Инсталиране на драйвериза работа с LPT порт
Прикаченият архив съдържа две папки - за 32-битови и за 64-битови версии на Windows. Една от папките съдържа файл InstallDriver.exe... Първо стартирайте този файл, той ще инсталира динамични библиотеки в системата. След това компютърът трябва да се рестартира.
За да използвате предложения драйвер, файловете inpout32.dllи inpoutx64.dllтрябва да се намира в същата директория като изпълнимия файл на вашата програма.
2 Програмен клас за използване на библиотекиработа с LPT порт
Написах клас за .NET, който използва динамични библиотеки inpout32.dllи inpoutx64.dllи ви позволява да четете от паралелния порт и да записвате данни в неговите регистри.
Споменатите библиотеки не са написани от мен. Предлагам удобен клас за обвивка, за да улесня работата с тези библиотеки. Също така, авторът на библиотеките във файла readme.txtсъобщава, че неговият драйвер не поддържа PCI устройства. Успях да го пусна да работи както с интегрирания паралелен порт, така и с LPT порта, реализиран като разширителна карта на PCI-Express шината. Освен това портът работи добре на съвременните Windows 10 x64 и на по-старите системи.
Ето кода за класа LPT във VB.NET:
Код на клас VB.NET LPT(разгъва се) Импортира System.Runtime.InteropServices "" "Код на клас LPT в C #:
Код на клас LPT в C #(разгъва се) с помощта на System; използване на System.Diagnostics; използване на System.Runtime.InteropServices; namespace LPTIO (/// Клас за работа с LPT порт. Когато е създаден, той определя наличието на драйвера и неговата битова дълбочина. обществен запечатан клас LPT(private const string DLL32 = "inpout32.dll"; private const string DLL64 = "inpoutx64.dll"; private static bool _IsX64DriverUsed; /// Дали се използва 64-битовата версия на драйвера. public static bool IsX64DriverUsed (получи (връщане на LPT._IsX64DriverUsed ;)) статичен LPT ()(ако (LPT.getIsDriverX86 ()) (LPT._IsX64DriverUsed = false;) иначе (ако (! LPT.getIsDriverX64 ()) хвърли ново SystemException ("Драйверът за LPT порта не е инсталиран."); LPT._IsX64DriverUsed = true;) ) публичен LPT () () частен статичен външен байт IsInpOutDriverOpen (); частен статичен външен ulong IsInpOutDriverOpen_x64 (); частен статичен външен байт Inp32 (uint PortAddress); частен статичен външен void Out32 (uint portAddress, uint данни); частен статичен външен байт Inp64 (ulong PortAddress); private static extern void Out64 (ulong PortAddress, ulong Data); /// Определя дали драйверът е за 32-битов Windows. частен статичен bool getIsDriverX86 ()(bool флаг; опитайте (LPT.IsInpOutDriverOpen (); флаг = true;) улов (Exception ex) (ProjectData.SetProjectError (ex); flag = false; ProjectData.ClearProjectError ();) флаг за връщане;) /// Дефинира, е драйверът за 64-битов Windows. частен статичен bool getIsDriverX64 ()(bool флаг; опитайте (флаг = Decimal.Compare (нов десетичен (LPT.IsInpOutDriverOpen_x64 ()), Decimal.Zero)! = 0;) улов (Exception ex) (ProjectData.SetProjectError (ex); флаг = false; ProjectData. ClearProjectError ();) флаг за връщане;) ///3 Използване на класа .NETза работа с LPT порт
Ако погледнем списъка с експортирани библиотечни функции inpout32.dllс прекрасен инструмент DLL Export Viewerот NirSoft, ще видим следната картина:
Това е списък с функции, които можем да използваме. На практика всички те се използват в класната стая LPT, но реализацията е скрита и само два метода и едно свойство са достъпни за потребителя от публичните методи (те са разгледани малко по-нататък).
При инстанциране, самият клас ще определи коя библиотека трябва да използва - inpout32.dllили inpoutx64.dll... Следователно не се изисква действие от потребителя за инициализиране или определяне на битността на използваното dll... Можете да четете или пишете директно от LPT порта. Едно „Но“: ако драйверът не е инсталиран, извикването на някой от методите на динамичната библиотека ще доведе до изключение, така че препоръчвам да използвате блокове Опитай да хванешза улавяне и обработка на изключения.
Няколко примера за използване на класа LPT.
За да определите дали се използва 64-битова версия на драйвера (inpoutx64.dll ако е истина) или 32-битова версия (inpout32.dll ако е фалшива) (всъщност не е необходимо да знаете това, класът използва точно библиотеката, от която се нуждаете, но изведнъж вие за нещо, което трябва да разберете от вашата програма):
Bool is64bitDriver = LPT.IsX64DriverUsed;
За да запишете номера "123" в регистъра за управление на LPT порта, обадете се от вашия клас:
LPT.Write (currentPort, LPT.Register.CONTROL, 123);
За да прочетете един байт от регистъра за данни на LPT порта и да прочетете регистъра на състоянието:
Байт b = LPT.Read (текущ порт, LPT.Register.DATA); байт s = LPT.Read (текущ порт, LPT.Register.STATUS);
Тук currentPort - Адрес на LPT порт... Освен това, ако имате интегриран LPT порт, тогава неговият адрес най-вероятно ще бъде 378ч... И ако имате LPT порт на разширителна платка, тогава адресът ще бъде различен, например D100hили C100h.
За да намерите адреса на LPT порта, отидете в диспечера на устройства на Windows, намерете секцията COM и LPT портове, изберете използвания паралелен порт и в прозореца със свойства (като щракнете с десния бутон върху него) вижте какви ресурси използва избраният порт (трябва да вземете първата стойност от диапазона).
![](https://i0.wp.com/soltau.ru/images/lpt-driver/01.png)
Например, в този случай трябва да използвате номера на порта C100.
Изтеглете прикачени файлове:
- Изтеглете драйвер за LPT порт (3281 изтегляния)
Силно препоръчваме да го опознаете. Там ще намерите много нови приятели. Това е и най-бързият и ефикасен начин да се свържете с администраторите на проекти. Разделът Antivirus Updates продължава да работи - винаги актуални безплатни актуализации за Dr Web и NOD. Нямахте време да прочетете нещо? Пълното съдържание на пълзящата линия може да бъде намерено на този линк.
Работа с LPT порт в Win NT / 2000 / XP
LPT порт (Л ine П rin T er) е порт за паралелен интерфейс, който първоначално е създаден за свързване на принтер. BIOS осигурява поддръжка на LPT порт, необходима за осигуряване на изход през интерфейса Centronics. Адресното пространство на порта заема диапазона & H378- & H37F
LPT портът има 12 изходни и 5 входни линии. Такъв доста голям брой линии прави възможно свързването на просто оборудване към порта, който може дори да няма собствен микроконтролер. Следователно този порт, въпреки изчезването на принтери с LPT интерфейс, се използва активно за свързване на прости програмисти на чипове памет, JTAG интерфейси за мигане (подмяна на софтуер) на сателитни приемници, DVD плейъри и друго електронно оборудване. LPT портът също е популярен сред модерите, тъй като ви позволява да свързвате LCD дисплеи към компютър, без да правите сложни интерфейсни платки.
Windows 2000 / XP не позволява на приложенията да имат директен достъп до I/O портове. За да направите това, трябва да използвате драйвер, който работи в режим KERNEL (в режим на ядрото на операционната система).
Ограничаването на достъпа до I/O портове за общи приложни програми (работещи в потребителски режим) прави операционната система по-стабилна. Въпреки че, от друга страна, никой не пречи на програмиста да напише драйвер, който адресира портовете.
Интересното е, че за процесор Intel x86 можете да напишете драйвер, използвайки един от двата принципно различни подхода. Първата опция е, че самият драйвер има достъп до портовете, а приложната програма само казва на драйвера какво да прави. Тази опция обикновено е стандартна и предпочитана.
За да разрешите проблема, има четири популярни опции за драйвери, които позволяват на приложна програма да има достъп до I/O портове: драйвер DLPortIO, шофьор Потребителски порт, шофьор GiveIO.sis, шофьор Порт95nt.
И четирите опции са почти равни.
DLPortIO драйвер
DLportIO - драйвер за достъп до порт от пакета DriverLINXот Scientific Software Tools, Inc. (http://www.sstnet.com) в съкратена форма (без описание и ненужна документация). За нормалната работа на програмите за поддръжка на LCD, можем да препоръчаме точно този вариант на драйвера.
Самият драйвер се състои от два компонента:
... DLPortIO.dll - Win32 DLL, който осигурява хардуерни I/O функции и
... DLPortIO.sys - драйвер за WinNT, работещ в режим на ядрото на ОС (не се изисква за Win95 / 98)
В инсталационния пакет на драйвера освен тези два компонента има и файл Install.exe, който премества двата гореспоменати драйвера в папката с драйвери на Windows и ги регистрира в системата.
Няма какво повече да се пише за този драйвер. Не се изисква конфигурация. Изтеглете, инсталирайте, използвайте. Не забравяйте да погледнете края на статията и да прочетете гаранцията за производителност на LPT порта.
Инсталацията е елементарна - стартирайте файла Install.exe, инсталирайте го. В края на инсталацията погледнете в папката C: \ Windows \ System32 \ драйвери и проверете за наличието на два файла с драйвери (DLPortIO.sys и DLPortIO.dll). Ако видим, че тези файлове не са копирани, ги вземаме от инсталационния пакет и ги копираме ръчно. Не се притеснявайте, нищо лошо няма да се случи с вашия компютър. Рестартираме компютъра и работим с LPT порта.
Ако изведнъж, в резултат на манипулиране на оборудването, получите съобщение от драйвера за следния план: "драйверът на устройството dlportio.sys не е зареден. Порт I / O няма да има ефект", не се паникьосвайте. Този проблем се отстранява по следния начин:
... Стартирайте regedit.
... Отиваме в регистъра в клона HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \.
... Променете стойността на параметъра в папката dlportio ЗапочнетеНа 1
.
... Рестартираме компютъра.
Драйвер за потребителски порт
Шофьор Потребителски портотваря достъп до портове в Win NT / 2000 / XP за програми. Тази версия на драйвера за LPT порт се използва най-често от "технари", които работят с програмисти и JTAG, тъй като драйверът има поне някои настройки за конфигурация.
В архива на драйверите има три файла:
... UserPort.sys - драйвер за WinNT, работещ в режим на ядрото на ОС,
... UserPort.exe е програма за конфигуриране на драйвера и
... UserPort.pdf - файл с описание.
Инсталиране на UserPort:
... 1. Разопаковайте архива в отделна папка.
... 2. Копирайте файла UserPort.sys в C: \ Windows \ System32 \ драйвери
Настройка на UserPort:
... Стартирайте UserPort.exe.
... Пред нас ще се появи панел с 2 прозореца.
Левият прозорец се отнася за работата на програмата в прозореца на DOS, десният на цял екран. По подразбиране те съдържат номера на LPT портове - всички те могат да бъдат премахнати с помощта на бутона "Премахване". И в двата прозореца трябва да въведете необходимите номера на портове, които планирате да използвате.
За използване на драйвери с повечето програмисти, JTAG и програми за поддръжка на дисплея, добавете следните параметри към лявата колона:
378
, 379
и 37Аза LPT1
278
, 279
и 27Аза LPT2(Ако адресът на LPT порта не е преназначен в BIOS).
Нека обясня какво означават числата. 0x378е адресът на порта.
... Адрес 0x378Наречен основени служи за писане и четене данникъм и от порт, чрез шина за данни D0-D7.
... Адрес 0x379 (основен + 1)създаден за четене на битовесъстояния от устройството, свързано към LPT порта.
... Адрес 0x37A (основен + 2)служи за битови записиконтрол на устройството, свързано към LPT порта.
Добавете така:
0x378-0x378
0x37A-0x37A
![](https://i0.wp.com/adsl.kirov.ru/projects/articles/help/modding/lcd_display/lpt_port_drivers/userport_setup.png)
Трябва да добавите адреси на портове към списъка през прозореца за въвеждане и с помощта на бутона "Добавяне". Адрес 0x379най-често не е необходимо и е възможно да не се въвежда, тъй като е предназначено за четене на битовесигнали за състояние от устройство, свързано към LPT порта, и повечето устройства (програмисти, JTAG "и дори повече LCD индикатори) не генерират сигнали за състояние. 0x378-0x37F.
Отидете на Контролен панел, Система, изберете раздела Оборудване, Диспечер на устройства, отидете на Портове (COM и LPT) и разгледайте свойствата на LPT порта, на който искате да установите връзка. В Свойства отворете раздела Ресурси и погледнете стойността на параметъра Входен/изходен диапазон (I/O)... (Обикновено в Windows XP е така 378 - 37F)
След като се формира списъкът с адреси, трябва да натиснете бутона "Старт", драйверът ще се стартира и ще се появи съобщение:
![](https://i2.wp.com/adsl.kirov.ru/projects/articles/help/modding/lcd_display/lpt_port_drivers/userport_start.png)
След това натиснете бутона "Актуализиране", драйверът ще бъде регистриран в системата, след това "Изход". Разбира се, няма нужда да натискаме бутона "Стоп", докато използваме драйвера.
Ако системата се рестартира, когато натиснете бутона „Актуализиране“, трябва да опитате да стартирате регистрацията на драйвера в системата с администраторски права или да опитате временно да деактивирате защитната стена или антивируса, които могат да блокират смущенията в системните процеси. Ако нещо не работи, прочетете UserPort.pdf
За да проверите дали се е появил достъп до портове, можете да стартирате програмата "lpt-test.exe".
След стартиране на програмата ще се появи прозорец със следното съдържание:
![](https://i0.wp.com/adsl.kirov.ru/projects/articles/help/modding/lcd_display/lpt_port_drivers/lpt-test_1.png)
Липсата на съобщение "LPT портът се тества (Адрес XXXh)" и следващите редове показва, че драйверът не работи.
Тази програма просто изпраща различни номера към регистъра на данните Dx и Ux контролния регистър на LPT порта и след това ги чете. Регистърът на състоянието на LPT порт Sx е само за четене. Екранът показва номера и адреса на тествания LPT порт. Ако портът е изправен, не трябва да се издават съобщения за регистрите Dx и Ux.
![](https://i1.wp.com/adsl.kirov.ru/projects/articles/help/modding/lcd_display/lpt_port_drivers/lpt-test_2.png)
LPT-TEST v1.03 1995-2003 Copyright (C) S.B. Алеманов. Москва "БИНАР". По време на тестването към портовете не трябва да се свързват периферни устройства. Dx - обл. данни (изходящи), Ux - рег. контрол (изход), Sx - рег. състояние (inp). Порт LPT1 се тества (адрес 378h) |
Ако регистрите Dx или Ux са дефектни, тогава се показва съобщението "no 0" или "no 1" и се посочва номерът на контакта на LPT конектора (сигналите на този контакт могат да се видят с осцилоскоп). Входът на регистъра на състоянието на Sx може да бъде "0" или "1", но обикновено, когато нищо не е свързано към LPT порта, всички входове на регистъра на състоянието имат "1". Появата на регистъра на състоянието "0" на входа може да е знак, че входът е повреден, ако преди винаги е имало "1".
На някои машини, ако регистърът на данните или контролният регистър са дефектни, тогава достъпът до LPT порта изобщо не се появява. Очевидно, когато компютърът е включен, BIOS тества LPT порта и, ако е дефектен, след това го деактивира.
Ако възникнат проблеми, възможно е някои драйвери да пречат на работата, като периодично изпращат импулси към LPT порта (това може да се види с осцилоскоп). Например, можете да прекъснете връзката с LPT порта в настройките на принтера:
деактивирайте LPT1: Порт за принтер
активиране на ФАЙЛ: Печат във файл
След като всички проблеми бъдат елиминирани и тестът е преминал, трябва да имате достъп до портовете и можете да стартирате програмата с помощта на LPT порта. В противен случай устройството, свързано към порта на такава машина, няма да работи.
Драйвер GiveIO.sys
Още през 1996 г. американският програмист Дейл Робъртс проведе серия от експерименти, които доведоха до драйвер GiveIO.sys... Досега този драйвер остава един от популярните инструменти, които позволяват на приложна програма да има достъп до I/O портове.
Самият автор на драйвера силно препоръчва използването на този драйвер само за целите на отстраняване на грешки. Окончателната версия на приложната програма трябва, вместо независим достъп до I/O портовете, да повери този въпрос на драйвер, написан специално за тази цел. Драйверът трябва да се държи "правилно", като провери дали устройството вече се използва от някое друго приложение.
Въпреки това, ако сте абсолютно сигурни, че никой друг не използва необходимите входно-изходни портове (например, нямате принтер, свързан към LPT), можете спокойно да използвате драйвера GiveIO.sys.
Инсталиране на драйвери:
1. Изтеглете архива, разопаковайте и копирайте файла GiveIO.sys в директорията C: \ Windows \ System32 \ Drivers (ако приемем, че вашият Windows е инсталиран в директорията C: \ Windows).
... 2. Стартирайте файла install.reg. На екрана ще се появи следното съобщение:
... 3. Отговаряме утвърдително. В този случай ще се появи съобщение, че информацията е въведена успешно в регистъра. Ако желаете, можете да се убедите в това. Стартирайте редактора на системния регистър regedit.exe и в клона HKEY_LOCAL_MACHINE \ System \ CurrentControlSet \ Services \ giveioпроверете за наличието на следните записи:
... 4. Рестартираме компютъра и проверяваме работата на програмите с помощта на драйвера.
Шофьор GiveIO.sysхората активно използват и с течение на времето се появиха и други опции за неговото инсталиране.
Например - шофьор GiveIO.sysако има файл с "хардуерна информация" GiveIO.infможе да се инсталира чрез аплета Add Hardware.
![](https://i1.wp.com/adsl.kirov.ru/projects/articles/help/modding/lcd_display/lpt_port_drivers/hardware_wizard.png)
Ще покажем драйвера GiveIO.sys на операционната система, така че тя да вярва в съществуването на хардуера на GiveIO.
Изтеглете набор от файлове за тази опция за инсталиране на драйвер GiveIO.sys(giveio_sys_v2.rar - 78 kb). Архивът съдържа файловете GiveIO.sys и GiveIO.inf, както и подробни инструкции за инсталиране с илюстрации.
В допълнение към опциите за "ръчно" инсталиране на драйвери, има няколко опции за инсталатор, който извършва инсталация в автоматичен режим.
Изтеглете набор от файлове за автоматично инсталиране на драйвери GiveIO.sys(giveio_sys_install.rar - 28 kb). Архивът съдържа файловете GiveIO.sys и instdrv.exe, както и файла remove-giveio.cmd, с който драйверът GiveIO.sysмогат да бъдат премахнати от системата.
Port95nt драйвер
Терминът " шофьор Port95nt "тук няма да е напълно правилен. Всъщност това е същият драйвер DLPortIOот опаковката DriverLINXот Scientific Software Tools, Inc, само в пълна версия, с няколко помощни програми за контрол на портове, с описания и много примери за програмисти. За обикновен потребител няма полза от допълнителни компоненти, а компонентите на драйвера DLPortIO.sys и DLPortIO.dll са абсолютно същите като в намалената версия.
Посочен Port95nt като драйвер по две причини. Първият е за пълнота на списъка с препратки към драйвери за LPT портове, намиращи се в Интернет.
Втората причина е, че в някои случаи може да има проблеми с инсталирането на намалена версия на DLPortIO под WinXP. Обикновено, но рядко, това се случва в съкратени "авторски" WinXP компилации. В този случай можете да вземете пълната версия на инсталатора (1.5MB). Въпреки че според мен ще бъде по-бързо да поставите ръчно DLPortIO.sys и DLPortIO.dll в необходимата папка, отколкото да се занимавате с избора на инсталатор, който може да го направи вместо вас.
Допълнителни мерки
В допълнение към инсталирането на един от горните драйвери, за нормална работа на LPT порта под WinXP OS, трябва да редактирате системния регистър с помощта на REG файла xp_stop_polling.reg(xp_stop_polling.rar - 0,48 kb)
Понякога устройствата, използващи LPT порта, работят нестабилно под WinXP. Такива неизправности могат да бъдат причинени от подсистемата Plug-and-Play (PnP) в Windows, която периодично анкетира LPT, за да открие свързани устройства. Такава анкета се извършва при стартиране на системата, но може да се случи и по време на работа. За съжаление, драйверът DLportIO.sys и други опции на драйвера не блокират достъпа до LPT от други програми при работа с клиентския порт на този драйвер и PnP подсистемата е сигурна, че портът не е зает, адресира го и нарушава работата на външни устройства. REG файлът се използва за отстраняване на проблема. xp_stop_polling.reg... Този файл записва ключ в системния регистър на Windows, който забранява такава анкета, докато системата работи.
В допълнение към инсталирането на драйвера и ограничаването на едновременния достъп до порта за програми, за да се осигури хардуерна съвместимост и нормална работа на оборудването с LPT порт, е необходимо да се зададе в BIOS правилен адреси режим на работа на порта(„Нормално“, SPP или EPP, но не ECP).
Следните параметри подлежат на конфигуриране чрез BIOS Setup:
Базов адрес, който може да бъде 378h, 278h и 3BCh. По време на инициализацията BIOS проверява за наличието на портове по адреси в този ред и съответно присвоява логическите имена LPT1, LPT2, LPT3 на откритите портове. Адресът 3BCh има порт адаптер, разположен на платката MDA или HGC (предшественици на съвременните графични карти). Повечето портове са конфигурирани да адресират 378h по подразбиране и могат да бъдат превключени на 278h.
Използваната линия за заявка за прекъсване за LPT1 обикновено е IRQ7, за LPT2 - IRQ5. Много "настолни" приложения не използват прекъсвания на принтера и този оскъден компютърен ресурс може да бъде запазен. Въпреки това, когато се използват високоскоростни режими ECP (Fast Centronics), работата при прекъсвания може значително да подобри производителността и да намали натоварването на процесора.
В същото време режимът ECP не може да се използва с устройства, които изискват стриктно време (програмисти и JTAG интерфейси).
В заключение, малко за терминологията:
. SPP(Стандартен паралелен порт). Често, за по-лесно разбиране, в BIOS "се обозначава с термина" Нормално".
. ЕНП(Подобрен паралелен порт) е високоскоростна двупосочна версия на интерфейса. Променено предназначението на някои сигнали, въведена възможност за адресиране на множество логически устройства и 8-битов вход на данни, 16-байтов хардуерен FIFO буфер. Максималният обменен курс е до 2 Mb / s.
. ECP(Enhanced Capability Port) е интелигентна опция за EPP. Въведена е възможността за разделяне на предаваната информация на команди и данни, поддръжка на DMA и компресиране на предаваните данни чрез метода RLE (Run-Length Encoding - кодиране на повтарящи се серии).
И така, нека разгледаме следната опция за работа с I / O портове в Windows NT. Тази "опция" ще бъде специален драйвер GiveIO.sysкоето позволява на приложението, което го е стартирало, да работи свободно на всякакви портове. Пише този шофьор Дейл РобъртсБог знае кога, но не е загубил своята актуалност досега.
Ще ви кажа накратко как работи: в началото на нашата програма, за да комуникирате с портове, трябва да се свържете с драйвера GiveIO.sys... По този начин той ще зададе системната растерна карта на I/O Permission Map за нашето приложение, така че да му бъде разрешен директен достъп до всякакви портове. Карта на разрешения за вход/изходе неразделна част от системата за защита на вход/изход на Windows NT. Това е растерна карта, всеки бит от която съответства на I/O порт. Ако бит = 1, тогава достъпът до порта е затворен, ако 0, значи е отворен. За всяко потребителско приложение всички битове са настроени на 1 и следователно не можем директно да се намесваме в порта. GiveIO.sys нагло "вписва" в този масив и поставя 0 навсякъде - т.е. получаваме възможност за достъп до всеки порт от приложението.
Първо изтеглете архива с драйвера и инсталационния файл:
Сега трябва да се регистрираме и да инсталираме драйвера в системата. За да направите това, трябва да извършите редица операции. Първо копирайте файла с драйвера GIVEIO.sysв папката C: \ Windows \ system32 \ драйвери \ ако, разбира се, системата е инсталирана на диска С:\и не сте променили пътищата за инсталиране на Windows.
Натиснете да... В този случай ще получите съобщение за успешното въвеждане на информация в регистъра. Можете да се убедите в това. В редактора на системния регистър regedit.exeв клона HKEY_LOCAL_MACHINE \ System \ CurrentControlSet \ Services \ giveioможете да видите следното:
За да влязат в сила направените от нас промени, е наложително да РЕСТАРТирате КОМПЮТЪРА.
Време е да започнете да програмирате. В кода на нашата програма Port.exe(вижте) ще направим някои промени, които ще му позволят достъп до портове не само в Windows 9x, както беше преди, но и в Windows NT. Полученият код ще изглежда така:
#include "iostream.h" #include "conio.h" #include "stdlib.h" #include "windows.h" int main () (int Address = 888; cout<<"Test LPT port with GiveIO.sys"< Всичко. Компилираме, стартираме. Щракнете върху 1-0: всичко трябва да работи. Ако съобщението се появи Грешка! Не мога да отворя драйвера! Натиснете произволен клавиш, за да излезете..., тогава инсталирането на драйвера е неуспешно и трябва да се инсталира отново. Благодарение на giveio.sysСледните асемблерни букви също ще работят успешно: Asm (mov dx, 378h mov al, 1 out dx, al) © Дмитрий Иванов
2005-2006