Андрей Смирнов
Время чтения: ~21 мин.
Просмотров: 1

Как узнать порт подключенного принтера и какой выбрать при добавлении нового

Резюме | English version

Назначение: Автоматическое и ручное управление устройствами, подключенными к LPT-порту (до 12 выходов). Управление через COM порт (до 32 выходов).

Возможности:

Управление выходами по заранее заданному сценарию (скрипту).

Светомузыка через LPT-порт (суммарный звук системы, Winamp, AIMP2, WMP).

Интерактивное управление выходами LPT порта с помощью клавиатуры или мыши.

Операционная система: Windows 98/NT/ME/XP/2000/Vista/7/8/10Платформа: 32/64 бит, (x86/x64)

Особенности: LPT порт должен быть встроен в материнскую плату или PCI-карту.

Переходники USB-LPT не поддерживаются.

Управление выходами по заранее заданному сценарию (скрипту)

Программа управляет выходами LPT порта компьютера в соответствии с заранее заданным
сценарием. В версиях, начиная с 0.2.9 есть возможность управления устройствами через COM порт (или USB-COM) с управлением до 32 выходов.Сценарий (скрипт) представляет собой текстовый файл (ASCII или Unicode),
в котором последовательно записаны управляющие команды и значения, которые следует
вывести в порт.
Программа идеально подходит для управления панелью
из двенадцати светодиодов, непосредственно подключенных
к порту.

Кроме того, благодаря WndLpt LPT порт может быть использован
для управления шаговым двигателем, блоками реле, неответственными процессами, которые
управляются дискретными сигналами.

Светомузыка через LPT-порт

К LPT-порту подключены 8 или 12 светодиодов?

— В таком случае легким движением руки WndLpt превращается … в светомузыкальюную установку. В этом режиме программа записывает звук с выбранного источника звуковой карты и превращает его в светомузыку. Рекомендуется выбирать источник «Стерео микшер» или «Моно выход».

Вам по душе плагины к плеерам Winamp/AIMP2/WMP?

— Да, WndLpt умеет работать как плагин визуализации для трех популярнейших плееров Winamp, AIMP2, WMP! При этом светомузыка может работать как от звука плеера, так и от любого доступного источника звуковой карты.

Интерактивное управление выходами LPT порта с помощью клавиатуры или мыши

— На вкладке «Manual» изображена схема клавиатуры; на ней отмечены кнопки, которыми можно пользоваться для управления светодиодами. Впрочем, нажимать на них можно и мышью.

— На вкладке «Pins» находятся 12 флажков (Out pins), соответствующих 12-ти выходным пинам LPT-порта. Кроме того присутствуют 5 дополнительных флажка (Input pins) не доступных для изменения. Они являются индикаторами логического уровня, подаваемого на пять входных пинов LPT порта. Правее изображен и сам порт. Красным цветом показаны пины, на которые подано напряжение соответствующее уровню логической единицы. Синим — соответствующее уровню логического нуля. Бледным цветом отображены входные пины; когда к ним ничего не подключено — они находятся в состоянии логической единицы. Белым цветом показаны «общие» пины.

Состояние выходных пинов можно менять кликая мышкой либо по флажкам, либо прямо по пинам схематично изображенного LPT порта.

Развитие

Развитие принтерного порта подхватили быстро. Компании одна за другой начали реализовывать свои версии. Стали появляться плоские варианты на большое количество пинов. Dataproducts работала с интерфейсом, разработав DC-37, который относился к хосту, и 50-контактный порт, подключаемый к принтеру.

Dataproducts создала сразу несколько вариантов. Параллельное соединение можно было реализовать на коротких расстояниях до 15 метров, а для длинного соединения — до 150 метров. Прослужил этот интерфейс долго. Аж до 1990-х годов многие производители использовали его как опцию.

Американская компания IBM также решила сделать взнос в создание параллельного порта компьютера. В момент выхода её первого персонального компьютера можно было ознакомиться с модификацией Centronics. Интересно, что для многих пользователей сразу поставили условие. Лишь переработанные принтеры от Epson, которые обзавелись логотипом IBM, могли функционировать с этим интерфейсом.

