Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на языке Pascal


Информационный Канал Subscribe.Ru


RusFAQ.ru: Программирование на языке Pascal

Выпуск № 074
от 29.12.2002, 08:10

Администратор:
Имя: Sensey
URL: Информационный ресурс
ICQ: 105679124
Украина, Харьков
О рассылке:
Задано вопросов: 129
Отправлено ответов: 369
Активность: 286.0 %
[Задать вопрос >>][Регистрация эксперта >>]
[Поиск в базе][Обсудить на форуме]


 Список экспертов, ответы которых опубликованы в данном выпуске

X-RayMan
Статус: Начальный
Общий рейтинг: 143.75
[Подробней >>]
Vadim
Статус: Доверительный
Общий рейтинг: 143.75
[Подробней >>]


 Краткий перечень вопросов

Вопрос № 125. Как подать управляющий сигнал в LPT - порт ... (ответов: 1)
Вопрос № 126. Под подачей управляющего сигнала я имею в виду как аппаратно подать сигнал в LPT- порт,на конкретные... (ответов: 2)

Вопросов: 2, ответов: 3


 Вопрос № 125

Как подать управляющий сигнал в LPT - порт



Вопрос отправлен: 25.12.2002, 23:26
Отправитель: Константин (prime@udm.net)

[Следующий вопрос >>] [Список вопросов]

Отвечает X-RayMan

Доброго времени суток, Константин!
Что ты имеешь ввиду под управляющим сигналом? Вообще приемотправка в порты осуществляется при помощи массива портов - port[№ порта].
Например:
port[$378]:=32767; - посылает в регистр данных lpt1 число 32767
a:=port[$37A]; - считывает данные регистра управления lpt1.

Ответ отправлен: 26.12.2002, 00:29
Отправитель: X-RayMan


 Вопрос № 126

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



Вопрос отправлен: 26.12.2002, 06:43
Отправитель: Константин (prime@udm.net)

[Следующий вопрос >>] [Список вопросов]

Отвечает Vadim

Доброе время суток, Константин!
Может быть мой ответ тебя разочарует, т.к. здесь уже были претензии по этому поводу :)), но тем не менее.
Зайди на сайт pascal.sources.ru, там много исходников, в том числе и по работе с портами и плюс статеечки. Лучшего ответа, чем в исходниках, все равно не найти, т.к. требуется описание портов, описание разъема LPT и т.п. А в исходнике ты все наглядно увидишь.
:))

Ответ отправлен: 26.12.2002, 09:28
Отправитель: Vadim


Отвечает X-RayMan

Доброго времени суток, Константин!
Стандартный lpt-порт "общается" с компом через три регистра: регистр данных, статуса и управления. Соответственно их адреса отличаются на 1. Если lpt-порт висит на порту 378h, это значит его регистр данных по этому адресу. Регистры статуса и управления соответственно 379h и 37Ah. Если режим порта стандартный, двунаправленый (кажись SPP или bi-directional), то 5-ый бит регистра управления отвечает за то, принимает порт данные, или посылает. 1 в этом бите - порт посылает данные, 0 - принимает.
Т.е. если надо послать данные:
...
uses crt;
...
a:=port[$37A]; { текущее значение регистра управления }
a:=a or 32; { делаем возможной запись в порт }
port[$37A]:=a; { отсылаем измененные данные }
{ и потом данные в регистр данных }
for i:=1 to 10 do
begin
port[$378]:=i; { посылаем данные в порт }
delay(1000);
end;
...
Соответственно получаем на 2-9 ногах порта сигналы, которые посылали. 2 нога - младший бит, 9 - старший.
Для ESP режима это (насколько я помню) катит, но для ECP - нет.
P.S. У меня где-то было описание паралельных портов во всех режимах, распайки, и т.д. Если надо - пиши, поищу.

Ответ отправлен: 27.12.2002, 00:58
Отправитель: X-RayMan



Форма отправки вопроса

Внимание!
Форма может работать некорректно в почтовых программах "Microsoft Outlook" и "Microsoft Outlook Express". В программе The Bat! подобные формы не работают вообще!
После нажатия на кнопку "Отправить", будет открыто второе окно. Заметьте, что в некоторых браузерах могут стоять запреты на открытие других окон, а также "чрезмерное" кэширование данных, при этом факт отправки Вашего вопроса стоит под сомнением.
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+ или отправлять вопросы с сайта по адресу: http://rusfaq.ru/cgi-bin/Message.cgi.

© 2002 Команда RusFAQ.ru.

 Персональные данные

Ваше имя:

Ваш e-mail:

Опубликовать мой e-mail в рассылке


 Вопрос и дополнение

Ваш вопрос:


Приложение (если необходимо):


Получить ответов:


 Выбор рассылки

Программисту
Assembler (40)
C / C++ (29)
Perl (5)
Delphi (22)
Pascal (23)
Basic / VBA (11)
Java / JavaScript (7)
PHP (4)
MySQL / MSSQL (5)
Пользователю
Windows 95/98/Me (32)
Windows NT/2000/XP (28)
"Железо" (31)
Поиск информации (13)
Администратору
Windows NT/2000/XP (11)
Linux / Unix (14)
Юристу
Гражданское право (7)
Семейное право (3)
Трудовое право (4)
КоАП (2)

Отправить вопрос всем экспертам выбранной рассылки.




Яндекс цитирования

© 2002 Россия, Москва. Авторское право: RusFAQ.ru

http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное