Железо ПК
Для начинающих пользователейДля любопытных пользователей
Для продвинутых пользователей
Трюки
Базовые операции с системной платойНастройка системной платы
Процессор
Память
Жесткие диски
Производительность жестких дисков
Видео
Устройства ввода/вывода
Загрузка
Настройка нового компьютера
Аппаратные интерфейсы ПК
ВведениеПараллельный интерфейс— LPT-порт
Последовательный интерфейс — СОМ-порт
Беспроводные интерфейсы
Последовательные шины USB и FireWire
Шина SCSI
Шины и карты расширения
Интерфейсы электронной памяти
Специализированные интерфейсы периферийных устройств
Интерфейсы устройств хранения
Интерфейсы компьютерных сетей
Вспомогательные последовательные интерфейсы и шины
Архитектурные компоненты IBM PC-совместимого компьютера
Интерфейсы питания, заземление и гальваническая развязка
Архитектурные компоненты IBM PC-совместимого компьютера
Данные помещаются в выходной регистр, и, дождавшись готовности принтера (снятия сигнала Busy), формируется строб.
♦
АН = Olh — инициализация интерфейса и принтера (установка исходных уров¬ней управляющих сигналов, формирование импульса lnit#, запрет аппаратных прерываний и переключение на вывод двунаправленного интерфейса).
♦
АН = 02h — опрос состояния принтера (чтение регистра состояния порта).
При возврате регистр АН содержит байт состояния, который собирается из бит регистра состояния SR [7:3] и программно формируемого флага тайм-аута. Биты 6 и 3 относительно байта, считанного из регистра состояния, инвертированы. Назна¬чение бит байта состояния:
♦
бит 7 — не занято (сигнал Busy); нулевое значение означает, что принтер занят (буфер полон или состояние Off-Line, или ошибка);
♦
бит 6 — подтверждение (сигнал Ack#); единичное значение означает, что прин¬тер подключен;
494
Глава 12. Архитектурные компоненты IBM PC-совместимого компьютера
♦
бит 5 — конец бумаги (сигнал PaperEnd);
♦
бит 4 — принтер готов (сигнал Select); нулевое значение означает, что принтер в состоянии Off-Line;
♦
бит 3 — ошибка принтера (сигнал Error*); единичное значение соответствует ошибке;
♦
биты 2:1=00 (не используются);
♦
бит 0 — флаг тайм-аута, устанавливается при неудачной попытке вывода сим¬вола, если сигнал Busy не снимается в течение времени, определенного для дан¬ного порта в ячейках тайм-аута (в BIOS Data Area); в этом случае согласно протоколу Centronics строб данных не вырабатывается.
Перехват прерывания Int 17h является удобным способом внедрения собствен¬ных драйверов принтера. Потребность в них может возникать при подключении к порту принтера с интерфейсом ИPNP или необходимости перекодировки симво¬лов. Если разрабатываемый драйвер предназначен не только для перекодировки, но и изменения протокола (через Int 17h можно организовать вывод через LPT-порт по протоколу ИPNP и даже через СОМ-порт), следует внимательно отнес¬тись к битам возвращаемого байта состояния.