Компания потрудилась над стандартизацией кабеля формата DB25F. После чего производители принтеров начали реализовывать стандарт в своих моделях. А в начале 90-х популярный порт Centronics стали менять на IEEE 1284.

Ссылки

FAQ

Q> Зачем использовать скрипты/сценарии на особом языке программирования когда
я могу написать все нужные эффекты на моем любимом Бейсике/Паскале/Делфи/Си/Java
?

A> Скрипт пишется на языке специально предназначенном для данной задачи, поэтому
в тексте скрипта содержится информация только о том как управлять сигналами и более
ничего лишнего. Кроме того, особый синтаксис позволяет записывать команды в форме
наиболее удобной для восприятия — скрипт нагляден. В конечном счете, экономится
время необходимое на разработку нового алгоритма управления сигналами.

Q> Какие-то непонятные эти скрипты, нельзя ли чего попроще?

A> Читаем инструкцию «Стратегия скриптов WndLpt»

Описание DB 25 (LPT)

штекер DB 25 (LPT)

гнездо DB 25 (LPT)

Параллельный порт — тип интерфейса, разработанный для компьютеров (персональных и других) для подключения различных периферийных устройств. В вычислительной технике параллельный порт является физической реализацией принципа параллельного соединения. Он также известен как принтерный порт или порт Centronics. Стандарт IEEE 1284 определяет двунаправленный вариант порта, который позволяет одновременно передавать и принимать биты данных.

До появления USB параллельный интерфейс был адаптирован помимо принтеров к большому числу периферийных устройств. Вероятно, одним из первых таких устройств были электронные ключи для защиты программного обеспечения от копирования. Вскоре параллельный интерфейс нашёл применение в накопителях на гибких магнитных дисках Iomega Zip и сканерах, за которыми последовали и другие устройства: модемы, звуковые карты, веб-камеры, геймпады, джойстики, внешние жёсткие диски и CD-диски. Появились адаптеры для подключения SCSI-устройств через параллельный интерфейс. Могли подключаться параллельно и другие устройства, такие как EPROM и аппаратные контроллеры.

Для потребителей интерфейс USB, а в некоторых случаях Ethernet, эффективно заменили параллельный порт принтера. Многие производители персональных компьютеров и ноутбуков рассматривают параллельный порт как устаревшее наследие прошлого и больше не поддерживают параллельный интерфейс. Руководящие принципы для программы Windows Logo фирмы Microsoft «настоятельно рекомендуют» разработчикам систем воздерживаться от применения параллельных портов. Разработаны и доступны адаптеры «USB-параллельный интерфейс», которые позволяют подключать принтеры с параллельным интерфейсом к USB портам.

Современность

Сейчас соединение через COM-порт полностью вытеснено более современным методом, который не требует особых знаний для реализации, а именно посредством USB-порта. Этот метод лишен всех недостатков, упомянутых ранее. Однако современные стандарты совместимости соединения всевозможного GPS-оборудования и весьма разнородного программного обеспечения сформировались довольно давно вокруг концепции COM-портов, ставших на текущий момент архаичными.

Это сопряжено с тем, что изначально практически любое оборудование, в том числе и GPS, было внешним, а его соединение с компьютером производилось посредством серийного кабеля, подключенного к одному из аппаратных портов. От пользователя в процессе настройки требовалось правильно подобрать номер порта и скорость трансляции данных по нему. В то время возник основной стандарт передачи данных от GPS-приемника к программе, который теперь называется NMEA-0183. Фактически данный стандарт предписывает всем разработчикам даже современнейшей аппаратуры и программного обеспечения обмениваться данными посредством COM-портов. И все это в условиях того, что на современных компьютерах, а также на КПК, уже давно главным является стандарт USB. А еще одна особенность состоит в том, что в последнее время GPS-приемники все чаще стали устанавливать непосредственно внутрь корпуса устройства, то есть между ним и основным девайсом вообще отсутствует какой-либо соединительный кабель.

Возможности

Параллельный интерфейс можно использовать в нескольких режимах. Например, SPP – это стандартная реализация одностороннего порта, который совместим с Centronics. Nibble Mode – это режим двунаправленной передачи данных. Он работает благодаря управляющим линиям. В свое время был единственным вариантом, благодаря которому Centronics передавал двунаправленно информацию.

Byte Mode – еще один вариант двусторонней синхронизации, который не стал популярным, но все равно использовался с некоторыми контроллерами. EPP – режим работы от ведущих производителей Intel, Xircom и Zenith Data Systems, также занимался двусторонней передачей информации со скоростью 2 Мбайт/с.

И последний режим — ЕСР. Над ним работали компании Microsoft и Hewlett-Packard. Появилось аппаратное сжатие файлов, буфер, работа в прямом доступе к памяти.

Что такое LPT

Люди, не имеющие опыта работы на станках с ЧПУ или с компьютерными технологиями, часто не знают, что такое LPT-порт и как им пользоваться. LPT-порт, известный также под названиями параллельный порт и порт принтера, – разъем на компьютерном устройстве, предназначенный для подключения различных устройств. Данный порт выполняется по международному стандарту, поэтому является универсальным.

С его помощью к компьютеру можно подключить:

  • принтер;
  • сканер;
  • внешние устройства для хранения данных.

Перечисленные варианты входят в число самых популярных. Но LPT-порт используется и для других целей. Благодаря его особенностям можно синхронизировать работу двух компьютеров, настроить телеуправление, или управление станочным оборудованием. Стандарт порта выполнен по интерфейсу Centronics. На современных устройствах имеются расширенные варианты ECP и EPP.

Но ввиду большой популярности USB-портов актуальность LPT постепенно снижается.

Режимы работы LPT-порта

Существует несколько режимов работы LPT-порта, которые позволяет использовать стандарт IEEE 1284:

  • SPP (Standard Parallel Port) — представляет собой однонаправленный порт, который отлично совмещается в работе с интерфейсом Centronics.
  • NibbleMode — использование этого порта является возможностью организации двунаправленного обмена данными в режиме SPP, при помощи использования управляющих линий (4 бит) для передачи данных от периферийного устройства к контроллеру.
  • Byte Mode— режим для двустороннего обмена данными, который используется довольно редко. Его применяли в некоторых старых контроллерах до принятия стандарта IEEE 1284.
  • EPP (Enhanced Parallel Port) — над разработкой этого порта работали сразу несколько известных компаний: Intel, Xircom и Zenith Data Systems. По своей работе это двунаправленный порт, который передает данные со скоростью до 2 Мбайт/сек.
  • ЕСР (Extended Capabilities Port) — этот вариант порта появился в результате работы двух компаний: HP и Microsoft. У него появились уже дополнительные возможности, например, возможность аппаратного сжатия данных, присутствие буфера и способность работать в режиме DMA. Также поддерживает работу двунаправленного обмена данными (симметричного), скорость которого может быть до 2,5 Мбайт/с.

Принцип работы последовательного порта и его отличие от параллельного

В отличие от параллельного (LPT) порта, последовательный порт передает данные побитно по одной-единственной линии, а не по нескольким одновременно. Последовательности битов группируются в серии данных, начинающиеся стартовым битом и кончающиеся стоповым битом, а также битами контроля четности, использующимися для контроля ошибок. Отсюда происходит и еще одно английское название, которое имеет последовательный порт – Serial Port.

Последовательный порт имеет две линии, по которым передаются собственно данные – это линии для передачи данных от терминала (ПК) к коммуникационному устройству и обратно. Кроме того, существует еще несколько управляющих линий. Обслуживает Serial port специальная микросхема UART, которая способна поддерживать относительно высокую скорость передачи данных, достигающую 115 000 бод (байт/с). Правда, стоит отметить, что реальная скорость обмена информацией зависит от обоих коммуникационных устройств. Кроме того, в функции контроллера UART входит преобразование параллельного кода в последовательный и обратно.

Порт использует электрические сигналы сравнительного высокого напряжения – до +15 B и -15 В. Уровень логического нуля последовательного порта составляет +12 В, а логической единицы – -12 В. Такой большой перепад напряжений позволяет гарантировать высокую степень помехоустойчивости передаваемых данных. С другой стороны, используемые в Serial port высокие напряжения требуют сложных схемотехнических решений. Это обстоятельство также поспособствовало снижению популярности порта.

Особенности USB подключения

Подключаясь через USB интерфейс, будьте готовы к проблемам со связью между оргтехникой и компьютером из-за написанных ниже причин.

  1. Некоторые пользователи подсоединяют технику через USB-удлинитель. Для хорошего качества связи лучше использовать стандартный кабель небольшой длины.
  2. Соединение не через разъем на материнке. Подсоединять оборудование надо к USB-гнездам, расположенным на обратной стороне системника. Гнезда на лицевой стороне соединены с материнской платой через дополнительный шлейф, что ухудшает передаваемый сигнал.

Для чего нужен WSD-порт принтера и как его использовать

Монитор портов Web Services For Devices осуществляет четыре основные функции. Это:

  1. Обнаружение и подключение к устройствам для печати, находящимся в сети, с помощью WSD. Ранее используемый протокол TPI осуществлял подключение, путём ручного ввода IP-адреса. Иногда это приводило к тому, что адрес сбивался и связь между клиентами сети терялась. Web Services For Devices находит устройства и соединяется с ними полностью в автоматическом режиме. При этом каждый раз, при отправке задания, корректность IP-адреса проверяется. Это обеспечивает постоянную связь между клиентами сети.
  2. Отправка задания печати. Протокол TPI отправляет данные в специальный порт 9100. При этом устройство, которое получило этот сигнал, должно отправить обратный отклик. Такой способ передачи не позволяет в полной мере оценить, получил ли принтер задание, в каком он находится состоянии и от кого именно это задание пришло. Web Services For Devices работает по-другому. Сначала он отправляет запрос о том, что есть задание, которое необходимо выполнить. После чего он получает обратный ответ. Если устройство готово к работе, протокол отправляет документы на печать.
  3. Постоянная проверка состояния и конфигурации. Протокол получает непрерывную информацию о том, в каком состоянии находится конкретный принтер. Например, есть ли бумага или тонер в картридже.
  4. Ответ на все запросы подключённых устройств.

Чтобы включить эту функцию необходимо:

  • зайти в «Сеть», затем перейти во вкладку «Службы» и найти там WSD;
  • в появившемся окне следует включить WSD;
  • выбрать подключение к принтеру;
  • применить и сохранить все внесённые изменения и закрыть окно.

Протокол WSD является универсальным. Он работает не только с принтерами, но и с другими клиентами, находящимися в сети. Web Services For Devices не просто отслеживает их состояние, но и производит необходимые настройки и изменения в их работе.

Распиновка COM порта RS232


Правильная распиновка СOM-порта RS232

Распиновка COM порта — RS232 интерфейс был сконструирован более пятидесяти лет тому назад. А после этого был стандартизирован. В различных периодах усовершенствования технических возможностей компьютеров успешно применялся для подключения к телефонной линии с помощью модема. На данный момент такой интерфейс считается как уже вчерашний день. В основном его невостребованность заключается слишком низким быстродействием. Так как там задействованы линейные сигналы в однофазной форме. То-есть не дифференциальные.


Наружный вид девяти-контактного коннектора RS232

В современных устройствах на смену интерфейсу RS-232 пришел новый, отличающейся существенным быстродействием — USB. Тем не менее, и до настоящего времени их можно встретить в действительности огромное количество в различных аппаратах. Последовательный порт, цоколевка которого описана ниже, очень востребован в изделиях предназначенных для промышленных целей, а также для медицинского оборудования.

В бытовых условиях необходимость в применении стыковочных проводов для соединения с COM-портом в большинстве случаев появляется в определенные моменты. Например: когда возникает необходимость работы с периферией ранних лет изготовления, и требующих создать взаимосвязь с персональным компьютером. Помимо этого, его можно часто обнаружить в девайсах для загрузки программы в микроконтроллер.

Характерные особенности порта

Что касается самой контактной колодки интерфейса RS-232 и ее кабельной составляющей, то они собраны на 9-пиновом разъеме D-Sub. Штыревые контакты размещенные в двухрядном варианте, для обеспечения точности подсоединения вилки к разъему, форма колодки имеет несимметричную конструкцию. Все контактные штырьки обозначены номерами, подробнее как делается распиновка COM порта обозначено в приведенной ниже таблице.

Таблица

Номер контакта Назначение Обозначение
1 Активная несущая DCD
2 Прием компьютером RXD
3 Передача компьютером TXD
4 Готовность к обмену со стороны приемника DTR
5 Земля GND
6 Готовность к обмену со стороны источника DSR
7 Запрос на передачу RTS
8 Готовность к передаче CTS
9 Сигнал вызова RI

Множество устройств во время своей работы задействует не все контакты, а только необходимую им часть, поэтому исходя из этого обусловливается реальная распиновка COM-порта. Необходимая информация об это имеется прилагаемой документации к соответствующему оборудованию.

Соединительный кабель

Если нет необходимости задействования все контактной группы, то в таком случае можно использовать обычную витую пару. При этом ее отдельные провода припаиваются к вилке и контактам в колодке разъема. Ввиду ограниченного пространства в самой колодке, в местах пайки провода желательно помещать в кембрик.

Наибольшее расстояние связи относительно стандарта должна быть более 15 метров. Если требуется ее увеличение, тогда для этого нужно использовать экранированный провод.

Настройка LPT-порта

Настройка LPT-порта происходит в два этапа: предварительная настройка аппаратных средств порта и текущее переключение режимов порта прикладным ПО.

Способ и возможности настройки LPT-порта зависят от его местоположения и вида исполнения. Порты, расположенные на картах расширения, обычно конфигурируются через перемычки на самих платах, а порты, размещенные напрямую на материнской плате компьютера, — через настройки BIOS.

Выборы режимов напрямую или через BIOS сами по себе не приводят к повышению скорости обмена данными между ПК и периферией, а служат для возможности выбора драйвером оптимального режима работы. Но драйверы современных устройств сами автоматически выставляют наиболее эффективные режимы работы параллельного порта, поэтому ручная настройка в большинстве случаев уже не требуется.

Физический интерфейс

Интерфейс разъёма

Базовый интерфейс Centronics является однонаправленным параллельным интерфейсом, содержит характерные для такого интерфейса сигнальные линии (8 для передачи данных, строб, линии состояния устройства).

Данные передаются в одну сторону: от компьютера к внешнему устройству. Но полностью однонаправленным его назвать нельзя. Так, 5 обратных линий используются для контроля над состоянием устройства. Centronics позволяет подключать одно устройство, поэтому для совместного очерёдного использования нескольких устройств требуется дополнительно применять селектор.

Скорость передачи данных может варьироваться и достигать 1,2 Мбит/с.

Упрощённая таблица сигналов интерфейса Centronics
Контакты DB-25 IEEE 1284-A Контакты Centronics IEEE 1284-B Обозначение Примечание Функция
1 1 Strobe Маркер цикла передачи (выход) Управление
2 2 Data 0 Сигнал 0 (выход) Данные
3 3 Data 1 Сигнал 1 (выход) Данные
4 4 Data 2 Сигнал 2 (выход) Данные
5 5 Data 3 Сигнал 3 (выход) Данные
6 6 Data 4 Сигнал 4 (выход) Данные
7 7 Data 5 Сигнал 5 (выход) Данные
8 8 Data 6 Сигнал 6 (выход) Данные
9 9 Data 7 Сигнал 7 (выход) Данные
10 10 Acknowledge Готовность принять (вход) Состояние
11 11 Busy Занят (вход) Состояние
12 12 Paper End Нет бумаги (вход) Состояние
13 13 Select Выбор (вход) Состояние
14 14 Auto Feed Автоподача (выход) Управление
15 32 Error Ошибка (вход) Состояние
16 31 Init Инициализация (выход) Управление
17 36 Select In Управление печатью (выход) Управление
18-25 16-17, 19-30 GND Общий Земля

Принцип работы

Параллельный порт (LPT) персонального компьютера представляет собой внешнюю шину, входящую в подсистему ввода-вывода. К параллельному порту можно подключать различные периферийные устройства, хотя в большинстве случаев такими устройствами являются принтеры или плоттеры.

Особенностью параллельного порта является одновременная передача сигналов по нескольким проводникам. Параллельный порт имеет несколько режимов работы, при которых информация может передаваться как в одном направлении, так и в двух направлениях с разными скоростями. За время существования параллельного порта было разработано несколько стандартов его работы, для выбора которых и служит опция Parallel port mode.

Режимом по умолчанию является вариант Normal (SPP, стандартный параллельный порт). Этот протокол передачи данных является наиболее старым и позволяет подключать к параллельному порту практически любые устройства.

Хотя первоначально протокол SPP поддерживал передачу данных лишь в одном направлении – к периферийному устройству, тем не менее, более поздняя версия протокола позволяет порту как передавать, так и принимать данные. Выходная скорость порта в режиме SPP составляет 150 КБ/c, а входная скорость, из-за программного ограничения, в несколько раз меньше – 50 КБ/c.

Для замены низкоскоростного стандартного параллельного порта компаниями Microsoft и Hewlett-Packard был разработан  усовершенствованный ECP (Extended Capabilities Port). Порт ECP способен работать в режиме FIFO и поддерживает более высокую скорость передачи данных – до 2 МБ/c, как в направлении периферийного устройства, так и в обратную сторону. Также стандарт ECP поддерживает технологию DMA.

Кроме того, был разработан протокол EPP (стандарт IEEE 1284), рассчитанный на работу со стандартным параллельным портом. При этом скорость передачи данных по протоколу EPP также достигает 2 МБ/c, однако, в отличие от ECP передача данных осуществляется ассиметричным способом.

Разъёмы

Кабельный 36-контактный разъём Centronics для подключения внешнего устройства (IEEE 1284-B)

25-контактный разъём DB-25 female «гнездо/мама», используемый как LPT-порт на персональных компьютерах (IEEE 1284-A)

Порт на стороне управляющего устройства (компьютера) имеет 25-контактный 2-рядный разъём DB-25-female («гнездо/мама») (IEEE 1284-A). Не путать с аналогичным male-разъёмом («штекер/папа»), который устанавливался на старых компьютерах и представляет собой 25-пиновый COM-порт. На периферийных устройствах обычно используется 36-контактный микроразъём ленточного типа Centronics (IEEE 1284-B), поэтому кабели для подключения периферийных устройств к компьютеру по параллельному порту обычно выполняются с 25-контактным разъёмом DB-25-male («штекер/папа») на одной стороне и 36-контактным IEEE 1284-B на другой (AB-кабель). Изредка применяется AC-кабель с 36-контактным разъёмом MiniCentronics (IEEE 1284-C).

Существуют также CC-кабели с разъёмами MiniCentronics на обоих концах, предназначенные для подключения приборов в стандарте IEEE 1284-II, который применяется редко.

Длина соединительного кабеля не должна превышать 3 метров. Конструкция кабеля: витые пары в общем экране, либо витые пары в индивидуальных экранах. Изредка используются ленточные кабели.

Для подключения сканера и некоторых других устройств используется кабель, у которого вместо разъёма (IEEE 1284-B) установлен разъём DB-25-male («штекер/папа»). Обычно сканер оснащается вторым интерфейсом с разъёмом DB-25-female («гнездо/мама») (IEEE 1284-A) для подключения принтера (поскольку обычно компьютер оснащается только одним интерфейсом IEEE 1284). Схемотехника сканера построена таким образом, чтобы при работе с принтером сканер прозрачно передавал данные с одного интерфейса на другой.

3Применение класса .NET для работы с LPT портом

Если мы посмотрим на список экспортируемых функций библиотеки inpout32.dll с помощью замечательного инструмента DLL Export Viewer от NirSoft, то увидим следующую картину:

Список экспортируемых функций библиотеки inpout32.dll

Это список функций, которые мы можем использовать. Фактически все они используются в классе LPT, но реализация скрыта, и из публичных методов пользователю доступны только два метода и одно свойство (они рассматриваются чуть далее).

При инстанцировании класс сам определит, библиотеку какой разрядности ему использовать – inpout32.dll или inpoutx64.dll. Поэтому от пользователя не требуется никаких действий по инициализации или определения разрядности используемой dll. Вы можете сразу записывать или читать из LPT порта. Одно «Но»: если драйвер не установлен, обращение к любому из методов динамической библиотеки вызовет исключение, поэтому рекомендую использовать блоки Try…Catch для перехвата и обработки исключений.

Несколько примеров использования класса LPT.

Для определения, используется ли 64-разрядная версия драйвера (inpoutx64.dll при True) или 32-разрядная (inpout32.dll при False) (на самом деле, это знать не обязательно, класс использует именно ту библиотеку, которая нужна, но вдруг вам для чего-то понадобится это узнать из своей программы):

bool is64bitDriver = LPT.IsX64DriverUsed;

Для записи числа «123» в регистр контроля LPT порта вызовите из своего класса:

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

Для чтения одного байта из регистра данных LPT порта и чтения регистра статуса:

byte b = LPT.Read(currentPort, LPT.Register.DATA);
byte s = LPT.Read(currentPort, LPT.Register.STATUS);

Здесь currentPort – адрес LPT порта. Причём, если у вас интегрированный LPT порт, то его адрес будет, скорее всего, 378h. А если у вас LPT порт на плате расширения, то адрес будет другой, например, D100h или C100h.

Чтобы узнать адрес LPT порта, зайдите в диспетчер устройств Windows, найдите раздел Порты COM и LPT, выберите используемый параллельный порт, и в окне свойств (щёлкнув по нему правой кнопкой мыши) посмотрите, какие ресурсы использует выбранный порт (необходимо брать первое значение из диапазона).

Ресурсы, используемые LPT портом, в диспетчере устройств Windows

Например, в данном случае необходимо использовать номер порта C100.

Порт

Что же такое порт? Это специальный разъем в ПК, который работает как связующее звено разного рода устройств с системой компьютера. Порты условно синонимы разъемам, которые нужны для работы периферийных девайсов, отделенных от архитектуры ПК. К примеру, в противопоставление стоит отметить, что сетевой разъем, или место для подключения чипа и ОЗУ, портом не называется.

Часть портов могут поддерживать горячее подключение и отключение, некоторые нуждаются в том, чтобы предварительно отключить систему, а после подсоединять порт.

Аппаратный порт представлен целым рядом типов. Так, сюда относят параллельный интерфейс, последовательный, USB, PATA/SATA, IEEE 1394, PS/2 и четверку современных видеоинтерфейсов: Display Port, HDMI, VGA, DVI.

Разъёмы

Кабельный 36-контактный разъём Centronics для подключения внешнего устройства (IEEE 1284-B)

25-контактный разъём DB-25 female «гнездо/мама», используемый как LPT-порт на персональных компьютерах (IEEE 1284-A)

Порт на стороне управляющего устройства (компьютера) имеет 25-контактный 2-рядный разъём DB-25-female («гнездо/мама») (IEEE 1284-A). Не путать с аналогичным male-разъёмом («штекер/папа»), который устанавливался на старых компьютерах и представляет собой 25-пиновый COM-порт. На периферийных устройствах обычно используется 36-контактный микроразъём ленточного типа Centronics (IEEE 1284-B), поэтому кабели для подключения периферийных устройств к компьютеру по параллельному порту обычно выполняются с 25-контактным разъёмом DB-25-male («штекер/папа») на одной стороне и 36-контактным IEEE 1284-B на другой (AB-кабель). Изредка применяется AC-кабель с 36-контактным разъёмом MiniCentronics (IEEE 1284-C).

Существуют также CC-кабели с разъёмами MiniCentronics на обоих концах, предназначенные для подключения приборов в стандарте IEEE 1284-II, который применяется редко.

Длина соединительного кабеля не должна превышать 3 метров. Конструкция кабеля: витые пары в общем экране, либо витые пары в индивидуальных экранах. Изредка используются ленточные кабели.

Для подключения сканера и некоторых других устройств используется кабель, у которого вместо разъёма (IEEE 1284-B) установлен разъём DB-25-male («штекер/папа»). Обычно сканер оснащается вторым интерфейсом с разъёмом DB-25-female («гнездо/мама») (IEEE 1284-A) для подключения принтера (поскольку обычно компьютер оснащается только одним интерфейсом IEEE 1284). Схемотехника сканера построена таким образом, чтобы при работе с принтером сканер прозрачно передавал данные с одного интерфейса на другой.

Принцип работы LPT-порта

В простейшей конфигурации, чтобы реализовать принцип работы параллельного интерфейса, хватило бы только одиннадцати проводов, а именно: 1 провод на корпус (масса), 2 провода подтверждения и 8 проводов передачи данных. Но, по общепринятому стандарту IEEE 1284, каждый из восьми проводов передачи (2-9) данных имеет отдельное заземление.

Во время передачи данных оба устройства должны сообщать друг другу сведения о своем состоянии. Это реализуется с помощью контактов 18 и 35, на которые подается напряжение 0 В либо 5 В.

По проводнику 1 передается особый сигнал STROBE, сообщающий, что компьютер установил байт данных на линии и принтер может начинать печать.

По контакту 11 передается компьютеру сигнал BUSY, сообщающий, что устройство выполняет действие (занято), обрабатывая ту информацию, что находится в буфере.

По контактам 12-14 передаются сигналы, сообщающие контрольные сигналы о состоянии принтера и конфликтах в его оборудовании.

По проводнику 12 на ПК передается информация о том, что в принтере нет бумаги. Компьютер реагирует на это передачей сигналов по линиям SELECT и ERROR и останавливает печать.

По проводнику 13 на компьютер передается информация о состоянии принтера — включен и готов или выключен и не готов.

По контакту 14 принтеру передается сигнал об автоматическом переводе строки.

По контакту 31 (16) передается сигнал о переводе принтера в начальное состояние и очищается буфер данных, т. е. все данные стираются из памяти принтера.

По контакту 32 (15) передаются все сигналы об ошибках во время передачи данных. Сигналы, передаваемые по этой линии, влияют на все остальные контакты и могут остановить печать. Например, часто возникающая ошибка принтера – Time Out, возникающая, когда принтер занят однотипной работой с данными и не может передать на ПК через сигнал BUSY, что он не готов к получению новых данных. Через некоторое время по линии ERROR на компьютер передается ошибка Time Out и новые данные не передаются. Иначе, при отсутствии сигнала ERROR, происходила бы дальнейшая передача данных, что привело бы к зависанию всей системы.

По контакту 36 (17) передается информация о готовности принтера к работе, например после устранения ошибки.

Как все это работает?

При том, что среди всех имеющихся COM-портов можно провести автоматический поиск подходящего, процедура такого опроса является довольно ненадежной и достаточно громоздкой. Связано это с тем, что устройства, отображаемые в системе в качестве COM-портов, могут быть довольно разнообразными и не иметь отношения к GPS, они могут совершенно непредсказуемо ответить на такой опрос. К примеру, на КПК бывают порты, сопряженные с внутренним сотовым модемом, с USB, с инфракрасным портом, а также с иными элементами. Обращение к ним программы, предназначенной для работы с конкретным приспособлением, может привести к совершенно непредсказуемой реакции, а также к различным сбоям в работе, что часто становится причиной зависания КПК. Именно поэтому попытка открыть COM-порт может привести к неожиданным ситуациям вплоть до включения Bluetooth или инфракрасного порта. А могут быть и более непонятные случаи.

Рейтинг автора
5
Материал подготовил
Степан Волков
Наш эксперт
Написано статей
141
Ссылка на основную публикацию
Похожие публикации